public static H1PixelFormat ConvertToPixelFormat(H1VertexElementType vertexElementType)
        {
            H1PixelFormat pixelFormat = new H1PixelFormat();

            switch (vertexElementType)
            {
            case H1VertexElementType.Float2:
                pixelFormat = H1PixelFormat.R32G32_FLOAT;
                break;

            case H1VertexElementType.Float3:
                pixelFormat = H1PixelFormat.R32G32B32_FLOAT;
                break;

            case H1VertexElementType.Float4:
                pixelFormat = H1PixelFormat.R32G32B32A32_FLOAT;
                break;

            case H1VertexElementType.Int4:
                pixelFormat = H1PixelFormat.R32G32B32A32_SINT;
                break;
            }

            return(pixelFormat);
        }
 public H1VertexStreamComponent(H1VertexStreamSematicType type, H1VertexElementType elementType, int offset)
 {
     m_VertexStreamComponentType = type;
     m_VertexElementType         = elementType;
     m_Stride = Convert.ToInt32(H1RHIDefinitionHelper.ElementTypeToSize(elementType));
     m_Offset = offset;
 }
示例#3
0
 public H1VertexStream(String name, String semanticName, int semanticIndex, H1VertexElementType elementType, int stride, int offset, H1VertexBuffer vertexBufferRef)
 {
     m_Name            = name;
     m_SemanticName    = semanticName;
     m_SemanticIndex   = semanticIndex;
     m_ElementType     = elementType;
     m_Stride          = Convert.ToUInt32(stride);
     m_Offset          = Convert.ToUInt32(offset);
     m_VertexBufferRef = vertexBufferRef;
 }
        public static uint ElementTypeToSize(H1VertexElementType vertexElementType)
        {
            uint size = 0;

            switch (vertexElementType)
            {
            case H1VertexElementType.Float2:
                size = sizeof(float) * 2;
                break;

            case H1VertexElementType.Float3:
                size = sizeof(float) * 3;
                break;

            case H1VertexElementType.Float4:
                size = sizeof(float) * 4;
                break;
            }

            return(size);
        }
        // @TODO - need to separate layout for platform-dependent

        // converted to directx 12 friendly format from H1VertexElementType
        public static SharpDX.DXGI.Format ConvertToFormat(H1VertexElementType vertexElementType)
        {
            SharpDX.DXGI.Format format = new SharpDX.DXGI.Format();
            switch (vertexElementType)
            {
            case H1VertexElementType.Float2:
                format = SharpDX.DXGI.Format.R32G32_Float;
                break;

            case H1VertexElementType.Float3:
                format = SharpDX.DXGI.Format.R32G32B32_Float;
                break;

            case H1VertexElementType.Float4:
                format = SharpDX.DXGI.Format.R32G32B32A32_Float;
                break;

            case H1VertexElementType.Int4:
                format = SharpDX.DXGI.Format.R32G32B32A32_SInt;
                break;
            }

            return(format);
        }