CmD3D11GpuProgramManager.cpp 844 B

1234567891011121314151617181920212223242526272829303132
  1. #include "CmD3D11GpuProgramManager.h"
  2. #include "CmD3D11GpuProgram.h"
  3. namespace CamelotEngine
  4. {
  5. D3D11GpuProgramManager::D3D11GpuProgramManager(D3D11Device& device)
  6. :mDevice(device)
  7. { }
  8. D3D11GpuProgramManager::~D3D11GpuProgramManager()
  9. { }
  10. GpuProgram* D3D11GpuProgramManager::create(const String& source, const String& entryPoint,
  11. const String& language, GpuProgramType gptype, GpuProgramProfile profile)
  12. {
  13. switch(gptype)
  14. {
  15. case GPT_VERTEX_PROGRAM:
  16. return new D3D11GpuVertexProgram(profile);
  17. case GPT_FRAGMENT_PROGRAM:
  18. return new D3D11GpuFragmentProgram(profile);
  19. case GPT_HULL_PROGRAM:
  20. return new D3D11GpuHullProgram(profile);
  21. case GPT_DOMAIN_PROGRAM:
  22. return new D3D11GpuDomainProgram(profile);
  23. case GPT_GEOMETRY_PROGRAM:
  24. return new D3D11GpuGeometryProgram(profile);
  25. }
  26. return nullptr;
  27. }
  28. }