glEnable(GL_COLOR_MATERIAL) 的作用

一.任务描述 1.本关任务 2.预期输出 3.具体要求 二.相关知识 一.任务描述 根据提示,在右侧修改代码,并自己绘制出图形。平台会对你编写的代码进行测试。 1.本关任务 了解简单实体构建的过程; 熟悉视点观察函数的设置和使用; 熟悉3D图形变换的设置和使用; 进一步熟悉基本3D图元的绘制。 2.预期输出 3.具体要求 (1).背景色为黑色,用 glclearcolor 来完成; (2).以中心为绘制原点,构建一个三棱锥; (3).创建二维数组用来存取三棱锥顶点坐标,顶点坐标分别为{-1,0,1},{1,0,1},{0,0,-0.7},{0,1.7,0}; (4).创建二维数组用来存取三棱锥面的颜色,分别为{0,1,0},{1,0,0},{1,1,0},{0,0,1} ; (5).创建二维数组用来存取三棱锥顶点的序号; (6).运用glPushMatrix()函数和glPopMatrix()函数进行矩阵操作,沿Z轴负方向平移-3.0f,沿Y轴方向平移0.2f,然后将三棱锥绕X轴方向选择95度 二.相关知识 为了完成本关任务,你需要掌握:二维数组的运用、实体平移和旋转、简单实体构建的操作。 // 提示:在合适的地方修改或添加代码 #include <GL/freeglut.h> #include<stdio.h> #include<iostream> // 评测代码所用头文件-开始 #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> #include<opencv2/imgproc/imgproc.hpp> using namespace std; // 评测代码所用头文件-结束 // 请在此添加你的代码 /********** Begin ********/ GLfloat points1[4][3] = { }; GLfloat Colors1[4][3] = { }; int vertice1[4][3] = { }; /********** End **********/ void InitGL(GLvoid) { glShadeModel(GL_SMOOTH); glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClearDepth(1.0f); glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); glEnable(GL_COLOR_MATERIAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); } void Create() //创建三棱锥 { glBegin(GL_TRIANGLES); for (int i = 0; i < 4; i++) { glColor3fv(Colors1[i]); for (int j = 0; j < 3; j++) { int VtxId = vertice1[i][j]; glVertex3fv(points1[VtxId]); } } glEnd(); } void display(void) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glLoadIdentity(); // 请在此添加你的代码 /********** Begin ********/ /********** End **********/ Create(); //三棱锥 glPopMatrix(); glutSwapBuffers(); } void reshape(int width, int height) { if (height == 0) height = 1; glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0f, (GLfloat)width / (GLfloat)height, 0.1f, 100.0f); glMatrixMod
最新发布
03-28
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值