hInstance und hWnd eines SDL-Fensters herausfinden | OGl + SDL
-
Hi!
Wie kann ich an die hInstance und an die hWnd eines SDL-Fensters heran
kommen? GetActiveWindow ist ja nicht gerade die beste Methode.
Und dann wollte ich noch fragen, ob es irgendwo ein leichtverständlichen
Code gibt, wo SDL und OpenGL genutzt wird.
thx!
mfg olli
-
Die Instance bekommst du über GetModuleHandle(0).
-
siehe auch SDL_syswm.h:
SDL_GetWMInfo(SDL_SysWMinfo *info);relativ neu ist Animation in SDL: OpenGL,
http://linux.oreillynet.com/pub/a/linux/2003/10/23/sdl_anim.html
vielleicht hilft dir das auch weiter,lg,
thomm
-
Hi!
Danke euch!
Habe jetzt ein Beispiel mir für OpenGL geschrieben:#include "sdl\sdl.h" #include "gl\gl.h" #include "gl\glu.h" #ifdef _WIN32 #undef main #endif void OpenGL_Init(int width,int height,int bpp); void Render(); void OpenGL_Init(int width,int height,int bpp) { glClearColor(0.7f,0.7f,1.0f,0.5f); glViewport(0,0,width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f,float(width) / float(height),2.0f,1000.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glShadeModel(GL_SMOOTH); glClearDepth(1.0f); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST); } void Render() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); glTranslatef(0.0f,0.0f,-6.0f); glBegin(GL_QUADS); glColor3f(1.0f,0.0f,0.0f); glVertex3f( 1.0f, 1.0f,0.0f); glColor3f(0.0f,1.0f,0.0f); glVertex3f(-1.0f, 1.0f,0.0f); glColor3f(0.0f,0.0f,1.0f); glVertex3f(-1.0f,-1.0f,0.0f); glColor3f(1.0f,1.0f,0.0f); glVertex3f( 1.0f,-1.0f,0.0f); glEnd(); } int main(void) { int width = 640; int height = 480; int bpp = 32; bool quit = false; SDL_Event Event; SDL_Init(SDL_INIT_VIDEO); SDL_GL_SetAttribute(SDL_GL_RED_SIZE,8); SDL_GL_SetAttribute(SDL_GL_GREEN_SIZE,8); SDL_GL_SetAttribute(SDL_GL_BLUE_SIZE,8); SDL_GL_SetAttribute(SDL_GL_ALPHA_SIZE,8); SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,SDL_TRUE); SDL_GL_SetAttribute(SDL_GL_DEPTH_SIZE,24); SDL_GL_SetAttribute(SDL_GL_STENCIL_SIZE,8); SDL_SetVideoMode(width,height,bpp,SDL_OPENGL); SDL_ShowCursor(true); SDL_WM_SetCaption("OpenGL with SDL",0); OpenGL_Init(width,height,bpp); do { while(SDL_PollEvent(&Event)) { if(Event.type == SDL_QUIT) { quit = true; } } Render(); SDL_GL_SwapBuffers(); }while(!quit); SDL_Quit(); }
Für DevC++ habe ich mal das komplette Projekt mit allen benötigten Dateien hochgeladen:
http://mitglied.lycos.de/thevertex/download.php?c=media/OpenGL.rar (215 KB)
mfg olli