位置: 编程技术 - 正文

OpenGL教程翻译 第十课 索引绘制(opengl perspective)

编辑:rootadmin
OpenGL教程翻译 第十课 索引绘制原文地址: 这是顺序绘制的例子:

推荐整理分享OpenGL教程翻译 第十课 索引绘制(opengl perspective),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl中文教程,opengl transform,opengl learning中文,opengl语言,opengl gltranslatef,opengl learning中文,opengl learning中文,opengl translate,内容如对您有帮助,希望把文章链接给更多的朋友!

如果我们绘制三角形,GPU将产生如下设置:V0/ 1/2,V3/4/5,V6/7/8等。

这是一个索引绘制的例子:

在此情况下,GPU将产生下列三角形:V4/ 0/1,V5/ 2/1,V6/ 1/7等。

使用OpenGL中的索引绘制要求生成并填充一个索引缓冲区,而且它必须在调用绘制命令之前使用不同于绑定顶点缓存区的API将其绑定。Code Walkthru

GLuint IBO;

我们为索引缓冲区增加了另一个对象句柄。

Vertices[0] = Vector3f(-1.0f, -1.0f,0.0f);Vertices[1] = Vector3f(0.0f, -1.0f, 1.0f);Vertices[2] = Vector3f(1.0f, -1.0f, 0.0f);Vertices[3] = Vector3f(0.0f, 1.0f, 0.0f);

为了展示顶点共享,我们需要一个稍微更复杂的网&#;模型。为此很多教程使用著名的旋转立方体。这需要8个顶点和个三角形。鄙人稍懒就用旋转的锥体来代替。它仅需要4个顶点和4个三角形,并且更易于手动生成……

当从顶部(沿着Y轴)看这些顶点,我们得到下面的布局:

unsigned intIndices[] = { 0, 3, 1, 1, 3, 2, 2, 3, 0, 0, 1, 2 };

OpenGL教程翻译 第十课 索引绘制(opengl perspective)

这个索引缓冲区使用索引数组来填充。索引与顶点缓冲区中顶点的位置相匹配。从数组和上面的图形你能看出,最后一个三角形是角锥底座而其它三个是面。角锥不是对称的,但很容易指定说明。

glGenBuffers(1, &IBO);

glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO);

glBufferData(GL_ELEMENT_ARRAY_BUFFER, sizeof(Indices),

Indices, GL_STATIC_DRAW);

我们创建并用索引数组填充索引缓冲区。你可以看到,创建顶点缓冲区和索引缓冲区唯一的区别是,顶点缓冲将GL_ARRAY_BUFFER作为缓冲类型,而索引缓冲将GL_ELEMENT_ARRAY_BUFFER作为缓冲类型。

glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, IBO);

除了绑定顶点缓冲,我们还必须在绘制之前绑定索引缓存。再一次,我们使用GL_ELEMENT_ARRAY_BUFFER作为缓冲类型。

glDrawElements(GL_TRIANGLES, , GL_UNSIGNED_INT, 0);

我们用glDrawElements而不是glDrawArrays。第一个参数是要绘制的图元的类型(与glDrawArrays相同)。第二个参数是图元生成所要用到的索引缓冲区中索引的数量。第三个参数是每个索引的类型。GPU必须被告知每个索引的大小,否则就不知道如何解析缓冲区。这里可能的取&#;有GL_UNSIGNED_BYTE,GL_UNSIGNED_SHORT和GL_UNSIGNED_INT。如果索引范围小,那么你会想用较小的节省空间的类型;如果索引范围大,你会想用较大的类型。最后一个参数告诉GPU要扫描的第一个索引的位置对于索引缓冲区起始位置的偏移量的字节数。当相同的索引缓冲区包含多个对象的索引时,这是很有用的。通过指定偏移量和偏移数,你能告诉GPU要渲染哪个对象。本例中我们要从头开始,所以我们指定为0。请注意,最后一个参数的类型是GLvoid*的,因此如果您指定0以外的其他&#;,你需要将它转换为这种类型。

OpenGL教程翻译 第九课 插值 OpenGL教程翻译第九课插原文地址:

视锥裁剪 转自:

[置顶] 什么是OpenGL中的深度、深度缓存、深度测试? 1)直观理解深度其实就是该象素点在3d世界中距离摄象机的距离,深度缓存中存储着每个象素点(绘制在屏幕上的)的深度!深度测试决定了是否绘制

标签: opengl perspective

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

上一篇:OpenGL创建纹理(opengl oes纹理)

下一篇:OpenGL教程翻译 第九课 插值(opengl transform)

  • 律师异地立案费用
  • 处置资产开啥发票
  • 金蝶k3如何设置凭证保存自动新增
  • 工厂外包加工项目
  • 资产几百亿真的有那么多钱吗?
  • 出纳工作的七大技巧
  • 股权投资基金账户有监管吗
  • 个体户购买发票需要什么资料
  • 服务费做成本分录
  • 税后扣税
  • 建筑资质挂靠费用怎么写会计分录?
  • 新建账套应收账款怎么填客户
  • 核定征收印花税的计税依据是否含税
  • 个人股权转让申报表
  • 红字发票信息表填好后再怎么操作
  • 城建税漏报怎么办
  • 现金流量净额为负说明什么
  • 代缴社保工资怎么做账
  • 1697510722
  • 可抵扣的金税盘维护费会计分录怎么做?
  • 项目工程会计账务处理
  • 五险二金的二金有什么好处
  • 多提的费用如何做冲减分录
  • 刚毕业的学生可以买学生票吗
  • 建筑工程简易计税可以抵扣吗
  • 病毒变种太多
  • 高新企业研发支出转产成品
  • 网线插上还是显示红叉
  • 酒店加盟管理费多少
  • 流转税政策
  • Aerial view of Chapel Bridge over the river Reuss in Lucerne, Switzerland (© Neleman Initiative/Gallery Stock)
  • 工商年报认缴出资时间填错了,有什么后果
  • uni-app--》uni-app的生命周期讲解
  • 股东分红应该在哪个科目
  • 工程项目科学技术方法工具过程之间的关系
  • 全卷积网络fcn详解
  • 为什么会有不同的人种
  • bat 进入当前文件夹
  • 外籍专家劳务费
  • 加工取得的存货成本会计分录
  • 分公司要不要银行开户
  • 中华人民共和国禁毒法第十三条规定
  • 出口汽车配件怎么报关
  • 存货跌价准备怎么核算
  • 合同权益转让 范本
  • 企业所得税会计利润
  • 金税四期有什么变化
  • 小规模进项是专票销项是普票可以抵扣吗
  • 设备安装业绩
  • 现金流量表中应收账款为负是什么意思
  • 两个公司的出纳怎么分账
  • 权益净利率计算公式产权比率
  • 会计科目中其期末余额应列入资产负债表存货项目的有
  • 超市的进场费怎么入会计科目
  • 进项税税额是多少
  • 装修费用一次性摊好还是分期好
  • 员工伤残补助会计分录
  • 债务转实收资本的审批报告
  • 哪些税费计入税金及附加科目
  • 房地产开发企业销售自行开发的房地产项目
  • MySQL(win7x64 5.7.16版本)下载、安装、配置与使用的详细图文教程
  • mysql 元组
  • bios设置密码怎么设置
  • vc_mbcsmfc.exe是什么
  • Linux系统中sort排序命令的使用教程
  • win7访问共享文件
  • win8怎么设置用户头像
  • cocos2dx入门
  • unity3d官方案例
  • 简易bmp图片读取软件
  • javascript的描述
  • python数据结构与算法题库
  • Unity3D的iTween
  • js的变量
  • jquery弹窗弹出一个页面
  • Python默认参数 数组坑
  • javascript中Date format(js日期格式化)方法小结
  • 江苏省国家税务局官网
  • 河南地方税务局税收征管档案管理办法(试行)
  • 德国对外投资法律劣势有哪些方面
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设