五、绘制几何对象和文字

帧缓存(Frame Buffer)为用户与显示设备交互的一个接口,将显示的画面抽象成一块可以进行读写操作的内存区域

帧缓存的每一个存储单元都对应显示屏上的一个像素。整个缓存空间对应当前屏幕上渲染的一帧

5.1几何元素的储存

顶点属性:空间坐标值、法线、颜色坐标、纹理坐标、雾坐标。

点的法线是在使用Phone或Gouraud模型时计算光照使用。

立即模式(immediate mode)      顶点数组(vertex array)       显示列表(display list)

顶点缓存对象(VBO)  像素缓存对象(Pixel Buffer Object,PBO)

显示列表是大部分OSG程序所使用的默认绘制优化行为,而顶点数组则是默认的几何体构建方式。

OSG同样将几何图元的类型划分为:点(GL_POINTS)、线段(GL_LINES)、线条带(GL_LINE_STRIP)、闭环线(GL_LINE_LOOP)、三角形(GL_TRIANGLES)、三角条带(GL_TRIANGLE_STRIP)、三角扇面(GL_TRIANGLE_FAN)、四边形(GL_QUADS)、四边形条带(GL_QUAD_STRIP)以及多边形(GL_POLYGON)

OpenGL的顶点属性设置原则是:每一个顶点只能对应一个位置坐标,每个纹理单元有一个纹理坐标值;此外,每个顶点至多关联一个法线坐标,一个颜色值,以及一个雾坐标等;但是多个顶点可以对应一个法线、颜色等属性信息。

5.1.4 范例 简易房屋

快速法线生成工具osgUtil::Smoothing Visitor

geometry:设置顶点setVertexArray

设置纹理坐标setTexCoordArray

      设置法线setNormalArray

PrimitiveSet表达图元组的信息,DrawArrays和DrawElementsUInt索引

追加一个图元组  addPrimitiveSet

     设置纹理图getOrCreateStateSet()->setTextureAttributeAndModes

     设置颜色setColorArray      设置颜色绑定形式setColorBinding

图元控制http://blog.csdn.net/sophistcxf/article/details/9096259

5.2几何元素的绘制和访问

转载于:https://www.cnblogs.com/hanmolabi/p/7215303.html

三维渲染引擎设计与实践(四)相关推荐

  1. OSG三维渲染引擎之OSG简介

    参考书籍<OpenSceneGraph三维渲染引擎设计与实践>,作者王锐,钱学雷 一.场景图形 1.概念 场景图形(Scene Graph)是一种经常用于计算机游戏和图形学相关软件的数据结 ...

  2. [比较老的文章]三维渲染引擎 OGRE 与 OSG 的比较综述

    1 .引言 随着计算机可视化.虚拟现实技术的飞速发展,人们对实时真 实感渲染以及场景复杂度提出了更高的要求.传统的直接使用底层 图形接口如OpenGL.DirectX开发图形应用的模式越来越暴露出开 ...

  3. OSG三维渲染引擎编程学习(全系列开展OSG学习)

    目录 第一章:OpenSceneGraph介绍 第二章:OSG数学基础 第三章:OSG场景组织 第四章:OSG几何体绘制 第五章:OSG场景渲染 第六章:OSG场景工作机制 第七章:OSG场景图形交互 ...

  4. 谈谈GIS三维渲染引擎

    minemap:是我们公司的产品,主要以earth的形态展示,支持矢量切片+倾斜数据(这一点我个人认为是它最大的优点,即兼容了矢量切片精美地图又兼容倾斜数据,目前倾斜数据采用的3dtile格式),目前 ...

  5. GIS三维渲染引擎 到底有什么区别

    minemap:主要以earth的形态展示,支持矢量切片+倾斜数据(这一点我个人认为是它最大的优点,即兼容了矢量切片精美地图又兼容倾斜数据,目前倾斜数据采用的3dtile格式),目前正在重构引擎架构, ...

  6. OSG三维渲染引擎编程学习之十七:“第二章:OSG数学基础” 之 “2.7 世界坐标系、物体坐标系、摄像机坐标系”

    第二章 OSG数学基础 OSG是一个优秀的三维渲染引擎,三维渲染涉及到大量的3D数学知识.3D数学是一门和计算机几何相关的科学,研究怎样用数值的方法来解决几何问题,因此,掌握并灵活运用3D数字知识是O ...

  7. 优酷播放体验优化实战(四)--“三高”音频渲染引擎设计

    一. 背景 随着高清在用户观影过程中的深度普及,人们已经不仅仅满足于视的享受,更需要听的保证.如何稳定保障音质,甚至增加更多的音效玩法需要一套强大的系统将数据传输.音频实时处理技术.音频输出有效地整合 ...

  8. 三维渲染引擎收藏(转载)

    基于 WebGL 的 Javascript 3D 绘图引擎 G3D [国产] G3D 是阿里巴巴开源的一款基于 WebGL 的 javascript 3D 绘图引擎.与其他的 WebGL 3D 引擎相 ...

  9. OSG三维渲染引擎编程学习之三十六:“第四章:OSG几何体绘制” 之 “4.1 OSG基础绘图类”

    目录 第四章 OSG几何体绘制 4.1 OSG基础绘图类 4.1.1 Drawable可绘制类 4.1.2 PrimitiveSet图元集 第四章 OSG几何体绘制

最新文章

  1. iOS--MD5加密封装
  2. http://bbs.phome.net/showthread-13-45519-0.html
  3. Android获取手机应用程序包的信息
  4. hadoop中汉字与英文字符混合的keyword做为combine的key的问题
  5. JS基础语法(04)-逗号运算符
  6. MySQL默认数据库简介
  7. 使用Prometheus监控Cloudflare的全球网络
  8. Atom飞行手册翻译: 3.6 图标
  9. Linux 内核参数及Oracle相关参数调整
  10. Python开发者必知的13个Python GUI库
  11. 黑客攻防从入门到精通 1-6章
  12. python怎么算二元一次方程_利用Python求解二元一次方程
  13. pycharm下载安装opencv
  14. Mac环境下安装Ruby
  15. Autoit 打开文件的几种方式(run/Fileopen/ShellExecute)
  16. 什么叫特立独行,其实不过是活在自己的节奏里
  17. Usability Testing Demystified
  18. undo歌词中文音译_Undo - Sanna nielsen帮我看看这歌词翻译对么
  19. java 状态模式 同步_多人联机射击游戏中的设计模式应用(二):观察者模式,单例模式,状态模式,适配器模式...
  20. 无线局域网设备安装与调试

热门文章

  1. NOIP2013pj车站分级[拓扑排序]
  2. mysql之mysqldump备份恢复
  3. Swift2.1 语法指南——嵌套类型
  4. 【练习】OC语法的简单复习
  5. SQL 2014 in-memory中的storage部分
  6. 使用stream类型的Result实现Ajax
  7. 查看mysql数据库大小、表大小和最后修改时间
  8. ajax技术如何实现,ajax技术的基本原来以及实现过程
  9. python文本挖掘视频课_自动摘要的python实现
  10. FPGAtestbench中如何产生差分时钟