blob: 15090658db3ff01bad2fd08b9a1becf903674165 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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;
};
|