00001 00002 // Copyright Florian Winter 2010 - 2010. 00003 // Distributed under the Boost Software License, Version 1.0. 00004 // (See accompanying file LICENSE_1_0.txt or copy at 00005 // http://www.boost.org/LICENSE_1_0.txt) 00006 00013 #ifndef TK11_D3D_HPP 00014 #define TK11_D3D_HPP 00015 00016 #include "utils.hpp" 00017 00018 #include <D3D11.h> 00019 00020 namespace tk11 { 00021 00022 // Direct3D11 Core interfaces 00023 00025 typedef boost::intrusive_ptr<ID3D11Device> ID3D11Device_ptr; 00026 00028 typedef boost::intrusive_ptr<ID3D11DeviceContext> ID3D11DeviceContext_ptr; 00029 00031 typedef boost::intrusive_ptr<ID3D11InputLayout> ID3D11InputLayout_ptr; 00032 00034 typedef boost::intrusive_ptr<ID3D11BlendState> ID3D11BlendState_ptr; 00035 00037 typedef boost::intrusive_ptr<ID3D11RasterizerState> ID3D11RasterizerState_ptr; 00038 00040 typedef boost::intrusive_ptr<ID3D11DepthStencilState> ID3D11DepthStencilState_ptr; 00041 00042 00043 // Direct3D11 Resource interfaces 00044 00046 typedef boost::intrusive_ptr<ID3D11RenderTargetView> ID3D11RenderTargetView_ptr; 00047 00049 typedef boost::intrusive_ptr<ID3D11DepthStencilView> ID3D11DepthStencilView_ptr; 00050 00052 typedef boost::intrusive_ptr<ID3D11Buffer> ID3D11Buffer_ptr; 00053 00055 typedef boost::intrusive_ptr<ID3D11Resource> ID3D11Resource_ptr; 00056 00058 typedef boost::intrusive_ptr<ID3D11Texture1D> ID3D11Texture1D_ptr; 00059 00061 typedef boost::intrusive_ptr<ID3D11Texture2D> ID3D11Texture2D_ptr; 00062 00064 typedef boost::intrusive_ptr<ID3D11Texture3D> ID3D11Texture3D_ptr; 00065 00067 typedef boost::intrusive_ptr<ID3D11ShaderResourceView> ID3D11ShaderResourceView_ptr; 00068 00069 00070 // Direct3D11 Shader interfaces 00071 00073 typedef boost::intrusive_ptr<ID3D11VertexShader> ID3D11VertexShader_ptr; 00074 00076 typedef boost::intrusive_ptr<ID3D11PixelShader> ID3D11PixelShader_ptr; 00077 00078 00079 // DXGI interfaces 00080 00082 typedef boost::intrusive_ptr<IDXGIFactory> IDXGIFactory_ptr; 00083 00085 typedef boost::intrusive_ptr<IDXGIAdapter> IDXGIAdapter_ptr; 00086 00088 typedef boost::intrusive_ptr<IDXGIDevice> IDXGIDevice_ptr; 00089 00091 typedef boost::intrusive_ptr<IDXGIOutput> IDXGIOutput_ptr; 00092 00094 typedef boost::intrusive_ptr<IDXGISwapChain> IDXGISwapChain_ptr; 00095 00096 00097 // Direct3D10 interfaces 00098 00100 typedef boost::intrusive_ptr<ID3D10Blob> ID3D10Blob_ptr; 00101 00102 } 00103 00104 #endif