Stride

OPEN / CLOSE
  • Features
  • Blog
  • Documentation
  • Community
(icon) Download

  • Discord
  • Facebook
  • Twitter
  • YouTube

LANGUAGE

OPEN / CLOSE
  • English
  • 日本語
    Show / Hide Table of Contents

    VertexHelper Class

    Namespace: Stride.Graphics
    Assembly: Stride.Graphics.dll

    An helper class for manipulating vertex buffers on CPU (Generate new vertex attributes...etc.)

    System.Object → VertexHelper
    Derived from VertexHelper:

    public static class VertexHelper
    Name Description
    Methods
    GenerateMultiTextureCoordinates(VertexDeclaration, Byte[], Int32, Int32)

    Generates multi texture coordinates for an existing vertex buffer. See remarks.

    GenerateMultiTextureCoordinates(VertexDeclaration, IntPtr, Int32, Int32, Int32, Int32)

    Generates multi texture coordinates for an existing vertex buffer. See remarks.

    GenerateMultiTextureCoordinates(VertexHelper.VertexTransformResult, Int32, Int32)

    Generates multi texture coordinates for an existing vertex buffer. See remarks.

    GenerateMultiTextureCoordinates<T>(VertexDeclaration, T[], Int32)

    Generates multi texture coordinates for an existing vertex buffer. See remarks.

    GenerateTangentBinormal(VertexDeclaration, IntPtr, Int32, Int32, Int32, IntPtr, Boolean, Int32)

    Generate Tangent BiNormal from an existing vertex/index buffer.

    GenerateTangentBinormal<T>(VertexDeclaration, T[], Int32[])

    Generates the tangent binormal for an existing vertex buffer.

    | Improve this Doc View Source

    Methods


    GenerateMultiTextureCoordinates(VertexDeclaration, Byte[], Int32, Int32)

    Generates multi texture coordinates for an existing vertex buffer. See remarks.

    public static VertexHelper.VertexTransformResult GenerateMultiTextureCoordinates(VertexDeclaration vertexDeclaration, byte[] vertexBufferData, int vertexStride = 0, int maxTexcoord = 9)
    Parameters
    Type Name Description
    VertexDeclaration vertexDeclaration

    The vertex declaration.

    System.Byte[] vertexBufferData

    The vertex buffer data.

    System.Int32 vertexStride

    The vertex stride.

    System.Int32 maxTexcoord

    The maximum texcoord.

    Returns
    Type Description
    VertexHelper.VertexTransformResult

    A new vertex buffer with additional texture coordinates.

    Remarks

    The original vertex buffer must contain at least a TEXCOORD[0-9] attribute in order for this method to work. This method will copy the value of the first existing TEXCOORD found in the vertex buffer to the newly created TEXCOORDS.

    Exceptions
    Type Condition
    System.ArgumentNullException

    vertexDeclaration or vertexBufferData


    GenerateMultiTextureCoordinates(VertexDeclaration, IntPtr, Int32, Int32, Int32, Int32)

    Generates multi texture coordinates for an existing vertex buffer. See remarks.

    public static VertexHelper.VertexTransformResult GenerateMultiTextureCoordinates(VertexDeclaration vertexDeclaration, IntPtr vertexBufferData, int vertexCount, int vertexOffset, int vertexStride, int maxTexcoord = 9)
    Parameters
    Type Name Description
    VertexDeclaration vertexDeclaration

    The vertex declaration.

    System.IntPtr vertexBufferData

    The vertex buffer data.

    System.Int32 vertexCount

    The vertex count.

    System.Int32 vertexOffset

    The vertex offset.

    System.Int32 vertexStride

    The vertex stride.

    System.Int32 maxTexcoord

    The maximum texcoord.

    Returns
    Type Description
    VertexHelper.VertexTransformResult

    A new vertex buffer with additional texture coordinates.

    Remarks

    The original vertex buffer must contain at least a TEXCOORD[0-9] attribute in order for this method to work. This method will copy the value of the first existing TEXCOORD found in the vertex buffer to the newly created TEXCOORDS.

    Exceptions
    Type Condition
    System.ArgumentNullException

    vertexDeclaration or vertexBufferData

    System.ArgumentOutOfRangeException

    vertexCount;vertexCount must be > 0 or vertexStride;vertexStride must be >= 0 or maxTexcoord;maxTexcoord must be >= 0

    System.InvalidOperationException

    The vertex buffer must contain at least the TEXCOORD


    GenerateMultiTextureCoordinates(VertexHelper.VertexTransformResult, Int32, Int32)

    Generates multi texture coordinates for an existing vertex buffer. See remarks.

    public static VertexHelper.VertexTransformResult GenerateMultiTextureCoordinates(VertexHelper.VertexTransformResult transform, int vertexStride = 0, int maxTexcoord = 9)
    Parameters
    Type Name Description
    VertexHelper.VertexTransformResult transform

    The result of a previous transform.

    System.Int32 vertexStride

    The vertex stride.

    System.Int32 maxTexcoord

    The maximum texcoord.

    Returns
    Type Description
    VertexHelper.VertexTransformResult

    A new vertex buffer with additional texture coordinates.

    Remarks

    The original vertex buffer must contain at least a TEXCOORD[0-9] attribute in order for this method to work. This method will copy the value of the first existing TEXCOORD found in the vertex buffer to the newly created TEXCOORDS.


    GenerateMultiTextureCoordinates<T>(VertexDeclaration, T[], Int32)

    Generates multi texture coordinates for an existing vertex buffer. See remarks.

    public static VertexHelper.VertexTransformResult GenerateMultiTextureCoordinates<T>(VertexDeclaration vertexDeclaration, T[] vertexBufferData, int maxTexcoord = 9)
        where T : struct
    Parameters
    Type Name Description
    VertexDeclaration vertexDeclaration

    The vertex declaration.

    T[] vertexBufferData

    The vertex buffer data.

    System.Int32 maxTexcoord

    The maximum texcoord.

    Returns
    Type Description
    VertexHelper.VertexTransformResult

    A new vertex buffer with additional texture coordinates.

    Type Parameters
    Name Description
    T
    Remarks

    The original vertex buffer must contain at least a TEXCOORD[0-9] attribute in order for this method to work. This method will copy the value of the first existing TEXCOORD found in the vertex buffer to the newly created TEXCOORDS.

    Exceptions
    Type Condition
    System.ArgumentNullException

    vertexDeclaration or vertexBufferData


    GenerateTangentBinormal(VertexDeclaration, IntPtr, Int32, Int32, Int32, IntPtr, Boolean, Int32)

    Generate Tangent BiNormal from an existing vertex/index buffer.

    public static VertexHelper.VertexTransformResult GenerateTangentBinormal(VertexDeclaration vertexDeclaration, IntPtr vertexBufferData, int vertexCount, int vertexOffset, int vertexStride, IntPtr indexData, bool is32BitIndex, int indexCountArg)
    Parameters
    Type Name Description
    VertexDeclaration vertexDeclaration

    The vertex declaration of the vertex buffer passed by parameters.

    System.IntPtr vertexBufferData

    The vertex buffer.

    System.Int32 vertexCount

    The vertex count.

    System.Int32 vertexOffset

    The vertex offset.

    System.Int32 vertexStride

    The vertex stride. If 0, It takes the stride from the vertex declaration

    System.IntPtr indexData

    The index data.

    System.Boolean is32BitIndex

    if set to true [is32 bit index].

    System.Int32 indexCountArg

    The index count argument.

    Returns
    Type Description
    VertexHelper.VertexTransformResult

    A new vertex buffer with its new layout.


    GenerateTangentBinormal<T>(VertexDeclaration, T[], Int32[])

    Generates the tangent binormal for an existing vertex buffer.

    public static VertexHelper.VertexTransformResult GenerateTangentBinormal<T>(VertexDeclaration vertexDeclaration, T[] vertexBufferData, int[] indexBuffer)
        where T : struct
    Parameters
    Type Name Description
    VertexDeclaration vertexDeclaration

    The vertex declaration.

    T[] vertexBufferData

    The vertex buffer data.

    System.Int32[] indexBuffer

    The index buffer.

    Returns
    Type Description
    VertexHelper.VertexTransformResult

    A new vertex buffer with its new layout.

    Type Parameters
    Name Description
    T

    • Improve this Doc
    • View Source
    In This Article

    Back to top

    Copyright © 2019-2021 .NET Foundation and Contributors
    Supported by the .NET Foundation