七画的xu

我们使用StateSet类来控制几何基元的渲染状态下面的代码演示了从文件中读取纹理,创建StateSet类并设置纹理以及关联StateSet到场景节点的方法。代码的前一部分与上一章教程相同首先我们初始化视窗并创建只有单一金字塔的场景。

// 声明场景的根节点

现在我们添加纹理我们定义一个纹理实例并设置其数据变更类型为“DYNAMIC”(否则的话,OSG的优化过程中可能会自动去除这个纹理)纹理类封装了OpenGL纹理模式(GL_TEXTURE_WRAP,GL_TEXTURE_FILTER等)以及一个osg::Image对象。下面的代码将演示如何从攵件读入osg::Image实例并将其关联到纹理

//避免在优化过程中出错 // 将图片关联到纹理

Texture类可以关联到渲染状态StateSet类。下一步我们将创建一个StateSet将纹理关聯到这个渲染状态实例并允许使用纹理,最后将StateSet关联到几何体节点上

// 将渲染状态关联给金字塔节点 //最后我们进入仿真循环:

//为每个顶点指定一种颜色

//顶点是三维陈列,顺序是逆时针方向


颜色的格式是(红绿,蓝Alpha)
Alpha 是出现在 32 位位图文件中的一类数据,用于向图像中的像素指定透明度
24 位真彩文件包含三种颜色信息通道:红、绿和蓝或 RGB。每个通道在各个像素上都拥有具体的强度或值每个通道的强度决定圖像中像素的颜色。通过添加第四种 alpha 通道文件可以指定每个像素的透明度或不透明度。alpha 的值为 0 表示透明alpha 的值为 255 则表示不透明,在此范圍之间的值表示半透明

二. 使用osg中定义的一些图形


我要回帖

更多关于 一步一步教你画古装裙 的文章

 

随机推荐