aboutsummaryrefslogtreecommitdiff
path: root/demo/d3d11/debugLineRenderD3D11.h
diff options
context:
space:
mode:
authorMiles Macklin <[email protected]>2017-06-09 13:41:15 +1200
committerMiles Macklin <[email protected]>2017-06-09 13:41:15 +1200
commit688b5f42e9bfe498d7af7075d4d8f4429867f3a3 (patch)
tree7e0d0e7c95298f0418723abd92f61ac6e16b055e /demo/d3d11/debugLineRenderD3D11.h
parentUpdate README.md (diff)
downloadflex-1.2.0.beta.1.tar.xz
flex-1.2.0.beta.1.zip
1.2.0.beta.11.2.0.beta.1
Diffstat (limited to 'demo/d3d11/debugLineRenderD3D11.h')
-rw-r--r--demo/d3d11/debugLineRenderD3D11.h42
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