位置: 编程技术 - 正文

学习Nehe Lesson2 && Lesson3(学习雷锋好榜样)

编辑:rootadmin

推荐整理分享学习Nehe Lesson2 && Lesson3(学习雷锋好榜样),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:学习雷锋好榜样歌词,学习通,学习雷锋好榜样,学习化妆的学校,学习雷锋好榜样,学习画动漫人物,学习雷锋好榜样,学习化妆的学校,内容如对您有帮助,希望把文章链接给更多的朋友!

Lesson2 和Lesson 3 是关于多边形绘制的内容,程序结构和第一课完全一样,只是在 int DrawGLScene(GLvoid) 这个函数中添加了绘图的内容。绘制的是基本图形三角形和正方形。绘制图形的过程如下。

一、 初始化

首先通过 glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT) 和 glLoadIdentity() 这两个函数将整个屏幕初始化成一片漆黑的状态,此时绘图点在屏幕中央,X坐标轴从左至右,Y坐标轴从下至上,Z坐标轴从里至外。OpenGL屏幕中心的坐标值是X和Y轴上的0.0f点。中心左面的坐标值是负值,右面是正值。移向屏幕顶端是正值,移向屏幕底端是负值。移入屏幕深处是负值,移出屏幕则是正值。

二、绘图

接下来就要开始绘图了,首先要把绘图点移动到指定位置。

1、移动绘图点学习Nehe Lesson2 && Lesson3(学习雷锋好榜样)

我们想象在OpenGL空间中有一个很大的立体网格框架,每个点都有对应坐标,那么使用函数 glTranslatef(x, y, z) 就可以将绘图点移动到坐标(x,y,z)的位置,比如glTranslatef(-1.5f,0.0f,-6.0f) 就实现了“左移 1.5 单位,并移入屏幕 6.0”这一操作。注意在glTranslatef(x, y, z)中移动的时候,并不是相对屏幕中心移动,而是相对与当前所在的屏幕位置。

2、开始绘制基本图形

移动坐标点后就可以开始画基本图形了,在这里,使用 glBegin() 和 glEnd() 两个组合在一起的函数来实现三角形和四边形。 使用时如下: glBegin(参数) function1; function2; function3; … … function N; glEnd();

参数

glBegin() 中可以添加的参数如下: 1、GL_POINTS:把每一个顶点作为一个点进行处理,顶点n即定义了点n,共绘制N个点 2、GL_LINES:把每一个顶点作为一个独立的线段,顶点2n-1和2n之间共定义了n条线段,总共绘制N/2条线段 3、GL_LINE_STRIP:绘制从第一个顶点到最后一个顶点依次相连的一组线段,第n和n+1个顶点定义了线段n,总共绘制n-1条线段 4、GL_LINE_LOOP:绘制从第一个顶点到最后一个顶点依次相连的一组线段,然后最后一个顶点和第一个顶点相连,第n和n+1个顶点定义了线段n,总共绘制n条线段 5、GL_TRIANGLES:把每个顶点作为一个独立的三角形,顶点3n-2、3n-1和3n定义了第n个三角形,总共绘制N/3个三角形 6、GL_TRIANGLE_STRIP:绘制一组相连的三角形,对于奇数n,顶点n、n+1和n+2定义了第n个三角形;对于偶数n,顶点n+1、n和n+2定义了第n个三角形,总共绘制N-2个三角形 7、GL_TRIANGLE_FAN:绘制一组相连的三角形,三角形是由第一个顶点及其后给定的顶点确定,顶点1、n+1和n+2定义了第n个三角形,总共绘制N-2个三角形 8、GL_QUADS:绘制由四个顶点组成的一组单独的四边形。顶点4n-3、4n-2、4n-1和4n定义了第n个四边形。总共绘制N/4个四边形 9、GL_QUAD_STRIP:绘制一组相连的四边形。每个四边形是由一对顶点及其后给定的一对顶点共同确定的。顶点2n-1、2n、2n+2和2n+1定义了第n个四边形,总共绘制N/2-1个四边形 、GL_POLYGON:绘制一个凸多边形。顶点1到n定义了这个多边形。 针对这十种参数,我写了一个小程序,可以通过空格逐个切换,直观地看出每一个参数对应的图形。 ( ) 要注意从第五个参数(三角形)开始,绘制出的形状都是颜色填充的,如果没有设置颜色,就是白色。

函数

glBegin() 和 glEnd() 之间可调用的函数如下: 1、glVertex*() 设置顶点坐标 2、glColor*() 设置当前颜色 3、glIndex*() 设置当前颜色表 4、glNormal*() 设置法向坐标 5、glEvalCoord*() 产生坐标 6、glCallList(),glCallLists() 执行显示列表 7、glTexCoord*() 设置纹理坐标 8、glEdgeFlag*() 控制边界绘制 9、glMaterial*() 设置材质 在第二课中,学习glVertex*() 。 这个函数在使用时是glVertex3f() 。glVertex3f()表示了该函数属于 gl库,参数是三个float型参数指针。我们用glVertex*()来表示这一类函数。 在用glVertex3f()设置坐标点时要注意顺序,否则会影响到以后的材质纹理内容。 在第三课中,学习glColor3f()。 和glVertex3f()一样,这个函数也有三个0到1之间的参数,分别是r、g、b值。RGB颜色值是0到,因此这里是要进行比例换算,参数为1.0f就代表了。要注意这个颜色是指顶点的颜色。在这里有一个小方法,颜色可以通过随机数产生,因为主函数中是在while循环中不停地循环画图这一函数,因此颜色会随即改变。 在设置顶点位置之前设置顶点颜色,那么从顶点出发的一定范围的图形区域就都是这个颜色,并且如果不再改变颜色,那么接下来就一直是这个颜色,就好比用刷子沾了颜料如果不洗掉换颜色的话接下来的就都是一个颜色。 因此,在设置的时候要注意是否要预设颜色等问题。

3、结束

到这里就差不多结束了,简单的绘制几何图形还是很容易的。

跨平台显示MMD模型 跨平台显示MMD模型过年了,祝大家喜气洋洋,心想事成!然后呢,过年后,依然进行Qt以及3D的研究。最近翻出以前的技术研究成果,并且花了将近一个

OpenGL阴影贴图详解 既然模拟出了光照,那么也少不了阴影,阴影的产生是因为距离光线较近的物体遮挡了距离较远的物体,导致被遮挡的物体接受的光照少于遮挡物的,因此阴

codeblocks配置GLUT 原文地址:

标签: 学习雷锋好榜样

本文链接地址:https://www.jiuchutong.com/biancheng/373123.html 转载请保留说明!

上一篇:shader漫反射模拟(什么是漫反射贴图)

下一篇:OpenGL阴影贴图详解(opengl消隐)

  • 拆迁补偿款如何做账务处理
  • 承兑汇票私人贴现要多久
  • 经济利益的流入一定是收入吗
  • 租赁合同印花税率
  • 发票已开后 对方公司名称变更怎么处理
  • 有形动产租赁服务计入什么科目
  • 2021年增值税专用发票红冲发票步骤
  • 国际船舶代理是什么意思
  • 电子发票和纸质发票额度算在一起吗
  • 私募过来的资金怎么做会计分录?
  • 广告媒体类的企业怎么核算成本?
  • 建筑行业一般纳税人简易征收的范围
  • 物管费开票可以开公司名称吗
  • 公司主要业务介绍
  • 企业恢复生产经营方案
  • 公司为员工负担的工资
  • 建筑企业异地预缴工会经费
  • 普通的增值税发票可以查询到购买人的信息吗
  • 收到工程款退回的账务处理
  • 个税起征点是
  • 1697510006
  • 如何制作macos bigsur的启动盘
  • 王者荣耀百里守约是男是女
  • 外汇账户怎么开
  • PHP:oci_lob_is_equal()的用法_Oracle函数
  • 王者荣耀体验皮肤什么时候结束
  • 营改增后房地产会计账务处理
  • 工程审计需要什么条件
  • vitem
  • 基础会计供应过程的核算内容
  • 天国拯救晕倒的人多久起来
  • web漏洞扫描器的设计与实现
  • 增值税和所得税重复交了吗
  • .gp4
  • 个税赡养老人专项扣除 多人
  • java集合框架主要有
  • 织梦怎么用模板建站
  • 保险公司工伤怎么赔付
  • 税率免税的发票
  • 个税申报数据有误
  • 生育津贴到公司账户了多久给个人
  • 固定资产清理如何做账
  • 进项税已认证未缴纳
  • 行政事业单位拨款请示在前还是发票在前
  • 职工罚款的会计处理办法
  • 股权转让溢价部分会计分录
  • 一般纳税人只有销项没有进项
  • 租车费报销管理规定
  • 记账凭证可以先做贷方吗
  • 小规模附加税减半征收什么时候开始
  • 国有企业公司制改造 发行企业债券
  • mysql修改默认编码
  • windows vista(service pack1)
  • Gene6 FTP在windows 2008上面破解后无法启动解决方法
  • linux如何用
  • windows 10如何使用
  • Mac应用程序的格式
  • centos7添加桌面图标
  • centos 7安装教程(图文详解)
  • win7升级win10系统要多久
  • win7系统禁用网络后如何开启
  • 如何注销windows账户登录
  • 硬盘已经安装系统文件夹
  • Win10系统下怎么设置按Win+E进入计算机的图文教程
  • 禁用强制驱动程序签名有什么用
  • 正则表达式语法 \d
  • jquery炫酷效果
  • perl \w
  • nodejsapi
  • linux进程管理命令使用
  • 浅谈python要进行房价预测的优点和缺点
  • 使用NGUI时遇到物理引擎错误
  • angular实战
  • javascript学习指南
  • JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
  • 归并代码
  • 拿了全额发票必须按时办理房产证吗
  • 三星电视投屏显示不支持当前文件
  • 价税分离计算公式
  • 所得税汇算清缴退税税务局要来查账
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设