//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详解的更多相关文章

  1. GLSL-几何着色器详解跟实例(GS:Geometry Shader)[转]

    [OpenGL4.0]GLSL-几何着色器详解和实例(GS:Geometry Shader) 一.什么是几何着色器(GS:Geometry Shader) Input Assembler(IA)从顶点 ...

  2. 算法进阶面试题01——KMP算法详解、输出含两次原子串的最短串、判断T1是否包含T2子树、Manacher算法详解、使字符串成为最短回文串

    1.KMP算法详解与应用 子序列:可以连续可以不连续. 子数组/串:要连续 暴力方法:逐个位置比对. KMP:让前面的,指导后面. 概念建设: d的最长前缀与最长后缀的匹配长度为3.(前缀不能到最后一 ...

  3. Unity3D NGUI UIPlayTween(原UIButtonTween)动画事件详解

    http://blog.csdn.net/asd237241291/article/details/8507817 原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 Unity3D引擎技术 ...

  4. (转)详解LVS负载均衡之三种工作模型原理和10种调度算法

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://linuxnx.blog.51cto.com/6676498/1195379 LV ...

  5. 安卓程序代写 网上程序代写[原]BluetoothSocket详解

    一. BluetoothSocket简介 1. 简介 客户端与服务端 : BluetoothSocket 和 BluetoothServerSocket 类似于Java中的套接字的 Socket 和 ...

  6. 安卓程序代写 网上程序代写[原]BluetoothDevice详解

    一. BluetoothDevice简介 1. 继承关系 public static Class BluetoothDevice extends Object implement Parcelable ...

  7. 【原】AMFObject数据格式详解

    AMF AMF是Action Message Format(动作消息格式)的简写,它是一种二进制的数据格式.它的设计是为了把actionscript里面的数据(包括Object, Array, Boo ...

  8. NAND_FLASH_内存详解与读写寻址方式

    一.内存详解 NAND闪存阵列分为一系列128kB的区块(block),这些区块是 NAND器件中最小的可擦除实体.擦除一个区块就是把所有的位(bit)设置为"1"(而所有字节(b ...

  9. CATIA 基础详解 第01章 CATIA初认识

    1.1 CATIA V5产品介绍 CATIA V5是基于美国IBM公司与法国达索系统公司(Dassault Systèmes)软件解决方案推出的新一代产品,它致力于满足以设计流程为中心的设计需求.它提 ...

随机推荐

  1. 【附】Python安装

    Python是跨平台的,它可以运行在Windows.Mac和各种Linux/Unix系统上. 首先要实现Python安装及环境变量配置,然后会得到Python解释器(就是负责运行Python程序的), ...

  2. K8S学习笔记之修改K8S的api-server证书

    K8S的api-server证书包含很多IP和域名,有时候后期才发现证书内有错误,需要重新生成该证书. 修改server-csr.json,修改后基于原来的ca证书重新生成server.perm  s ...

  3. 深入理解Word2Vec

    Word2Vec Tutorial - The Skip-Gram Model,Skip-Gram模型的实现原理:http://mccormickml.com/2016/04/19/word2vec- ...

  4. 《论vue在前后端分离项目中的实践之年终总结》

    我是2014年的时候开始了解知道的vue,当时vue还不太成熟,想用但是又怕自己hold不住,况且那时候vue还没有成熟的(路由.验证.ui组件)插件,社区也是不温不火的,再说也没有合适的机遇让我去项 ...

  5. paymob QB冲值接口

    static string PostPaymob() { string url = "http://www.paymob.cn/getorderinfo/index"; //统一分 ...

  6. 猜字母游戏(Java)

    我的代码: package day20181025; import java.util.Arrays; import java.util.Scanner; /** * 猜字母 * @author Ad ...

  7. mint-ui之Swipe使用

    <template> <div> <div class="swipe-wrapper"> <mt-swipe :auto="10 ...

  8. shell if 语句

    一.过程式 编程语言的代码执行顺序: a.顺序执行:逐条执行: b.选择执行: 代码有一个分支:条件满足时才会执行: 俩个或以上的分支:只会执行其中一个满足条件的分支: c.循环执行: 代码片段(循环 ...

  9. topcoder srm 480 div1

    problem1 link 直接模拟即可. problem2 link 首先,网关一定是安装在client与server之间的链路上.而不会安装在client与client之间的链路上.对于一条路径c ...

  10. P3128 [USACO15DEC]最大流Max Flow

    思路 这个题哪里有那么费脑筋 我们可以树链剖分嘛LCT昨天学的时候睡着了,不是太会 两遍dfs+一个5行的BIT 其实树链剖分学好了对倍增和LCT理解上都有好处 一条路径上的修改 由于一条剖出来的链是 ...