D3D11VertexDeclaration.h 821 B

12345678910111213141516171819202122232425262728293031323334
  1. // Copyright (c) 2008-2023 the Urho3D project
  2. // License: MIT
  3. #pragma once
  4. #include "../../Container/RefCounted.h"
  5. #include "../../Container/Vector.h"
  6. #include "../../GraphicsAPI/GraphicsDefs.h"
  7. namespace Urho3D
  8. {
  9. class Graphics;
  10. class ShaderVariation;
  11. class VertexBuffer;
  12. /// Vertex declaration.
  13. class URHO3D_API VertexDeclaration_D3D11 : public RefCounted
  14. {
  15. public:
  16. /// Construct with vertex buffers and element masks to base declaration on.
  17. VertexDeclaration_D3D11(Graphics* graphics, ShaderVariation* vertexShader, VertexBuffer** buffers);
  18. /// Destruct.
  19. virtual ~VertexDeclaration_D3D11() override;
  20. /// Return input layout object corresponding to the declaration.
  21. void* GetInputLayout() const { return inputLayout_; }
  22. private:
  23. /// Input layout object.
  24. void* inputLayout_;
  25. };
  26. }