I'd like to change ID3D11Texture2D to data. This is my funtion:
void getByte(ID3D11Texture2D* texture)
{
ID3D11Texture2D* textureBuf;
D3D11_TEXTURE2D_DESC textureDesc;
ZeroMemory(&textureDesc, sizeof(textureDesc));
textureDesc.Width = Width;
textureDesc.Height = Height;
textureDesc.MipLevels = 1;
textureDesc.ArraySize = 1;
textureDesc.Format = DXGI_FORMAT_R32G32B32A32_FLOAT;
textureDesc.SampleDesc.Count = 1;
textureDesc.SampleDesc.Quality = 0;
textureDesc.Usage = D3D11_USAGE_STAGING ;
textureDesc.BindFlags = D3D11_BIND_RENDER_TARGET | D3D11_BIND_SHADER_RESOURCE;
textureDesc.CPUAccessFlags = D3D11_CPU_ACCESS_READ;
textureDesc.MiscFlags = 0;
d3d11Device->CreateTexture2D(&textureDesc, NULL, &textureBuf);
d3d11DevCon->CopyResource(textureBuf,texture);
D3D11_MAPPED_SUBRESOURCE mapResource;
d3d11DevCon->Map(texture,0,D3D11_MAP_READ,NULL,&mapResource);
}
How can I now get pixel data ?