void CGameObject::Render(ID3D11DeviceContext *pd3dDeviceContext) { OnPrepareRender(); CShader::UpdateShaderVariable(pd3dDeviceContext, &m_d3dxmtxWorld); if (m_pTexture) m_pTexture->UpdateShaderVariable(pd3dDeviceContext); if (m_pMesh) m_pMesh->Render(pd3dDeviceContext); }
void CMesh::Render(ID3D11DeviceContext * pd3dDeviceContext) { OnPrepareRender(pd3dDeviceContext); if (m_pIndexBuffer) pd3dDeviceContext->DrawIndexed( static_cast<UINT>(m_vIndies.size()) , m_nStartIndex , m_nBaseVertex ); else pd3dDeviceContext->Draw( m_nVertices , m_nStartVertex ); }
void CMesh::RenderInstanced(ID3D11DeviceContext * pd3dDeviceContext, int nInstances, int nStartInstance) { OnPrepareRender(pd3dDeviceContext); //객체들의 인스턴스들을 렌더링한다. if (m_pIndexBuffer) pd3dDeviceContext->DrawIndexedInstanced( static_cast<UINT>(m_vIndies.size()) , nInstances , m_nStartIndex , m_nBaseVertex , nStartInstance ); else pd3dDeviceContext->DrawInstanced( m_nVertices , nInstances , m_nStartVertex , nStartInstance ); }