- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2讲 OpenGL编程基础
Open GL 光照 启动光照 在OpenGL中,必须明确指出光照是否有效或无效。要使光照有效,首先得启动光照,即: glEnable(GL_LIGHTING); 若使光照无效,则调用gDisable(GL_LIGHTING)可关闭当前光照。然后,必须使所定义的每个光源有效。 例:只用了一个光源,即: glEnable(GL_LIGHT0); Open GL 光照 明暗处理 用单一颜色处理的称为平面明暗处理 用许多不同颜色处理的称为光滑明暗处理 设置明暗处理模式的函数为: void glShadeModel(GLenum mode);函数参数为GL_FLAT或GL_SMOOTH, 分别表示平面明暗处理和光滑明暗处理。 * OpenGL能够对整个三维模型进行渲染着色,从而绘制出与客观世界十分类似的三维景象。 可以进行三维交互、动作模拟。 Open GL 建模 2 构造几何图元 在实际应用中,通常用一组相关的顶点序列以一定的方式组织起来定义某个几何图元,而不采用单独定义多个顶点来构造几何图元。 Open GL 建模 2 构造几何图元 在OpenGL中,所有被定义的顶点必须放在glBegain()和glEnd()两个函数之间才能正确表达一个几何图元或物体,否则,glVertex*()不完成任何操作。 Open GL 建模 例:定义图所示的图形 glBegin(GL_POLYGON); ? glVertex2f(0.0,0.0); ? glVertex2f(0.0,3.0);?? ? glVertex2f(3.0,3.0);???????????????????? ? glVertex2f(4.0,1.5); ? glVertex2f(3.0,0.0); ? glEnd(); Open GL 建模 函数 void glBegin(Glenum mode)中的mode 的值 GL_POINTS 一系列独立的点 GL_LINES 每两点相连成为线段 GL_POLYGON 凸多边形的边界 GL_TRIANGLES 三点相连成为一个三角形 GL_QUADS 四点相连成为一个四边形 GL_LINE_STRIP 顶点相连成为一系列线段 GL_LINE_LOOP 顶点相连成为一系列线段,连接 最后一点与第一点 GL_TRIANGLE_STRIP 相连的三角形带 GL_TRIANGLE_FAN 相连的三角形扇形 GL_QUAD_STRIP 相连的四边形带 Open GL 建模 在glBegin()和glEnd()之间最重要的信息就是由函数glVertex*()定义的顶点,必要时也可为每个顶点指定颜色、法向、纹理坐标或其他,即调用相关的函数。 Open GL 建模 在glBegin()和glEnd()之间可调用的函数 Open GL 建模 glBegin(GL_POINTS); glColor3f(1.0,0.0,0.0); /* red color */ glVertex(...); glColor3f(0.0,1.0,0.0); /* green color */ glColor3f(0.0,0.0,1.0); /* blue color */ glVertex(...); glVertex(...); glEnd(); 颜色等的设置只对当前点或后续点有效。例中第一个点是红色,第二个点和第三个点都是蓝色。其中设置绿色时,之后没有顶点操作,而是设置蓝色,故只有当前蓝色对紧跟其后的两个顶点有效。 4 Open GL 变换 从三维平面到二维平面 变换语句 Open GL 变换 从三维空间到二维平面 相机模拟 从三维空间到二维平面,通常都要经历以下步骤 Open GL 变换 将相机置于三角架上,让它对准三维景物 视点变换 Open GL 变换 将三维物体放在适当的位置 模型变换 Open GL 变换 选择相机镜头并调焦,使三维物体投影在二维胶片上 投影变换 Open GL 变换 决定二维像片的大小 视口变换 Open GL 变换 几何变换 void glTra
文档评论(0)