V
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