コード例 #1
0
ファイル: RenderSystem.cpp プロジェクト: D13David/Framework
void PipelineStateCache::setVertexShader(const VertexShader& vertexShader)
{
  // FIXME: cache this
  ID3D11Buffer* const* constantBuffers;
  uint32 numConstantBuffers = vertexShader.queryBuffersArray(constantBuffers);
  m_deviceContext->VSSetConstantBuffers(0, numConstantBuffers, constantBuffers);

  ID3D11VertexShader* shaderResourcePtr = vertexShader.getResourcePtr();
  if (shaderResourcePtr != m_currentVertexShader)
  {
    m_currentVertexShader = shaderResourcePtr;
    m_deviceContext->VSSetShader(shaderResourcePtr, NULL, 0);
  }
}