|
|

楼主 |
发表于 2004-11-28 18:26:00
|
显示全部楼层
事情是这样的!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "SDL.h"
#include "gl/gl.h"
#include "gl/glu.h"
SDL_Surface *screen = NULL;
int
main (int argc, char *argv[])
{
char *msg;
int done;
/* Initialize SDL */
if (SDL_Init (SDL_INIT_EVERYTHING) < 0)
{
exit (1);
}
atexit (SDL_Quit);
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_DEPTH_SIZE, 16 );
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, 1);
screen = SDL_SetVideoMode (640, 480, 16, SDL_OPENGL);
if (screen == NULL)
{
SDL_Quit();
return;
}
SDL_WM_SetCaption ("OPENGL IN SDL", NULL);
glViewport(0, 0, screen->w,screen->h);
glOrtho(0.0,screen->w,screen->h, 0.0, 0.0, 1.0);
glClearColor(0.0, 0.0, 0.0, 0.0);
done = 0;
while (!done)
{
SDL_Event event;
/* Check for events */
while (SDL_PollEvent (&event))
{
switch (event.type)
{
case SDL_KEYDOWN:
break;
case SDL_QUIT:
done = 1;
break;
default:
break;
}
}
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT );
//画图
SDL_GL_SwapBuffers();
}
return 0;
} |
|