Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SDL2/SDL.h>
- #include <GL/glew.h>
- #include <GL/glu.h>
- class GL3Engine {
- private:
- SDL_Window* window;
- public:
- bool initialize() {
- SDL_Init (SDL_INIT_VIDEO);
- window = SDL_CreateWindow(
- "Debug",
- SDL_WINDOWPOS_UNDEFINED,
- SDL_WINDOWPOS_UNDEFINED,
- 444,
- 444,
- SDL_WINDOW_OPENGL
- );
- return true;
- }
- void initContext() {
- glewExperimental = GL_TRUE;
- glewInit();
- SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
- SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
- SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
- SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE, 24);
- glEnable (GL_DEPTH_TEST);
- glDepthFunc (GL_LESS);
- glEnable (GL_BLEND);
- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
- glClearColor(0, 0, 0, 1);
- }
- void run() {
- SDL_GLContext gl = SDL_GL_CreateContext(window);
- SDL_Event event;
- initContext();
- while (true) {
- while (SDL_PollEvent(&event))
- switch (event.type) {
- case SDL_KEYDOWN:
- switch (event.key.keysym.sym) {
- case SDLK_LEFT:
- break;
- case SDLK_RIGHT:
- break;
- case SDLK_UP:
- break;
- case SDLK_DOWN:
- break;
- }
- break;
- case SDL_QUIT:
- return;
- break;
- }
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
- SDL_GL_SwapWindow(window);
- }
- SDL_GL_DeleteContext(gl);
- }
- ~GL3Engine() {
- SDL_DestroyWindow(window);
- SDL_Quit();
- }
- };
- int main() {
- GL3Engine e;
- e.initialize();
- e.run();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement