|
Size: 738
Comment: update formatting - enums, structs, the/an
|
Size: 2332
Comment: Code example
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 22: | Line 22: |
| You can add your code example here | #include <SDL2/SDL.h> #include <SDL2/SDL_opengl.h> int main(int argc, char* argv[]){ SDL_Init(SDL_INIT_VIDEO); // Init SDL2 // Create a window. Window mode MUST include SDL_WINDOW_OPENGL for use with OpenGL. SDL_Window *window = SDL_CreateWindow( "SDL2/OpenGL Demo", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_OPENGL|SDL_WINDOW_RESIZABLE ); // Create an OpenGL context associated with the window. SDL_GLContext GLContext = SDL_GL_CreateContext(window); // Now, regular OpenGL functions ... glMatrixMode(GL_PROJECTION|GL_MODELVIEW); glLoadIdentity(); glOrtho(-200,200,200,-200,0,1); // ... can be used alongside SDL2. SDL_Event e; while(e.type!=SDL_QUIT){ // Enter main loop. SDL_PollEvent(&e); // Check for events. glClearColor(0,0,0,1); // Draw with OpenGL. glClear(GL_COLOR_BUFFER_BIT); glRotatef(1.0,0.0,0.0,1.0); glBegin(GL_LINE_LOOP); glColor3f(1.0,0.0,0.0); glVertex2f( 0,100); glColor3f(0.0,1.0,0.0); glVertex2f( 100,-50); glColor3f(1.0,0.0,1.0); glVertex2f(-100,-50); glEnd(); // Swap the window/buffer to display the result. SDL_GL_SwapWindow(window); // Pause briefly before moving on to the next cycle. SDL_Delay(10); } // Once finished with OpenGL functions, the SDL_GLContext can be deleted. SDL_GL_DeleteContext(GLContext); // Done! Close the window, clean-up and exit the program. SDL_DestroyWindow(window); SDL_Quit(); return 0; } |
SDL_GL_CreateContext
Use this function to create an OpenGL context for use with an OpenGL window, and make it current.
Contents
Syntax
SDL_GLContext SDL_GL_CreateContext(SDL_Window* window)
Function Parameters
window |
the window to associate with the context |
Return Value
Returns the OpenGL context associated with window.
Code Examples
#include <SDL2/SDL.h>
#include <SDL2/SDL_opengl.h>
int main(int argc, char* argv[]){
SDL_Init(SDL_INIT_VIDEO); // Init SDL2
// Create a window. Window mode MUST include SDL_WINDOW_OPENGL for use with OpenGL.
SDL_Window *window = SDL_CreateWindow(
"SDL2/OpenGL Demo", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 640, 480, SDL_WINDOW_OPENGL|SDL_WINDOW_RESIZABLE
);
// Create an OpenGL context associated with the window.
SDL_GLContext GLContext = SDL_GL_CreateContext(window);
// Now, regular OpenGL functions ...
glMatrixMode(GL_PROJECTION|GL_MODELVIEW);
glLoadIdentity();
glOrtho(-200,200,200,-200,0,1);
// ... can be used alongside SDL2.
SDL_Event e;
while(e.type!=SDL_QUIT){ // Enter main loop.
SDL_PollEvent(&e); // Check for events.
glClearColor(0,0,0,1); // Draw with OpenGL.
glClear(GL_COLOR_BUFFER_BIT);
glRotatef(1.0,0.0,0.0,1.0);
glBegin(GL_LINE_LOOP);
glColor3f(1.0,0.0,0.0); glVertex2f( 0,100);
glColor3f(0.0,1.0,0.0); glVertex2f( 100,-50);
glColor3f(1.0,0.0,1.0); glVertex2f(-100,-50);
glEnd();
// Swap the window/buffer to display the result.
SDL_GL_SwapWindow(window);
// Pause briefly before moving on to the next cycle.
SDL_Delay(10);
}
// Once finished with OpenGL functions, the SDL_GLContext can be deleted.
SDL_GL_DeleteContext(GLContext);
// Done! Close the window, clean-up and exit the program.
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}
Remarks
You can add useful comments here
