第一次接触openGL,写第一个基于win32控制台的图形渲染程序,我的cpp代码是:// OpenGLFirst.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"#include <windows.h>
#define  GLUT_DISABLE_ATEXIT_HACK#include <gl\glut.h>
#include<gl\gl.h>
#include<gl\glu.h>
void RenderScene(void)
{
printf("渲染图形\n");
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f, 0.0f, 0.0f); 
glRectf(10.0f, 20.0f, 20.0f, 10.0f);
glFlush();
}
void ChangeSize(GLsizei w, GLsizei h)
{
printf("改变窗体大小\n");
if(h == 0) h = 1; glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity(); if (w <= h)
glOrtho (0.0f, 250.0f, 0.0f, 250.0f*h/w, 1.0f, -1.0f);
else
glOrtho (0.0f, 250.0f*w/h, 0.0f, 250.0f, 1.0f, -1.0f); glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}void SetupRC(void)
{
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
}
int _tmain(int argc, char* argv[])
{
//glutInitWindowSize(500, 250);
//glutInitWindowPosition ( 140, 140 );
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE );
glutInit(&argc, argv); glutCreateWindow( "Demo" );
SetupRC();
glutDisplayFunc( RenderScene ); 
glutReshapeFunc(ChangeSize  ); //glutMouseFunc ( Mouse ) ;
//glutMotionFunc ( Motion ) ;
//glutKeyboardFunc( Key ); glutMainLoop();
return 0;
}加入相应的lib和dll后,程序可以运行,但结果却在窗体上渲染不出一个红色矩形,这是为什么呢?希望知道的朋友指点一下,先谢了!
程序运行的截图是: