#ifndef __DeviceResources__
#define __DeviceResources__

#include <windows.h>
#include <d3d10_1.h>
#include <d3dx10.h>
#include <d3dx10math.h>
#include <dxgi.h>
#include <d2d1.h>
#include <d2d1helper.h>
#include <dwrite.h>


struct TextResource {
    ID3D10Texture2D*            texture;
    ID3D10ShaderResourceView*   textureView;
    ID2D1RenderTarget*          renderTarget;
    ID2D1SolidColorBrush*       brush;
};

struct GeodeResource {
    ID3D10Buffer*   vertexBuffer;
    ID3D10Buffer*   indexBuffer;
    uint32          triangleCount;
};

struct RenderTargetResource {
    ID3D10Texture2D*            renderTarget;
    ID3D10ShaderResourceView*   shaderResourceView;
    ID3D10RenderTargetView*     renderTargetView;
};

struct DepthBufferResource {
    ID3D10Texture2D*            depthStencil;
    ID3D10DepthStencilView*     depthStencilView;
};

#endif