菜鸟再问

xiaobird1 2003-08-25 04:20:17
程序可以运行,但没有任何效果,为什么?

#include <windows.h>
#include <gl/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>

void CALLBACK resize( GLsizei w, GLsizei h )
{
}

int main(void)
{
glClearColor( 0.0, 0.0, 0.0, 0.0 );
glClear( GL_COLOR_BUFFER_BIT );
glColor3f( 1.0, 1.0, 1.0 );
glOrtho( 0.0, 1.0, 0.0, 1.0, -1.0, 1.0 );
glBegin( GL_POLYGON );
glVertex3f( 0.25, 0.25, 0.0 );
glVertex3f( 0.75, 0.25, 0.0 );
glVertex3f( 0.75, 0.75, 0.0 );
glVertex3f( 0.25, 0.75, 0.0 );
glEnd();
glFlush();

return 1;
}
...全文
160 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
maplexp 2003-08-26
  • 打赏
  • 举报
回复
没有OpenGL的初始化,也没有任何主循环,程序运行马上就退出了
换成下面看看,最好找本OpenGL红皮书看看,这里有电子版
http://fly.cc.fer.hr/~unreal/theredbook/

下面程序编译需要glut的支持,glut是取代aux库的,如果没有glut,到这里下载
http://www.xmission.com/~nate/glut/glut-3.7.6-bin.zip
这里是glut的帮助文档
http://www.opengl.org/developers/documentation/glut/spec3/spec3.html

#include <GL/glut.h>

void render()
{
glClear(GL_DEPTH_BUFFER_BIT|GL_COLOR_BUFFER_BIT);
glMatrixMode( GL_MODELVIEW );
glLoadIdentity();

glBegin( GL_POLYGON );
glVertex3f( 0.25, 0.25, 0.0 );
glVertex3f( 0.75, 0.25, 0.0 );
glVertex3f( 0.75, 0.75, 0.0 );
glVertex3f( 0.25, 0.75, 0.0 );
glEnd();

glutSwapBuffers();
}

void Init( void )
{

}

void Release( void )
{

}

void Idle( void )
{
glutPostRedisplay();
}

void reshape(int w,int h)
{
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho( 0.0, 1.0, 0.0, 1.0, -1.0, 1.0 );
glMatrixMode(GL_MODELVIEW);
}

int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutInitWindowSize(800,600);
glutInitDisplayMode(GLUT_RGBA|GLUT_DEPTH|GLUT_DOUBLE);
glutCreateWindow("OGL");

glutDisplayFunc(render);
glutReshapeFunc(reshape);
glutIdleFunc( Idle );

Init();

glutMainLoop();

Release();

return(0);
}


4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧