コード例 #1
0
ファイル: RenderHelper.cs プロジェクト: yxrkt/outbreak
        /// <summary>
        /// 複数の頂点要素を合成する
        /// </summary>
        /// <param name="graphicsDevice">頂点宣言を生成する為のGraphicsDevice</param>
        /// <param name="originalElements">元の頂点要素</param>
        /// <param name="extraElements">追加する頂点要素</param>
        /// <returns>新要素追加後の頂点宣言</returns>
        public static VertexDeclaration ExtendVertexDeclaration(
            GraphicsDevice graphicsDevice,
            VertexElement[] originalElements,
            VertexElement[] extraElements)
        {
            int length = originalElements.Length + extraElements.Length;

              VertexElement[] elements = new VertexElement[length];

              originalElements.CopyTo( elements, 0 );
              extraElements.CopyTo( elements, originalElements.Length );

              return new VertexDeclaration( graphicsDevice, elements );
        }
コード例 #2
0
ファイル: InstancedModelPart.cs プロジェクト: rgee/Skyblocks
        /// <summary>
        /// Modifies vertex declaration to include additional channels
        /// </summary>
        /// <param name="extraElements"></param>
        void ExtendVertexDeclaration(VertexElement[] extraElements)
        {
            vertexDeclaration.Dispose();

            int length = originalVertexDeclaration.Length + extraElements.Length;

            VertexElement[] elements = new VertexElement[length];

            originalVertexDeclaration.CopyTo(elements, 0);

            extraElements.CopyTo(elements, originalVertexDeclaration.Length);

            // Create
            vertexDeclaration = new VertexDeclaration(device, elements);
        }