OpenGL要实现一个漫游场景,在场景中画一棵绿色的树,当用户改变窗口 大小时,
以下程序要实现一个漫游场景,在场景中画一棵绿色的树,当用户改变窗口大小时,窗口内的景物可以相应变大。请补充完整该程序。voidchangeSize(intw,inth){...
以下程序要实现一个漫游场景,在场景中画一棵绿色的树,当用户改变窗口
大小时,窗口内的景物可以相应变大。请补充完整该程序。
void changeSize(int w, int h)
{ if(h == 0)
h =1;
ratio =1.0f*w/ h;
( )
glLoadIdentity();
glViewport(0, 0, w, h);
gluPerspective(45, ratio, 1, 1000);
glMatrixMode(GL_MODELVIEW);
( )
gluLookAt(x, y, z, x + lx, y + ly, z + lz, 0.0f, 1.0f, 0.0f);
}
//下面的 drawTree 函数用以画一颗绿树。
void drawTree() {
( )
glPushMatrix();
glRotatef(-90.0,1.0,0.0,0.0);
glutSolidCone(0.8, 2.0, 20, 4);
( )
}
void renderScene(void) {
( )
glColor3f(0.9f, 0.9f, 0.9f);
//下面的代码用于画一个方形地面。
( )
glVertex3f(-100.0f, 0.0f,-100.0f);
glVertex3f(-100.0f, 0.0f, 100.0f);
glVertex3f(100.0f, 0.0f, 100.0f);
glVertex3f(100.0f, 0.0f,-100.0f);
glEnd();
drawTree();
glutSwapBuffers();
}
在drawTree 函数画一颗绿树的第一个空是glcolor3f(0.0f,1.0f,0.0f)还是(1.0f,1.0f,1.0f)? 展开
大小时,窗口内的景物可以相应变大。请补充完整该程序。
void changeSize(int w, int h)
{ if(h == 0)
h =1;
ratio =1.0f*w/ h;
( )
glLoadIdentity();
glViewport(0, 0, w, h);
gluPerspective(45, ratio, 1, 1000);
glMatrixMode(GL_MODELVIEW);
( )
gluLookAt(x, y, z, x + lx, y + ly, z + lz, 0.0f, 1.0f, 0.0f);
}
//下面的 drawTree 函数用以画一颗绿树。
void drawTree() {
( )
glPushMatrix();
glRotatef(-90.0,1.0,0.0,0.0);
glutSolidCone(0.8, 2.0, 20, 4);
( )
}
void renderScene(void) {
( )
glColor3f(0.9f, 0.9f, 0.9f);
//下面的代码用于画一个方形地面。
( )
glVertex3f(-100.0f, 0.0f,-100.0f);
glVertex3f(-100.0f, 0.0f, 100.0f);
glVertex3f(100.0f, 0.0f, 100.0f);
glVertex3f(100.0f, 0.0f,-100.0f);
glEnd();
drawTree();
glutSwapBuffers();
}
在drawTree 函数画一颗绿树的第一个空是glcolor3f(0.0f,1.0f,0.0f)还是(1.0f,1.0f,1.0f)? 展开
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询