我是靠谱客的博主 冷傲冰淇淋,最近开发中收集的这篇文章主要介绍osg osgb osgt格式,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

osg、其中osgb是osg的二进制格式;osgt格式是 如下官网解释:

OSGT file is an OpenSceneGraph ASCII Scene Data. The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling.
翻译:OSGT文件是OpenSceneGraph ASCII场景数据。OpenSceneGraph是一个开源的高性能3D图形工具包,供应用程序开发人员在视觉模拟、游戏、虚拟现实、科学可视化和建模等领域使用。

如下以非常常见的牛作为例子来讲解OSG格式 :

Group {  
UniqueID Group_0      //Gourp名称  
DataVariance STATIC   //不知道用来干嘛,一般都是static  
cullingActive TRUE    //剔除阴影视点看不见的地方部分优化等等  
num_children 1        //子节点数  
Geode {               ////子节点是Geode节点(Geode节点是叶节点,它不会再有子节点,可以与任意多个Drawable的对象关联)   
 DataVariance DYNAMIC         
 name "cow.osg"        //Geode名称,应该是模型路径吧 就是文件名    
 cullingActive TRUE    //参与剔除    
 num_drawables 1       //可绘制元素Drawable对象的数目,1   
 Geometry {            //Gemetry,是可绘制对象类型之一。用指定顶点数据,绘制几何体。      
	DataVariance DYNAMIC     
		StateSet {          //渲染状态机。分为渲染属性和渲染模式两部分。是个状态值,直到子节点重新设置前,它的值一直沿节点树向下有效。       
			DataVariance STATIC        
			rendering_hint OPAQUE_BIN   //  渲染有关系 不透明        
			renderBinMode INHERIT       //渲染有关系 继承渲染状态        
			GL_CULL_FACE OFF            //和裁剪有关的   裁剪面       
			GL_LIGHTING ON              //灯光打开       
			Material {                  //材质相关          
				DataVariance STATIC         
				ColorMode OFF              //指定了质材的颜色跟踪属性 底下的四种        
				ambientColor 0.5 0.5 0.5 1    //环境光          
				diffuseColor 1 1 1 1          //漫反射        
				specularColor 1 1 1 1         //镜面反射         
				emissionColor 0 0 0 1         //自发光         
				shininess 1                   //光泽 01       
			}        
			textureUnit 0 {             //纹理贴图部分         
				GL_TEXTURE_GEN_S ON         
				GL_TEXTURE_GEN_T ON         
				GL_TEXTURE_2D ON        //打开2D的贴图         
				Texture2D {            //2D的贴图            
					DataVariance STATIC           
					file "Images/reflect.rgb" //贴图文件           
					wrap_s REPEAT           
					wrap_t REPEAT          
					wrap_r REPEAT            
					min_filter NEAREST_MIPMAP_LINEAR  //filter 线性MIPMAP          
					mag_filter LINEAR         
					internalFormatMode USE_IMAGE_DATA_FORMAT //格式模式          
					subloadMode OFF  //分载模式关闭       
					}          
				TexGen {      //纹理坐标生成 
					Texture coordinate generation         
					DataVariance STATIC          
					mode SPHERE_MAP //像镜子一样反射环境(此时这张纹理贴图相当于环境贴图)这里包括ObjectLinear, EyeLinear, SphereMap, CubeReflect, CubeNormal 模式等等         
					}       
			}      
		}      
		useDisplayList TRUE     //显示模型的列表     
		Primitives 1 //图元      
		{        
			DrawArrayLengths TRIANGLE_STRIP 0 984  //三角图元构成画几何面       
			{          
				3          
				3         
				3         
				3       
			}      
		}     
		VertexArray 7772      //顶点坐标     
		{        
			4.76334 -1.36791 3.02949       
			4.85496 -1.36297 3.09889        
			4.73514 -1.38955 3.08412       
			4.92619 0.143477 2.29847     
		}     
		NormalBinding PER_VERTEX     //法向量绑定方式,每个顶点    
		NormalArray 7772   
		{       
			0.254622 -0.918791 -0.301648      
			0.440603 -0.85537 -0.272417      
			0.244499 -0.920072 -0.306084       
			0.506864 0.840135 -0.193035     
		}     
		ColorBinding OVERALL         //设置颜色的绑定方式     
		ColorArray Vec4Array 1      //颜色的值     
		{        0.8 0.8 0.8 1      }     
		TexCoordArray 0 Vec2Array 7772  //纹理UV坐标      { 
			0 0        
			0 0       
			0 0       
			0 0    
		}  
	}  
  }
}
			

最后

以上就是冷傲冰淇淋为你收集整理的osg osgb osgt格式的全部内容,希望文章能够帮你解决osg osgb osgt格式所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部