52 const std::string & textureName,
75 unsigned int BindFlags,
76 unsigned int sampleCount = 1,
77 unsigned int qualityLevels = 0);
133 const std::array<std::string, 6>& facePaths,
137 ID3D11Device* device,
138 ID3D11Texture2D* cubemapTex,
144 D3D11_SHADER_RESOURCE_VIEW_DESC d{};
146 d.ViewDimension = D3D11_SRV_DIMENSION_TEXTURE2DARRAY;
147 d.Texture2DArray.MostDetailedMip = 0;
148 d.Texture2DArray.MipLevels = mipLevels;
149 d.Texture2DArray.FirstArraySlice = faceIndex;
150 d.Texture2DArray.ArraySize = 1;
152 ID3D11ShaderResourceView* srv =
nullptr;
153 if (FAILED(device->CreateShaderResourceView(cubemapTex, &d, &srv)))
Encapsula una textura 2D en Direct3D 11, incluyendo su recurso y vista como Shader Resource.
ID3D11ShaderResourceView * CreateCubemapFaceSRV(ID3D11Device *device, ID3D11Texture2D *cubemapTex, DXGI_FORMAT format, UINT faceIndex, UINT mipLevels=1)
void render(DeviceContext &deviceContext, unsigned int StartSlot, unsigned int NumViews)
Asigna la textura al pipeline de render.
void update()
Actualiza el contenido de la textura.
HRESULT init(Device &device, const std::string &textureName, ExtensionType extensionType)
Inicializa una textura cargada desde archivo.
void destroy()
Libera los recursos de la textura.
HRESULT CreateCubemap(Device &device, DeviceContext &deviceContext, const std::array< std::string, 6 > &facePaths, bool generateMips)
ID3D11Texture2D * m_texture
Recurso base de la textura en GPU.
std::string m_textureName
Nombre o ruta de la textura (si proviene de archivo).
ID3D11ShaderResourceView * m_textureFromImg
Vista de la textura como recurso de shader.