summaryrefslogtreecommitdiff
path: root/src/Mesh.cpp
diff options
context:
space:
mode:
authorJason Maskell <[email protected]>2016-05-25 16:02:23 +0200
committerJason Maskell <[email protected]>2016-05-25 16:02:23 +0200
commit69f624cfc22c361a8162f57df4a71e4324805717 (patch)
tree245e0e5ebcb120fc573eb44d82755c1456e0d519 /src/Mesh.cpp
parentAdded OpenGL sample - compiles and runs but doesn't work. (diff)
downloadwaveworks_archive-69f624cfc22c361a8162f57df4a71e4324805717.tar.xz
waveworks_archive-69f624cfc22c361a8162f57df4a71e4324805717.zip
Excised D3D9 and 10 support from library.
Diffstat (limited to 'src/Mesh.cpp')
-rw-r--r--src/Mesh.cpp365
1 files changed, 0 insertions, 365 deletions
diff --git a/src/Mesh.cpp b/src/Mesh.cpp
index 36480d5..1fc0da0 100644
--- a/src/Mesh.cpp
+++ b/src/Mesh.cpp
@@ -36,100 +36,6 @@
#endif
using namespace sce;
-#if WAVEWORKS_ENABLE_D3D9
-////////////////////////////////////////////////////////////////////////////////
-// D3D9 implementation
-////////////////////////////////////////////////////////////////////////////////
-class NVWaveWorks_MeshD3D9 : public NVWaveWorks_Mesh
-{
-public:
-
- ~NVWaveWorks_MeshD3D9();
-
- HRESULT LockVertexBuffer(LPVOID* ppData);
- HRESULT UnlockVertexBuffer();
-
- HRESULT LockIndexBuffer(LPDWORD* ppData);
- HRESULT UnlockIndexBuffer();
-
- virtual HRESULT Draw( Graphics_Context* pGC,
- PrimitiveType PrimType,
- INT BaseVertexIndex,
- UINT MinIndex,
- UINT NumVertices,
- UINT StartIndex,
- UINT PrimitiveCount,
- const UINT* pShaderInputMappings
- );
-
- virtual HRESULT PreserveState(Graphics_Context* pGC, GFSDK_WaveWorks_Savestate* pSavestateImpl);
-
-private:
-
- friend class NVWaveWorks_Mesh; // For creation
- NVWaveWorks_MeshD3D9( LPDIRECT3DDEVICE9 pD3DDevice,
- LPDIRECT3DVERTEXDECLARATION9 pDecl,
- LPDIRECT3DVERTEXBUFFER9 pVertexBuffer,
- LPDIRECT3DINDEXBUFFER9 pIndexBuffer,
- UINT VertexStride
- );
-
- LPDIRECT3DDEVICE9 m_pd3dDevice;
- LPDIRECT3DVERTEXDECLARATION9 m_pDecl;
- LPDIRECT3DVERTEXBUFFER9 m_pVB;
- LPDIRECT3DINDEXBUFFER9 m_pIB;
- UINT m_VertexStride;
-
- // Revoked copy/assign
- NVWaveWorks_MeshD3D9(const NVWaveWorks_MeshD3D9&);
- NVWaveWorks_MeshD3D9& operator=(const NVWaveWorks_MeshD3D9&);
-};
-#endif
-
-#if WAVEWORKS_ENABLE_D3D10
-////////////////////////////////////////////////////////////////////////////////
-// D3D10 implementation
-////////////////////////////////////////////////////////////////////////////////
-class NVWaveWorks_MeshD3D10 : public NVWaveWorks_Mesh
-{
-public:
-
- ~NVWaveWorks_MeshD3D10();
-
- virtual HRESULT Draw( Graphics_Context* pGC,
- PrimitiveType PrimType,
- INT BaseVertexIndex,
- UINT MinIndex,
- UINT NumVertices,
- UINT StartIndex,
- UINT PrimitiveCount,
- const UINT* pShaderInputMappings
- );
-
- virtual HRESULT PreserveState(Graphics_Context* pGC, GFSDK_WaveWorks_Savestate* pSavestateImpl);
-
-private:
-
- friend class NVWaveWorks_Mesh; // For creation
- NVWaveWorks_MeshD3D10( ID3D10Device* pD3DDevice,
- ID3D10InputLayout* pLayout,
- ID3D10Buffer* pVertexBuffer,
- ID3D10Buffer* pIndexBuffer,
- UINT VertexStride
- );
-
- ID3D10Device* m_pd3dDevice;
- ID3D10InputLayout* m_pLayout;
- ID3D10Buffer* m_pVB;
- ID3D10Buffer* m_pIB;
- UINT m_VertexStride;
-
- // Revoked copy/assign
- NVWaveWorks_MeshD3D10(const NVWaveWorks_MeshD3D10&);
- NVWaveWorks_MeshD3D10& operator=(const NVWaveWorks_MeshD3D10&);
-};
-#endif
-
#if WAVEWORKS_ENABLE_D3D11
////////////////////////////////////////////////////////////////////////////////
// D3D11 implementation
@@ -258,112 +164,6 @@ private:
NVWaveWorks_MeshGL2& operator=(const NVWaveWorks_MeshGL2&);
};
#endif
-HRESULT NVWaveWorks_Mesh::CreateD3D9( IDirect3DDevice9* D3D9_ONLY(pD3DDev),
- const D3DVERTEXELEMENT9* D3D9_ONLY(pVertexElements),
- UINT D3D9_ONLY(VertexStride),
- const void* D3D9_ONLY(pVertData),
- UINT D3D9_ONLY(NumVerts),
- const DWORD* D3D9_ONLY(pIndexData),
- UINT D3D9_ONLY(NumIndices),
- NVWaveWorks_Mesh** D3D9_ONLY(ppMesh)
- )
-{
-#if WAVEWORKS_ENABLE_D3D9
- HRESULT hr;
-
- LPDIRECT3DVERTEXDECLARATION9 pDecl = NULL;
- V_RETURN(pD3DDev->CreateVertexDeclaration(pVertexElements, &pDecl));
-
- LPDIRECT3DVERTEXBUFFER9 pVB = NULL;
- V_RETURN(pD3DDev->CreateVertexBuffer(NumVerts * VertexStride, D3DUSAGE_WRITEONLY, 0, D3DPOOL_DEFAULT, &pVB, NULL));
-
- LPDIRECT3DINDEXBUFFER9 pIB = NULL;
- V_RETURN(pD3DDev->CreateIndexBuffer(NumIndices * sizeof(DWORD), D3DUSAGE_WRITEONLY, D3DFMT_INDEX32, D3DPOOL_DEFAULT, &pIB, NULL));
-
- NVWaveWorks_MeshD3D9* pMesh = new NVWaveWorks_MeshD3D9(pD3DDev, pDecl, pVB, pIB, VertexStride);
-
- pDecl->Release();
- pVB->Release();
- pIB->Release();
-
- void* pV = NULL;
- V_RETURN(pMesh->LockVertexBuffer(&pV));
- memcpy(pV, pVertData, VertexStride * NumVerts);
- V_RETURN(pMesh->UnlockVertexBuffer());
-
- DWORD* pI = NULL;
- V_RETURN(pMesh->LockIndexBuffer(&pI));
- memcpy(pI, pIndexData, sizeof(DWORD) * NumIndices);
- V_RETURN(pMesh->UnlockIndexBuffer());
-
- *ppMesh = pMesh;
-
- return S_OK;
-#else
- return E_FAIL;
-#endif
-}
-
-HRESULT NVWaveWorks_Mesh::CreateD3D10( ID3D10Device* D3D10_ONLY(pD3DDev),
- const D3D10_INPUT_ELEMENT_DESC * D3D10_ONLY(pInputElementDescs),
- UINT D3D10_ONLY(NumElements),
- const void * D3D10_ONLY(pShaderBytecodeWithInputSignature),
- SIZE_T D3D10_ONLY(BytecodeLength),
- UINT D3D10_ONLY(VertexStride),
- const void* D3D10_ONLY(pVertData),
- UINT D3D10_ONLY(NumVerts),
- const DWORD* D3D10_ONLY(pIndexData),
- UINT D3D10_ONLY(NumIndices),
- NVWaveWorks_Mesh** D3D10_ONLY(ppMesh)
- )
-{
-#if WAVEWORKS_ENABLE_D3D10
- HRESULT hr;
-
- ID3D10InputLayout* pLayout = NULL;
- V_RETURN(pD3DDev->CreateInputLayout(pInputElementDescs, NumElements, pShaderBytecodeWithInputSignature, BytecodeLength, &pLayout));
-
- ID3D10Buffer* pVB = NULL;
- D3D10_BUFFER_DESC vbDesc;
- vbDesc.ByteWidth = NumVerts * VertexStride;
- vbDesc.Usage = D3D10_USAGE_IMMUTABLE;
- vbDesc.BindFlags = D3D10_BIND_VERTEX_BUFFER;
- vbDesc.CPUAccessFlags = 0;
- vbDesc.MiscFlags = 0;
-
- D3D10_SUBRESOURCE_DATA vSrd;
- vSrd.pSysMem = pVertData;
- vSrd.SysMemPitch = 0;
- vSrd.SysMemSlicePitch = 0;
-
- V_RETURN(pD3DDev->CreateBuffer(&vbDesc, &vSrd, &pVB));
-
- ID3D10Buffer* pIB = NULL;
- D3D10_BUFFER_DESC ibDesc;
- ibDesc.ByteWidth = NumIndices * sizeof(DWORD);
- ibDesc.Usage = D3D10_USAGE_IMMUTABLE;
- ibDesc.BindFlags = D3D10_BIND_INDEX_BUFFER;
- ibDesc.CPUAccessFlags = 0;
- ibDesc.MiscFlags = 0;
-
- D3D10_SUBRESOURCE_DATA iSrd;
- iSrd.pSysMem = pIndexData;
- iSrd.SysMemPitch = 0;
- iSrd.SysMemSlicePitch = 0;
-
- V_RETURN(pD3DDev->CreateBuffer(&ibDesc, &iSrd, &pIB));
-
- *ppMesh = new NVWaveWorks_MeshD3D10(pD3DDev, pLayout, pVB, pIB, VertexStride);
-
- pLayout->Release();
- pVB->Release();
- pIB->Release();
-
- return S_OK;
-#else
- return E_FAIL;
-#endif
-}
HRESULT NVWaveWorks_Mesh::CreateD3D11( ID3D11Device* D3D11_ONLY(pD3DDev),
const D3D11_INPUT_ELEMENT_DESC * D3D11_ONLY(pInputElementDescs),
@@ -468,171 +268,6 @@ HRESULT NVWaveWorks_Mesh::CreateGnm(UINT GNM_ONLY(VertexStride),
#endif
}
-#if WAVEWORKS_ENABLE_D3D9
-NVWaveWorks_MeshD3D9::~NVWaveWorks_MeshD3D9()
-{
- m_pd3dDevice->Release();
- m_pDecl->Release();
- m_pVB->Release();
- m_pIB->Release();
-}
-
-HRESULT NVWaveWorks_MeshD3D9::LockVertexBuffer(LPVOID* ppData)
-{
- return m_pVB->Lock(0,0,ppData,0);
-}
-
-HRESULT NVWaveWorks_MeshD3D9::UnlockVertexBuffer()
-{
- return m_pVB->Unlock();
-}
-
-HRESULT NVWaveWorks_MeshD3D9::LockIndexBuffer(LPDWORD* ppData)
-{
- return m_pIB->Lock(0,0,(VOID**)ppData,0);
-}
-
-HRESULT NVWaveWorks_MeshD3D9::UnlockIndexBuffer()
-{
- return m_pIB->Unlock();
-}
-
-HRESULT NVWaveWorks_MeshD3D9::PreserveState(Graphics_Context* /*pGC not used*/, GFSDK_WaveWorks_Savestate* pSavestateImpl)
-{
- HRESULT hr;
-
- V_RETURN(pSavestateImpl->PreserveD3D9Streams());
-
- return S_OK;
-}
-
-HRESULT NVWaveWorks_MeshD3D9::Draw( Graphics_Context* /*pGC not used*/,
- PrimitiveType PrimType,
- INT BaseVertexIndex,
- UINT MinIndex,
- UINT NumVertices,
- UINT StartIndex,
- UINT PrimitiveCount,
- const UINT* /* not used: pShaderInputMappings*/
- )
-{
- HRESULT hr;
-
- V_RETURN(m_pd3dDevice->SetVertexDeclaration(m_pDecl));
- V_RETURN(m_pd3dDevice->SetStreamSource(0, m_pVB, 0, m_VertexStride));
- V_RETURN(m_pd3dDevice->SetIndices(m_pIB));
-
- D3DPRIMITIVETYPE d3dPrimType = D3DPT_FORCE_DWORD;
- switch(PrimType)
- {
- case PT_TriangleStrip:
- d3dPrimType = D3DPT_TRIANGLESTRIP;
- break;
- case PT_TriangleList:
- d3dPrimType = D3DPT_TRIANGLELIST;
- break;
- default:
- return E_FAIL;
- }
-
- V_RETURN(m_pd3dDevice->DrawIndexedPrimitive(d3dPrimType, BaseVertexIndex, MinIndex, NumVertices, StartIndex, PrimitiveCount));
-
- return S_OK;
-}
-
-NVWaveWorks_MeshD3D9::NVWaveWorks_MeshD3D9( LPDIRECT3DDEVICE9 pD3DDevice,
- LPDIRECT3DVERTEXDECLARATION9 pDecl,
- LPDIRECT3DVERTEXBUFFER9 pVertexBuffer,
- LPDIRECT3DINDEXBUFFER9 pIndexBuffer,
- UINT VertexStride
- ) :
- m_pd3dDevice(pD3DDevice),
- m_pDecl(pDecl),
- m_pVB(pVertexBuffer),
- m_pIB(pIndexBuffer),
- m_VertexStride(VertexStride)
-{
- m_pd3dDevice->AddRef();
- m_pDecl->AddRef();
- m_pVB->AddRef();
- m_pIB->AddRef();
-}
-#endif
-
-#if WAVEWORKS_ENABLE_D3D10
-NVWaveWorks_MeshD3D10::~NVWaveWorks_MeshD3D10()
-{
- m_pd3dDevice->Release();
- m_pLayout->Release();
- m_pVB->Release();
- m_pIB->Release();
-}
-
-HRESULT NVWaveWorks_MeshD3D10::PreserveState(Graphics_Context* /*pGC not used*/, GFSDK_WaveWorks_Savestate* pSavestateImpl)
-{
- HRESULT hr;
-
- V_RETURN(pSavestateImpl->PreserveD3D10Streams());
-
- return S_OK;
-}
-
-HRESULT NVWaveWorks_MeshD3D10::Draw( Graphics_Context* /*pGC not used*/,
- PrimitiveType PrimType,
- INT BaseVertexIndex,
- UINT /*MinIndex*/,
- UINT /*NumVertices*/,
- UINT StartIndex,
- UINT PrimitiveCount,
- const UINT* /* not used: pShaderInputMappings*/
- )
-{
- const UINT VBOffset = 0;
- m_pd3dDevice->IASetVertexBuffers(0, 1, &m_pVB, &m_VertexStride, &VBOffset);
- m_pd3dDevice->IASetIndexBuffer(m_pIB, DXGI_FORMAT_R32_UINT, 0);
- m_pd3dDevice->IASetInputLayout(m_pLayout);
-
- D3D10_PRIMITIVE_TOPOLOGY d3dPrimTopology = D3D10_PRIMITIVE_TOPOLOGY_UNDEFINED;
- UINT IndexCount = 0;
- switch(PrimType)
- {
- case PT_TriangleStrip:
- d3dPrimTopology = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLESTRIP;
- IndexCount = 2 + PrimitiveCount;
- break;
- case PT_TriangleList:
- d3dPrimTopology = D3D10_PRIMITIVE_TOPOLOGY_TRIANGLELIST;
- IndexCount = 3 * PrimitiveCount;
- break;
- default:
- return E_FAIL;
- }
-
- m_pd3dDevice->IASetPrimitiveTopology(d3dPrimTopology);
- m_pd3dDevice->DrawIndexed(IndexCount, StartIndex, BaseVertexIndex);
-
- return S_OK;
-}
-
-NVWaveWorks_MeshD3D10::NVWaveWorks_MeshD3D10( ID3D10Device* pD3DDevice,
- ID3D10InputLayout* pLayout,
- ID3D10Buffer* pVertexBuffer,
- ID3D10Buffer* pIndexBuffer,
- UINT VertexStride
- ) :
- m_pd3dDevice(pD3DDevice),
- m_pLayout(pLayout),
- m_pVB(pVertexBuffer),
- m_pIB(pIndexBuffer),
- m_VertexStride(VertexStride)
-{
- m_pd3dDevice->AddRef();
- m_pLayout->AddRef();
- m_pVB->AddRef();
- m_pIB->AddRef();
-}
-#endif
-
#if WAVEWORKS_ENABLE_D3D11
NVWaveWorks_MeshD3D11::~NVWaveWorks_MeshD3D11()
{