[原][osg]Geometry详解
//geometry成员变量
PrimitiveSetList _primitives;
osg::ref_ptr<Array> _vertexArray; //顶点
osg::ref_ptr<Array> _normalArray; //法线
osg::ref_ptr<Array> _colorArray; //
osg::ref_ptr<Array> _secondaryColorArray; //
osg::ref_ptr<Array> _fogCoordArray; //
ArrayList _texCoordList; //纹理UV
ArrayList _vertexAttribList; // bool _containsDeprecatedData; //
osgt文件中保存的格式:
osg::Geometry {
UniqueID 2
DataVariance STATIC
StateSet TRUE {
osg::StateSet {
UniqueID 3
DataVariance STATIC
AttributeList 1 {
osg::Material {
UniqueID 4
Ambient TRUE Front 1 1 1 1 Back 1 1 1 1
Diffuse TRUE Front 1 1 1 1 Back 1 1 1 1
Specular TRUE Front 0 0 0 1 Back 0 0 0 1
Emission TRUE Front 0 0 0 1 Back 0 0 0 1
Shininess TRUE Front 0 Back 0
}
Value OFF
}
TextureModeList 1 {
Data 1 {
GL_TEXTURE_2D ON
}
}
TextureAttributeList 1 {
Data 1 {
osg::Texture2D {
UniqueID 5
DataVariance STATIC
WRAP_S CLAMP
WRAP_T CLAMP
WRAP_R CLAMP
MIN_FILTER LINEAR
MAG_FILTER LINEAR
UnRefImageDataAfterApply TRUE
Swizzle RGBA
Image TRUE {
ClassName osg::Image
UniqueID 6
FileName "Tile_1_L23_000001001000_0.dds"
WriteHint 2 2
DataVariance STATIC
}
TextureWidth 1024
TextureHeight 1024
}
Value OFF
}
}
}
}
PrimitiveSetList 1 {
osg::DrawElementsUInt {
UniqueID 7
Mode TRIANGLES
vector 30450 {
........
}
}
}
VertexArray TRUE {
osg::Vec3Array {
UniqueID 8
Binding BIND_PER_VERTEX
vector 6681 {
........
}
}
}
TexCoordArrayList 1 {
osg::Vec2Array {
UniqueID 9
Binding BIND_PER_VERTEX
vector 6681 {
........
}
}
}
}
大致分析一下:
一个geometry包含:
一个stateset
一个primitive列表
一个顶点数组
一个纹理数组列表
stateset包含:attribute数组,纹理数组
primitive包含:绘制的图元信息:(绘制格式,顶点索引)
顶点数组包含:三维顶点位置信息
纹理数组包含:二维顶点UV信息
[原][osg]Geometry详解的更多相关文章
- GLSL-几何着色器详解跟实例(GS:Geometry Shader)[转]
[OpenGL4.0]GLSL-几何着色器详解和实例(GS:Geometry Shader) 一.什么是几何着色器(GS:Geometry Shader) Input Assembler(IA)从顶点 ...
- 算法进阶面试题01——KMP算法详解、输出含两次原子串的最短串、判断T1是否包含T2子树、Manacher算法详解、使字符串成为最短回文串
1.KMP算法详解与应用 子序列:可以连续可以不连续. 子数组/串:要连续 暴力方法:逐个位置比对. KMP:让前面的,指导后面. 概念建设: d的最长前缀与最长后缀的匹配长度为3.(前缀不能到最后一 ...
- Unity3D NGUI UIPlayTween(原UIButtonTween)动画事件详解
http://blog.csdn.net/asd237241291/article/details/8507817 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术 ...
- (转)详解LVS负载均衡之三种工作模型原理和10种调度算法
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://linuxnx.blog.51cto.com/6676498/1195379 LV ...
- 安卓程序代写 网上程序代写[原]BluetoothSocket详解
一. BluetoothSocket简介 1. 简介 客户端与服务端 : BluetoothSocket 和 BluetoothServerSocket 类似于Java中的套接字的 Socket 和 ...
- 安卓程序代写 网上程序代写[原]BluetoothDevice详解
一. BluetoothDevice简介 1. 继承关系 public static Class BluetoothDevice extends Object implement Parcelable ...
- 【原】AMFObject数据格式详解
AMF AMF是Action Message Format(动作消息格式)的简写,它是一种二进制的数据格式.它的设计是为了把actionscript里面的数据(包括Object, Array, Boo ...
- NAND_FLASH_内存详解与读写寻址方式
一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设置为"1"(而所有字节(b ...
- CATIA 基础详解 第01章 CATIA初认识
1.1 CATIA V5产品介绍 CATIA V5是基于美国IBM公司与法国达索系统公司(Dassault Systèmes)软件解决方案推出的新一代产品,它致力于满足以设计流程为中心的设计需求.它提 ...
随机推荐
- Failed to connect to MySQL server as DBD::mysql module is not installed 问题的解决
部署PXC ,卸了旧的MySQL perl-DBD-MySQL-4.013-3.el6.x86_64 这个包已经安装了,innobackup时一直在报错: Failed to connect to M ...
- jQuery操作下拉框的text值和val值
jQuery操作下拉框的text值和val值 1,JS源码 <select name="select1" id="select1" style=" ...
- shell脚本一键安装redis
支持识别离线包和联网安装,自动修改使用后台运行模式,离线安装的方法是,将离线包和脚本放在同一个文件夹, 它会先识别有没有离线包, 有离线包就先安装离线包, 没有离线包就安装进行判断机器是否能联网, 能 ...
- mysql导入导出表
导入 source ***(路径+文件) 导出 mysqldump -uroot -plizhenghua 数据库名 表名 > 你要保存的sql文件(加位置)
- 让CSS某行不失效
比如百度的分享代码 <div id="bdshare" class="bdshare_t bds_tools get-codes-bdshare"> ...
- hdu 1394 Minimum Inversion Number - 树状数组
The inversion number of a given number sequence a1, a2, ..., an is the number of pairs (ai, aj) that ...
- 【python014--字符串内置函数】
一.实现跨越多行的字符串 1.采用双引号实现 str1 = ""待我长发及腰,将军归来可好?此身君子意逍遥,怎料山河萧萧天光乍破遇,暮雪白头老寒剑默听奔雷,长枪独守空豪醉卧沙场君莫 ...
- git如何跨分支查找某个commit所属分支?
答: git branch -a --contains <commit id>
- linux内核中宏likely和unlikely到底做了些什么?
1. 先看看它们长啥样吧!(它们有两种定义,第一种是使能了程序trace功能的宏定义,第二种是普通的宏定义,咱们分析普通宏定义吧) # define likely(x) __builtin_expec ...
- bzoj 2527: [Poi2011]Meteors
昨天写了一晚,越写复杂度越感觉不对,早上一想果然是假的. (这里n,m,k我就不区分了) 首先一个城市的询问可以很容易的二分 check用树状数组维护区间(区间修改,单点查询的那种) 一次是\(O(n ...