Skip to content

Instantly share code, notes, and snippets.

@mortennobel
Created August 7, 2015 20:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mortennobel/5b3b8f80adeaaa83b118 to your computer and use it in GitHub Desktop.
Save mortennobel/5b3b8f80adeaaa83b118 to your computer and use it in GitHub Desktop.
// Example program:
// Using SDL2 to create an application window
#include "SDL.h"
#include <iostream>
#include <ostream>
#include "SDL_opengl.h"
int main(int argc, char* argv[]) {
SDL_Window *window; // Declare a pointer
SDL_Init(SDL_INIT_VIDEO); // Initialize SDL2
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MAJOR_VERSION, 3);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_MINOR_VERSION, 2);
SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK,SDL_GL_CONTEXT_PROFILE_CORE);
// Create an application window with the following settings:
window = SDL_CreateWindow(
"An SDL2 window", // window title
SDL_WINDOWPOS_UNDEFINED, // initial x position
SDL_WINDOWPOS_UNDEFINED, // initial y position
640, // width, in pixels
480, // height, in pixels
SDL_WINDOW_OPENGL // flags - see below
);
// Check that the window was successfully made
if (window == NULL) {
// In the event that the window could not be made...
printf("Could not create window: %s\n", SDL_GetError());
return 1;
}
auto glContext = SDL_GL_CreateContext(window);
std::cout << glGetString(GL_VERSION) <<std::endl;
std::cout << "OpenGL version " << glGetString(GL_VERSION)<<"."<<std::endl;
// The window is open: enter program loop (see SDL_PollEvent)
SDL_Delay(3000); // Pause execution for 3000 milliseconds, for example
SDL_GL_DeleteContext(glContext);
// Close and destroy the window
SDL_DestroyWindow(window);
// Clean up
SDL_Quit();
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment