zoukankan      html  css  js  c++  java
  • 三维渲染引擎设计与实践(四)

    五、绘制几何对象和文字

    帧缓存(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几何元素的绘制和访问

  • 相关阅读:
    View onMeasure方法介绍
    控件的3个状态
    多个Activity之间的跳转(1)
    7种形式的Android Dialog使用举例(下)
    调用摄像头采集图像
    读取播放视频
    MATLAB
    下载数据CSV文件格式
    生成数据
    java中给当前时间添加一小时
  • 原文地址:https://www.cnblogs.com/hanmolabi/p/7215303.html
Copyright © 2011-2022 走看看