diff options
Diffstat (limited to 'Tests/VSWinStorePhone/Direct3DApp1/CubeRenderer.h')
-rw-r--r-- | Tests/VSWinStorePhone/Direct3DApp1/CubeRenderer.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/Tests/VSWinStorePhone/Direct3DApp1/CubeRenderer.h b/Tests/VSWinStorePhone/Direct3DApp1/CubeRenderer.h new file mode 100644 index 0000000..68cb188 --- /dev/null +++ b/Tests/VSWinStorePhone/Direct3DApp1/CubeRenderer.h @@ -0,0 +1,44 @@ +#pragma once + +#include "Direct3DBase.h" + +struct ModelViewProjectionConstantBuffer +{ + DirectX::XMFLOAT4X4 model; + DirectX::XMFLOAT4X4 view; + DirectX::XMFLOAT4X4 projection; +}; + +struct VertexPositionColor +{ + DirectX::XMFLOAT3 pos; + DirectX::XMFLOAT3 color; +}; + +// 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); + +private: + 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; + + uint32 m_indexCount; + ModelViewProjectionConstantBuffer m_constantBufferData; +}; |