00001
00002
00003
00004
00005
00006
00013 #ifndef TK11_TEXTURE_HPP
00014 #define TK11_TEXTURE_HPP
00015
00016 #include "d3d.hpp"
00017
00018 namespace tk11 {
00019
00021
00025 class D3D11_Texture2D_Desc : public D3D11_TEXTURE2D_DESC {
00026 public:
00028
00044 D3D11_Texture2D_Desc(UINT width, UINT height, DXGI_FORMAT format);
00045 };
00046
00048
00060 ID3D11Texture1D_ptr create_texture_1d(ID3D11Device_ptr device,
00061 const D3D11_TEXTURE1D_DESC& desc,
00062 const D3D11_SUBRESOURCE_DATA& init_data);
00063
00065
00076 ID3D11Texture1D_ptr create_texture_1d(ID3D11Device_ptr device,
00077 const D3D11_TEXTURE1D_DESC& desc);
00078
00080
00096 ID3D11Texture1D_ptr create_texture_1d(ID3D11Device_ptr device, UINT width,
00097 DXGI_FORMAT format, const void* data, UINT mip_levels = 1,
00098 D3D11_USAGE usage = D3D11_USAGE_IMMUTABLE,
00099 UINT cpu_access_flags = 0);
00100
00102
00117 ID3D11Texture1D_ptr create_texture_1d(ID3D11Device_ptr device, UINT width,
00118 DXGI_FORMAT format, UINT mip_levels = 1,
00119 D3D11_USAGE usage = D3D11_USAGE_DYNAMIC,
00120 UINT cpu_access_flags = D3D11_CPU_ACCESS_WRITE);
00121
00122
00124
00136 ID3D11Texture2D_ptr create_texture_2d(ID3D11Device_ptr device,
00137 const D3D11_TEXTURE2D_DESC& desc,
00138 const D3D11_SUBRESOURCE_DATA& init_data);
00139
00141
00152 ID3D11Texture2D_ptr create_texture_2d(ID3D11Device_ptr device,
00153 const D3D11_TEXTURE2D_DESC& desc);
00154
00156
00174 ID3D11Texture2D_ptr create_texture_2d(ID3D11Device_ptr device, UINT width,
00175 UINT height, DXGI_FORMAT format, const void* data, std::size_t pitch,
00176 UINT mip_levels = 1, D3D11_USAGE usage = D3D11_USAGE_IMMUTABLE,
00177 UINT cpu_access_flags = 0);
00178
00180
00196 ID3D11Texture2D_ptr create_texture_2d(ID3D11Device_ptr device, UINT width,
00197 UINT height, DXGI_FORMAT format, UINT mip_levels = 1,
00198 D3D11_USAGE usage = D3D11_USAGE_DYNAMIC,
00199 UINT cpu_access_flags = D3D11_CPU_ACCESS_WRITE);
00200
00201
00203
00214 ID3D11ShaderResourceView_ptr create_shader_resource_view(
00215 ID3D11Device_ptr device, ID3D11Resource_ptr resource,
00216 const D3D11_SHADER_RESOURCE_VIEW_DESC& desc);
00217
00218
00220
00233 ID3D11ShaderResourceView_ptr create_shader_resource_view_1d(
00234 ID3D11Device_ptr device, ID3D11Texture1D_ptr resource,
00235 DXGI_FORMAT format, UINT most_detailed_mip = 0, UINT mip_levels = 1);
00236
00237
00239
00252 ID3D11ShaderResourceView_ptr create_shader_resource_view_1d(
00253 ID3D11Device_ptr device, const D3D11_TEXTURE1D_DESC& desc,
00254 const D3D11_SUBRESOURCE_DATA& init_data, UINT most_detailed_mip = 0);
00255
00257
00274 ID3D11ShaderResourceView_ptr create_shader_resource_view_1d(
00275 ID3D11Device_ptr device, UINT width, DXGI_FORMAT format,
00276 const void* data, UINT mip_levels = 1,
00277 D3D11_USAGE usage = D3D11_USAGE_IMMUTABLE, UINT cpu_access_flags = 0,
00278 UINT most_detailed_mip = 0);
00279
00280
00282
00295 ID3D11ShaderResourceView_ptr create_shader_resource_view_2d(
00296 ID3D11Device_ptr device, ID3D11Texture2D_ptr resource,
00297 DXGI_FORMAT format, UINT most_detailed_mip = 0, UINT mip_levels = 1);
00298
00300
00313 ID3D11ShaderResourceView_ptr create_shader_resource_view_2d(
00314 ID3D11Device_ptr device, const D3D11_TEXTURE2D_DESC& desc,
00315 const D3D11_SUBRESOURCE_DATA& init_data, UINT most_detailed_mip = 0);
00316
00318
00337 ID3D11ShaderResourceView_ptr create_shader_resource_view_2d(
00338 ID3D11Device_ptr device, UINT width, UINT height, DXGI_FORMAT format,
00339 const void* data, std::size_t pitch, UINT mip_levels = 1,
00340 D3D11_USAGE usage = D3D11_USAGE_IMMUTABLE,
00341 UINT cpu_access_flags = 0,
00342 UINT most_detailed_mip = 0);
00343
00344 }
00345
00346 #endif