图形学茶壶设计代码

图形学茶壶设计代码

ID:10009288

大小:85.43 KB

页数:4页

时间:2018-05-20

图形学茶壶设计代码_第1页
图形学茶壶设计代码_第2页
图形学茶壶设计代码_第3页
图形学茶壶设计代码_第4页
资源描述:

《图形学茶壶设计代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、茶壶的生成1.配置环境:在编程之前需要加头文件.步骤:1.ylut.h复制到C:programFilesMicrosoftvisualstudioVC98includeGL2.glut32.lib复制C:programFilesMicrosoftvisualstudioVC98lib3.glut32.dlb复制C:windowssystem324.如何把lib库文件添加到项目中在原来的VC6开发环境中,点击菜单的project->setting,弹出项目属性对话框,然后点选link选项卡,

2、在里面的Object/LibraryModules输入要加入的lib文件名即可。2.程序代码://chahu.cpp:authorwangnina//studentnumber:201396052043赵燕#include"stdafx.h"#include#includestaticdoublespeed=18.0;voidinit()//初始化背景颜色,光照,材质等{glClearColor(0.9,0.9,1,1.0);//初始背景色/*********光照处理***

3、*******/GLfloatlight_ambient[]={0.0,0.0,0.0,1.0};GLfloatlight_diffuse[]={1.0,1.0,1.0,1.0};GLfloatlight_specular[]={1.0,1.0,1.0,1.0};GLfloatlight_position0[]={3.0,1.0,1.0,1.0};//定义光位置得齐次坐标(x,y,z,w),如果w=1.0,为定位光源(也叫点光源),//如果w=0,为定向光源(无限光源),定向光源为无穷远点,因而产生光为//平行光。

4、glLightfv(GL_LIGHT0,GL_AMBIENT,light_ambient);//环境光glLightfv(GL_LIGHT0,GL_DIFFUSE,light_diffuse);//漫射光glLightfv(GL_LIGHT0,GL_SPECULAR,light_specular);//镜面反射glLightfv(GL_LIGHT0,GL_POSITION,light_position0);//光照位置/********材质处理***********/GLfloatmat_ambient[]={0.

5、0,0.2,1.0,1.0};GLfloatmat_diffuse[]={0.8,0.5,0.2,1.0};GLfloatmat_specular[]={1.0,1.0,1.0,1.0};GLfloatmat_shininess[]={100.0};//材质RGBA镜面指数,数值在0~128范围内glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);glMaterialfv(GL_FRO

6、NT,GL_SPECULAR,mat_specular);glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);glEnable(GL_LIGHTING);//启动光照glEnable(GL_LIGHT0);//使第一盏灯有效glEnable(GL_DEPTH_TEST);//测试深度缓存/********其他可选项***********///glDepthFunc(GL_LESS);//函数指定比较函数,用来比较每个引入象素的z值和深度缓存中给定的z值,只有当//激活

7、深度检验时才执行此比较。//glEnable(GL_CULL_FACE);//剔除多边形表面:在三维空间中,一个多边形虽然有两个面,但我们无法看见背//面的那些多边形,而一些多边形虽然是正面的,但被其他多边形所遮挡。如果将//无法看见的多边形和可见的多边形同等对待,无疑会降低我们处理图形的效率。//在这种时候,可以将不必要的面剔除。//glCullFace(GL_FRONT);//glCullFace的参数可以是GL_FRONT,GL_BACK或者GL_FRONT_AND_BACK,分别表示//剔除正面、剔除反面、

8、剔除正反两面的多边形。//glEnable(GL_COLOR_MATERIAL);//材质颜色追踪当前颜色}staticvoidReshape(intwidth,intheight){constfloatar=(float)width/(float)height;glViewport(0,0,width,height);glMatrixMode(GL_PRO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。