| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using Microsoft.Xna.Framework;
- using Microsoft.Xna.Framework.Graphics;
- namespace SharpGLTF.Runtime.Template
- {
- struct VertexSkinned : IVertexType
- {
- #region static
- private static VertexDeclaration _VDecl = CreateVertexDeclaration();
- public static VertexDeclaration CreateVertexDeclaration()
- {
- int offset = 0;
- var a = new VertexElement(offset, VertexElementFormat.Vector3, VertexElementUsage.Position, 0);
- offset += 3 * 4;
- var b = new VertexElement(offset, VertexElementFormat.Vector3, VertexElementUsage.Normal, 0);
- offset += 3 * 4;
- var c = new VertexElement(offset, VertexElementFormat.Vector2, VertexElementUsage.TextureCoordinate, 0);
- offset += 2 * 4;
- var d = new VertexElement(offset, VertexElementFormat.Byte4, VertexElementUsage.BlendIndices, 0);
- offset += 4 * 1;
- var e = new VertexElement(offset, VertexElementFormat.Vector4, VertexElementUsage.BlendWeight, 0);
- offset += 4 * 4;
- return new VertexDeclaration(a, b, c, d, e);
- }
- #endregion
- #region data
- public VertexDeclaration VertexDeclaration => _VDecl;
- public Vector3 Position;
- public Vector3 Normal;
- public Vector2 TextureCoordinate;
- public Microsoft.Xna.Framework.Graphics.PackedVector.Byte4 BlendIndices;
- public Vector4 BlendWeight;
-
- #endregion
- }
- }
|