Przepisałem kod z pewnego tutoriala o opengl, zgodnie z ćwiczeniami chciałem trochę pomodyfikować kod probujac zmienić kolor tła, ale nie wiem czemu funkcja nie reaguje na rożne argumenty i cały czas daje czarny. Jakis pomysł?
// Main.cpp #include <SDL.h> #include <SDL_opengles2.h> #include <GLES3/gl3.h> #include <cstdio> #include <cstdlib> const unsigned int DISP_WIDTH = 800; const unsigned int DISP_HEIGHT = 600; int SDL_main(int argc, char *args[]) { // ##### FIXME! ##### SDL_Window *window = NULL; SDL_GLContext context = NULL; if (SDL_Init(SDL_INIT_VIDEO) < 0) { SDL_Log("SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); return 10; } atexit(SDL_Quit); SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK,SDL_GL_CONTEXT_PROFILE_ES); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION,3); SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION,0); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1); window = SDL_CreateWindow("Tut", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, DISP_WIDTH, DISP_HEIGHT, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN); if (!window) { SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error","Couldn't create the main window",NULL); return EXIT_FAILURE; } context = SDL_GL_CreateContext(window); if (!context) { SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_ERROR, "Error", "Coulnd't create an OpenGl context", NULL); return EXIT_FAILURE; } glClearColor(0.5F, 0.0F, 1.0F, 0.5F); // funkcja odpowiedzialna za zmiane koloru tla glClear(GL_COLOR_BUFFER_BIT); SDL_GL_SwapWindow(window); bool quit = false; while (!quit) { SDL_Event event; if (SDL_WaitEvent(&event) != 0) { if (event.type == SDL_QUIT) { quit = true; } } } return EXIT_SUCCESS; }