diff options
| author | git perforce import user <a@b> | 2016-10-25 12:29:14 -0600 |
|---|---|---|
| committer | Sheikh Dawood Abdul Ajees <Sheikh Dawood Abdul Ajees> | 2016-10-25 18:56:37 -0500 |
| commit | 3dfe2108cfab31ba3ee5527e217d0d8e99a51162 (patch) | |
| tree | fa6485c169e50d7415a651bf838f5bcd0fd3bfbd /APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleMesh.h | |
| download | physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.tar.xz physx-3.4-3dfe2108cfab31ba3ee5527e217d0d8e99a51162.zip | |
Initial commit:
PhysX 3.4.0 Update @ 21294896
APEX 1.4.0 Update @ 21275617
[CL 21300167]
Diffstat (limited to 'APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleMesh.h')
| -rw-r--r-- | APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleMesh.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleMesh.h b/APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleMesh.h new file mode 100644 index 00000000..debb6adf --- /dev/null +++ b/APEX_1.4/externals/extensions/include/nvsimplemesh/NvSimpleMesh.h @@ -0,0 +1,55 @@ +// TAGRELEASE: PUBLIC +#pragma once +#include <DirectXMath.h> + +class NvSimpleRawMesh; +class NvSimpleMeshLoader; + +class NvSimpleMesh +{ +public: + NvSimpleMesh(); + + HRESULT Initialize(ID3D11Device *pd3dDevice,NvSimpleRawMesh *pRawMesh); + HRESULT InitializeWithInputLayout(ID3D11Device *pd3dDevice,NvSimpleRawMesh *pRawMesh,BYTE*pIAsig, SIZE_T pIAsigSize); + HRESULT CreateInputLayout(ID3D11Device *pd3dDevice,BYTE*pIAsig, SIZE_T pIAsigSize); + void Release(); + + void SetupDraw(ID3D11DeviceContext *pd3dContext, int iDiffuseTexSlot=-1, int iNormalsTexSlot=-1); + void Draw(ID3D11DeviceContext *pd3dContext); + void DrawInstanced(ID3D11DeviceContext *pd3dContext, int iNumInstances); + + UINT iNumVertices; + UINT iNumIndices; + DXGI_FORMAT IndexFormat; + UINT VertexStride; + + DirectX::XMFLOAT3 Extents; + DirectX::XMFLOAT3 Center; + + ID3D11InputLayout *pInputLayout; + + ID3D11Buffer *pVB; + ID3D11Buffer *pIB; + ID3D11Texture2D *pDiffuseTexture; + ID3D11ShaderResourceView *pDiffuseSRV; + ID3D11Texture2D *pNormalsTexture; + ID3D11ShaderResourceView *pNormalsSRV; + char szName[260]; +}; + +class NvAggregateSimpleMesh +{ +public: + NvAggregateSimpleMesh(); + ~NvAggregateSimpleMesh(); + + HRESULT Initialize(ID3D11Device *pd3dDevice,NvSimpleMeshLoader *pMeshLoader); + HRESULT InitializeWithInputLayout(ID3D11Device *pd3dDevice,NvSimpleMeshLoader *pMeshLoader,BYTE*pIAsig, SIZE_T pIAsigSize); + void Release(); + + void Draw(ID3D11DeviceContext *pd3dContext, int iDiffuseTexSlot=-1, int iNormalsTexSlot=-1); + + int NumSimpleMeshes; + NvSimpleMesh *pSimpleMeshes; +};
\ No newline at end of file |