我又回来了,这次需要解决一个小问题。在我的OpenGL/SDL之旅中,我似乎无法解决它。
这个程序会出现一个640x480像素的SDL屏幕,但是里面什么都没有,甚至没有背景,它只是透明的呈现出屏幕后面的内容。我不确定为什么会这样,可能是因为又犯了一个愚蠢的错误。
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
SDL_Event event;
int main (int argc, char **argv)
{
bool quit = false;
init();
draw_square(0,0,0);
while (quit == false)
{
if( event.type == SDL_QUIT )
{
quit = true;
}
}
SDL_Quit();
return 0;
}
void init ()
{
SDL_Init(SDL_INIT_EVERYTHING);
SDL_SetVideoMode(640,480,32,SDL_OPENGL);
SDL_WM_SetCaption( "OpenGL Test", NULL );
glClearColor( 0, 0, 0, 0 );
glMatrixMode( GL_PROJECTION );
glLoadIdentity();
glOrtho( 0, 0 , 640 , 480, 0, 1 );
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();
}
void draw_square (int x, int y, int z)
{
glTranslatef(x,y,z);
glColor4f(1.0,1.0,1.0,1.0);
glBegin(GL_QUADS);
glVertex3f(0, 0 ,0);
glVertex3f(50,0 ,0);
glVertex3f(50,50,0);
glVertex3f(0, 50,0);
glEnd();
glPushMatrix();
}
非常感谢~ Michael