diff options
Diffstat (limited to 'demo/d3d11/debugLineRenderD3D11.h')
| -rw-r--r-- | demo/d3d11/debugLineRenderD3D11.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/demo/d3d11/debugLineRenderD3D11.h b/demo/d3d11/debugLineRenderD3D11.h new file mode 100644 index 0000000..1509065 --- /dev/null +++ b/demo/d3d11/debugLineRenderD3D11.h @@ -0,0 +1,42 @@ +#pragma once + +#include <vector> +#include "core/maths.h" + +#include <wrl.h> +using namespace Microsoft::WRL; + +struct DebugLineRenderD3D11 +{ + struct Vertex + { + Vec3 position; + Vec4 color; + }; + + void init(ID3D11Device* d, ID3D11DeviceContext* c); + void addLine(const Vec3& p, const Vec3& q, const Vec4& color); + void flush(const Matrix44& viewProj); + + DebugLineRenderD3D11(): + m_vertexBufferSize(0), + m_device(nullptr), + m_context(nullptr) + {} + + std::vector<Vertex> m_queued; + + ComPtr<ID3D11Buffer> m_vertexBuffer; + int m_vertexBufferSize; + + ComPtr<ID3D11DepthStencilState> m_depthStencilState; + ComPtr<ID3D11RasterizerState> m_rasterizerState; + ComPtr<ID3D11InputLayout> m_inputLayout; + ComPtr<ID3D11BlendState> m_blendState; + ComPtr<ID3D11VertexShader> m_vertexShader; + ComPtr<ID3D11PixelShader> m_pixelShader; + ComPtr<ID3D11Buffer> m_constantBuffer; + + ID3D11Device* m_device; + ID3D11DeviceContext* m_context; +};
\ No newline at end of file |