BsMaterialProxy.h 837 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include "BsCorePrerequisites.h"
  3. namespace BansheeEngine
  4. {
  5. // TODO UNDOCUMENTED
  6. class BS_CORE_EXPORT MaterialProxy
  7. {
  8. public:
  9. struct PassData
  10. {
  11. HGpuProgram vertexProg;
  12. HGpuProgram fragmentProg;
  13. HGpuProgram geometryProg;
  14. HGpuProgram hullProg;
  15. HGpuProgram domainProg;
  16. HGpuProgram computeProg;
  17. BindableGpuParamsPtr vertexProgParams;
  18. BindableGpuParamsPtr fragmentProgParams;
  19. BindableGpuParamsPtr geometryProgParams;
  20. BindableGpuParamsPtr hullProgParams;
  21. BindableGpuParamsPtr domainProgParams;
  22. BindableGpuParamsPtr computeProgParams;
  23. HBlendState blendState;
  24. HRasterizerState rasterizerState;
  25. HDepthStencilState depthStencilState;
  26. UINT32 stencilRefValue;
  27. };
  28. Vector<PassData> passes;
  29. bool separablePasses;
  30. UINT32 queuePriority;
  31. QueueSortType queueSortType;
  32. };
  33. }