mirror of https://github.com/opencv/opencv.git
Open Source Computer Vision Library
https://opencv.org/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.8 KiB
56 lines
1.8 KiB
#pragma once |
|
|
|
#include "Direct3DBase.h" |
|
#include <d3d11.h> |
|
|
|
|
|
struct ModelViewProjectionConstantBuffer |
|
{ |
|
DirectX::XMFLOAT4X4 model; |
|
DirectX::XMFLOAT4X4 view; |
|
DirectX::XMFLOAT4X4 projection; |
|
}; |
|
|
|
struct Vertex //Overloaded Vertex Structure |
|
{ |
|
Vertex(){} |
|
Vertex(float x, float y, float z, |
|
float u, float v) |
|
: pos(x,y,z), texCoord(u, v){} |
|
|
|
DirectX::XMFLOAT3 pos; |
|
DirectX::XMFLOAT2 texCoord; |
|
}; |
|
|
|
// This class renders a simple quad. |
|
ref class QuadRenderer sealed : public Direct3DBase |
|
{ |
|
public: |
|
QuadRenderer(); |
|
|
|
void Update(float timeTotal = 0.0f, float timeDelta = 0.0f); |
|
void CreateTextureFromByte(byte * buffer,int width,int height); |
|
|
|
// Direct3DBase methods. |
|
virtual void CreateDeviceResources() override; |
|
virtual void CreateWindowSizeDependentResources() override; |
|
virtual void Render() override; |
|
|
|
private: |
|
void Render(Microsoft::WRL::ComPtr<ID3D11RenderTargetView> renderTargetView, Microsoft::WRL::ComPtr<ID3D11DepthStencilView> depthStencilView); |
|
bool m_loadingComplete; |
|
uint32 m_indexCount; |
|
ModelViewProjectionConstantBuffer m_constantBufferData; |
|
Microsoft::WRL::ComPtr<ID3D11InputLayout> m_inputLayout; |
|
Microsoft::WRL::ComPtr<ID3D11Buffer> m_vertexBuffer; |
|
Microsoft::WRL::ComPtr<ID3D11Buffer> m_indexBuffer; |
|
Microsoft::WRL::ComPtr<ID3D11VertexShader> m_vertexShader; |
|
Microsoft::WRL::ComPtr<ID3D11PixelShader> m_pixelShader; |
|
Microsoft::WRL::ComPtr<ID3D11Buffer> m_constantBuffer; |
|
Microsoft::WRL::ComPtr<ID3D11Texture2D> m_Texture; |
|
Microsoft::WRL::ComPtr<ID3D11ShaderResourceView> m_SRV; |
|
Microsoft::WRL::ComPtr<ID3D11SamplerState> m_QuadsTexSamplerState; |
|
Microsoft::WRL::ComPtr<ID3D11BlendState> m_Transparency; |
|
Microsoft::WRL::ComPtr<ID3D11RasterizerState> CCWcullMode; |
|
Microsoft::WRL::ComPtr<ID3D11RasterizerState> CWcullMode; |
|
};
|
|
|