文件格式:osgb

//Group节点,可有子节点。
Group {
 
UniqueID Group_0         //Gourp名称
DataVariance STATIC   //不知道用来干嘛,一般都是static
cullingActive TRUE      //参与culling?
num_children 1               //子节点数
 
Geode {   //子节点是Geode节点(Geode节点是叶节点,它不会再有子节点,可以与任意多个Drawable的对象关联)
 
    DataVariance DYNAMIC
    name "cow.osg"              //Geode名称,应该是模型路径吧
    cullingActive TRUE       //参与culling
    num_drawables 1           //可绘制元素Drawable对象的数目,1
 
    Geometry {   //Drawable :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                              //????????
         } ////材质结束
 
        textureUnit 0 { //纹理单元,1,可以多个。序数依次。
 
          GL_TEXTURE_GEN_S ON   //啥啥啥???
          GL_TEXTURE_GEN_T ON   //啥啥啥???
          GL_TEXTURE_2D ON           //啥啥啥???
 
          Texture2D {    //2D的贴图
            DataVariance STATIC
            file "Images/reflect.rgb" //贴图文件
            wrap_s REPEAT             //repeat嘛,很容易懂
            wrap_t REPEAT
            wrap_r REPEAT
            min_filter NEAREST_MIPMAP_LINEAR //什么filter
            mag_filter LINEAR                                        //另一个filter
            internalFormatMode USE_IMAGE_DATA_FORMAT //??
            subloadMode OFF                                                               //??
          }////Texture结束
 
          TexGen {   //贴图坐标?
            DataVariance STATIC
            mode SPHERE_MAP   //啥啥球面?——"环境反射贴图,选球面就可以了"?
          }////贴图坐标结束
 
        }////纹理单元1结束
 
      }////Geometry的stateset结束
 
      useDisplayList TRUE    //显示模型的列表????
 
      Primitives 1   //貌似是Gemotry的图元信息
      {
        DrawArrayLengths TRIANGLE_STRIP 0 984    //画几何面?985个?
        {
          3
          // 略一堆面?的数值。。。3是指3边形么?@v@
        }
      } ////primitives完
 
      VertexArray 7772   //顶点坐标
      {
        // 略一堆表示顶点的数值。
        0.701499 2.00244e-05 0.71267
        0.501693 4.00296e-05 0.865046
        0.465203 0.372921 0.802818
      }
 
      NormalBinding PER_VERTEX     //法向量绑定方式,每个顶点
      NormalArray 7772                          //法向量数组
      {
        0.254622 -0.918791 -0.301648
        0.440603 -0.85537 -0.272417
        0.244499 -0.920072 -0.306084
      }
 
      ColorBinding OVERALL      //Geometry的颜色绑定,啥意思我也不知。
 
      ColorArray Vec4Array 1     //颜色的值
      {
        0.8 0.8 0.8 1
      }
 
      TexCoordArray 0 Vec2Array 7772 //应该是修饰顶点的啥东西=.=
      {
        0 0
        // 略一堆。。。。。。数值。
      }
 
    }////Geometry完
 
}////Geode完
 
}////Group完
  • 文件格式/osgb.txt
  • 最后更改: 2021/06/23 22:09
  • (外部编辑)