舟--OpenGl编程的一个小问题?

来源:百度知道 编辑:UC知道 时间:2024/05/27 09:11:59
void GLUTCALLBACK changeSize(int w,int h)
{
cout<<"改变大小"<<endl;
if(h==0)
h=1;
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

gluPerspective(50,w/h,0.1,100);

glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
当在主函数中用这个函数(用glutReshapeFunc(changeSize);)调用上面这段代码时,窗口里面什么也没有,但是把这个函数注掉后,什么问题也没有,窗口显示正常.非常奇怪,上面这段代码,我照抄书上的,所以错误在哪不知道.
///////////////////////////////////
下面是整个的程序代码:
#include <windows.h>
#include <gl/glut.h>
#include <iostream.h>

#pragma comment (lib,"opengl32.lib")
#pragma comment (lib,"glut32.lib")

float xRot=0;
float yRot=0;
float xTranslate=0;
float yTranslate=0;
float step=5;
float step_t=0.1;
float light_switch=TRUE;
float light_x=0.8;
float light_y=0.8;

void Init()
{
cout<<"初始化窗口"<<en

10月17日 20:50 可能是驱动有问题
我刚装xp时,xp自带的驱动,opengl模式下魔兽就不能正常显示
我装回原来的驱动,虽然旧一点儿,但是很正常
现在下载了一个新的公版驱动,不错
建议更新一下驱动,在网上一搜就能搜到