File: CubeRenderer.h

package info (click to toggle)
opencv 4.10.0%2Bdfsg-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 282,092 kB
  • sloc: cpp: 1,178,079; xml: 682,621; python: 49,092; lisp: 31,150; java: 25,469; ansic: 11,039; javascript: 6,085; sh: 1,214; cs: 601; perl: 494; objc: 210; makefile: 173
file content (61 lines) | stat: -rw-r--r-- 1,974 bytes parent folder | download | duplicates (4)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#pragma once

#include "Direct3DBase.h"
#include <d3d11.h>
#include <mutex>


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 spinning cube.
ref class CubeRenderer sealed : public Direct3DBase
{
public:
    CubeRenderer();

    // Direct3DBase methods.
    virtual void CreateDeviceResources() override;
    virtual void CreateWindowSizeDependentResources() override;
    virtual void Render() override;

    // Method for updating time-dependent objects.
    void Update(float timeTotal, float timeDelta);

    void CreateTextureFromByte(byte  *  buffer,int width,int height);
private:
    void Render(Microsoft::WRL::ComPtr<ID3D11RenderTargetView> renderTargetView, Microsoft::WRL::ComPtr<ID3D11DepthStencilView> depthStencilView);
    bool m_loadingComplete;

    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_cubesTexSamplerState;
    uint32 m_indexCount;
    ModelViewProjectionConstantBuffer m_constantBufferData;
    std::mutex   m_mutex;
    Microsoft::WRL::ComPtr<ID3D11BlendState> m_transparency;
    Microsoft::WRL::ComPtr<ID3D11RasterizerState> m_CCWcullMode;
    Microsoft::WRL::ComPtr<ID3D11RasterizerState> m_CWcullMode;

};