关于opengl画图的问题,请教大神!!!
从网上看到,opengl画图,是这样的几个步骤:
a. 建立模型矩阵
glMatrixMode(GL_MODELVIEW);
gluLookAt();
b.建立投影矩阵:
glMatrixMode(GL_PROJECTION);
gluPerspective();
c.设定屏幕的参数:
glViewport();
我是这样设定的,参数感觉合理,可是什么都看不到,
这是我的源码:
void glu_lookat::initializeGL()
{
glShadeModel(GL_SMOOTH);
glClearColor(0.0, 0.0, 0.0, 0.0);
glClearDepth(1.0);
glEnable(GL_DEPTH_TEST);
glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
}
void glu_lookat::paintGL()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(0.0f,0.0f,-12.0f);
glRotatef(angle,3,1,1);
glColor3f(0.0f,1.0f,0.0f);
GLUquadricObj *quadratic;
quadratic=gluNewQuadric();
gluQuadricDrawStyle(quadratic, GLU_LINE);
glLineWidth(1.0f);
gluSphere(quadratic, 5.0, 100, 100);
//投影矩阵
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
//gluLookAt (0.0, 0.0, 0.0, 0.0, -10.0, 5.0, 1.0, 0.0, 0.0);
gluPerspective(10.0f,640/480.0,5.0f,20.0f);
glViewport(0,0,640,480); //窗口大小
glFlush();
}
void glu_lookat::resizeGL(int w=0,int h=0)
{
if(h==0)
height=1;
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,0,0,0,0,-12.0,0,1,0);//相机坐标-目标点坐标
}
可是我什么都看不到,还有那个gluPerspective他的near和far的参数我这里怎么写比较好?怎么计算呢?
请教大神了!!!