diff options
Diffstat (limited to 'APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleRawMesh.h')
| -rw-r--r-- | APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleRawMesh.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleRawMesh.h b/APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleRawMesh.h new file mode 100644 index 00000000..abdc382c --- /dev/null +++ b/APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleRawMesh.h @@ -0,0 +1,54 @@ +// TAGRELEASE: PUBLIC +#pragma once + +class NvSimpleRawMesh +{ +public: + + class Vertex + { + public: + float Position[3]; + float Normal[3]; + float UV[2]; + float Tangent[3]; + }; + + NvSimpleRawMesh(); + ~NvSimpleRawMesh(); + + UINT GetIndexSize(); + INT GetVertexStride(); + INT GetNumVertices(); + INT GetNumIndices(); + + Vertex* GetVertices(); + BYTE* GetRawVertices(); + BYTE* GetRawIndices(); + + float* GetExtents() {return m_extents;} + float* GetCenter() {return m_center;} + + static HRESULT TryGuessFilename(WCHAR *szDestBuffer,WCHAR *szMeshFilename, WCHAR *szGuessSuffix); + ID3D11Texture2D *CreateD3D11DiffuseTextureFor(ID3D11Device *pd3dDevice); + ID3D11Texture2D *CreateD3D11NormalsTextureFor(ID3D11Device *pd3dDevice); + ID3D11Buffer *CreateD3D11IndexBufferFor(ID3D11Device *pd3dDevice); + ID3D11Buffer *CreateD3D11VertexBufferFor(ID3D11Device *pd3dDevice); + + Vertex *m_pVertexData; + BYTE *m_pIndexData; + UINT m_iNumVertices; + UINT m_iNumIndices; + UINT m_IndexSize; + + float m_extents[3]; + float m_center[3]; + + WCHAR m_szMeshFilename[MAX_PATH]; + WCHAR m_szDiffuseTexture[MAX_PATH]; + WCHAR m_szNormalTexture[MAX_PATH]; + + // Utils to wrap making d3d11 render buffers from a loader mesh + static const D3D11_INPUT_ELEMENT_DESC D3D11InputElements[]; + static const int D3D11ElementsSize; +};
\ No newline at end of file |