- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OpenGL编程基础(二)
OpenGL编程基础 OpenGL编程基础 OpenGL基础函数 OpenGL图元绘制 显示点、直线和多边形: 一、点的细节 点的基本大小对应屏幕上的1个像素。使用glPointSize()函数可设置被渲染点的大小。 句法:void glPointSize(GL float size); 描述:设置被渲染点的大小,以像素为单位。Size必须大于0.0,默认值为1.0 。被渲染的点呈正方形方块。如果启用了反走样或多重采样,被渲染的点呈圆形。调用函数glEnable(),并将参数设置为GL_POINT_SMOOTH,启用反走样。例:point 二、直线的细节 直线的细节包括直线的宽度和不同点画模式的直线。 1. 设置直线的宽度函数: glLineWidth() 句法:void glLineWidth(GL float Width); 描述:设置被渲染直线的粗细,以像素为单位。Width必须大于0.0,默认值为1.0 。在未使用反走样功能时,直线的宽度不是根据与直线长度方向垂直的方向测量的,当直线斜率1时,直线的宽度按y方向测量,否则按x方向测量。 显示点、直线和多边形: 二、直线的细节 直线的细节包括直线的宽度和不同点画模式的直线。 2. 设置点画线的函数: glLineStipple() 句法:void glLineStipple(GL int factor, GLushort pattern); 描述:使用glLineStipple()函数定义点画模式,然后用glEnable()函数启用直线点画功能。 例句: glLineStipple(1, 0x3F07); glEnable(GL_LINE_STIPPLE); 例:点画线——gl3.cpp,lines 显示点、直线和多边形: 三、多边形的细节 多边形的绘制可以选择填充模式,也可以只绘制轮廓,甚至可以只绘制顶点。按填充模式绘制多边形时,可以选择颜色填充,也可以是点画模式填充。 显示点、直线和多边形: 三、多边形的细节 1. 设置绘制多边形方式的函数: glPolygonMode() 句法:void glPolygonMode(GLenum face, GLenum mode); 描述:控制一个多边形的正面和背面的绘图模式。(选择多边形正反面的必要性) 参数说明: face:可选值GL_FRONT_AND_BACK, GL_FRONT, GL_BACK 。 mode:可选值为GL_POINT, GL_LINE, GL_FILL。 显示点、直线和多边形: 多边形正面的定义:如果多边形的顶点以逆时针顺序出现在屏幕上,该多边形定义为正面;反之为背面。 在默认的情况下,OpenGL将多边形的正反面都画成填充模式。 (例程:有向多边形) 显示点、直线和多边形: 三、多边形的细节 2. 设置点画多边形的函数: glPolygonStipple() 句法:void glPolygonStipple(const GLubyte *mask); 描述:定义填充多边形的当前点画模式。Mask参数是一个指向32x32位图的指针,后者被解释为0和1的掩码。如果模式中出现的是1,则多边形对应的像素就被绘制,如果模式中出现的是0,则多边形对应的像素就不被绘制。 显示点、直线和多边形: 三、多边形的细节 所谓掩码就是一串二进制数,对目标字段进行按位“与” 运算,屏蔽掉一些东西。可结合Flash的“遮罩”效果来理解Mask参数的含义。 例:多边形点画模式 显示点、直线和多边形: 【注】按位“与”运算的功能是:参与运算的两数各对应的二进制位相与,只有对应位的两个二进制位均为1时,结果位才为1,否则为0。 按位与运算通常用来对某些位清0,或保留某些位。 按位与运算符为“”。 程序设计实例分析 编写程序绘制右图 一、图形的构成分析; 二、程序结构分析; 图案 程序设计实例分析 编写程序绘制右图 一、图形的构成分析; 二、程序结构分析; 椭圆束 实验一要求 绘制线束。线的条件: 一、所有直线都通过一个固定点(xc, yc); 二、直线另一端的坐标满足下式: 式中,r为固定值;t为转角,取值范围为0~360度 文件名:jkxpattern.cpp(工程:渐开线图案) 实验二(选作)要求 渐开线方程: 绘制渐开线,如图所示。 课外作业: 一、必须完成的作业:参照程序设计实例,设计并绘制一个平面图案。 二、选作题:应用AS3.0实现渐开线展开动画。 请下周一交源文件(只要.cpp文件)。 OpenGL编程基础 OpenGL编程基础
原创力文档


文档评论(0)