opengl学习指导实验 计算机图形学上机(8)

2019-04-13 22:52

2)令Glint subMenu = glutCreateMenu (colorSubMenu)。

2)函数glutAddSubMenu ( char *name, int menu )放在函数glutAddMenuEntry

(\后面,此时menu参数用subMenu替代。 源码如下:

#include

GLsizei winWidth = 400, winHeight = 400; // Initial Display-window size.

GLfloat red = 1.0, green = 1.0, blue = 1.0; // Initial triangle color: white. GLenum fillMode = GL_SMOOTH; // Initial polygon fill: color interpolation.

void init (void) {

glClearColor (0.6, 0.6, 0.6, 1.0); // Set display-window color to gray.

glMatrixMode (GL_PROJECTION); gluOrtho2D (0.0, 300.0, 0.0, 300.0); }

void fillOption (GLint selectedOption) {

switch (selectedOption) {

case 1: fillMode = GL_FLAT; break; // Flat surface rendering. case 2: fillMode = GL_SMOOTH; break; // Gouraud rendering. }

glutPostRedisplay ( ); }

void displayTriangle (void) {

glClear (GL_COLOR_BUFFER_BIT);

glShadeModel (fillMode); // Set fill method for triangle. glColor3f (red, green, blue); // Set color for first two vertices.

glBegin (GL_TRIANGLES); glVertex2i (280, 20); glVertex2i (160, 280);

glColor3f (red, 0.0, 0.0); // Set color of last vertex to red. glVertex2i (20, 100); glEnd ( );

glFlush ( ); }

35

void reshapeFcn (GLint newWidth, GLint newHeight) {

glViewport (0, 0, newWidth, newHeight);

glMatrixMode (GL_PROJECTION); glLoadIdentity ( );

gluOrtho2D (0.0, (GLfloat) newWidth, 0.0, (GLfloat )newHeight);

displayTriangle ( ); glFlush ( ); }

void main (int argc, char **argv) {

glutInit (&argc, argv);

glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB); glutInitWindowPosition (200, 200); glutInitWindowSize (winWidth, winHeight); glutCreateWindow (\

init ( );

glutDisplayFunc (displayTriangle);

glutCreateMenu (fillOption); // Create pop-up menu. glutAddMenuEntry (\

glutAddMenuEntry (\

/* Select a menu option using the right mouse button. */ glutAttachMenu (GLUT_RIGHT_BUTTON);

glutReshapeFunc (reshapeFcn);

glutMainLoop ( ); }

36

实验九 真实感图形的绘制

一、实验学时 2学时 二、实验类型 设计型实验 三、实验目的和要求

了解OpenGL的光照模型,掌握消除隐藏面的基本方法;学会创建光源,选择光照模型。 四、实验内容 编写一个显示一个球面的程序,并能过交互交它们阴影化。可使用滑动条或固定选择项的菜单,调整或选择光照和材质参数。

37


opengl学习指导实验 计算机图形学上机(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:仪器分析习题(色谱)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: