예제 #1
0
        public RenderNode(IRenderable renderableObject)
        {
            Textures = new Texture2D[7];

            this.renderableObject = renderableObject;
            //Vertex			TexCoord			//Normals			 //Tangents
            vbuffer = new VertexBuffer (renderableObject.GetVertexCount () / 3, renderableObject.GetIndexCount (), VertexFormat.Float3, VertexFormat.Float2, VertexFormat.Float3, VertexFormat.Float3);
            vbuffer.SetVertices (0, renderableObject.GetVertices ());

            if (renderableObject.GetTexCoords () != null)
                vbuffer.SetVertices (1, renderableObject.GetTexCoords ());
            if (renderableObject.HasNormals ())
                vbuffer.SetVertices (2, renderableObject.GetNormals ());
            if (renderableObject.GetTangents () != null)
                vbuffer.SetVertices (3, renderableObject.GetTangents ());

            vbuffer.SetIndices (renderableObject.GetIndices ());
        }