我在阅读 DX11的教程,但我主要通过metro风格的应用程序学习了DX11.1的编程。 随着我继续学习,我发现DX11.1中的一些功能不再适用于DX11.1,例如D3DX11CreateShaderResourceViewFromFile
,该教程用于加载纹理,但在DX11.1中我们没有这个功能! 我的问题是如何在DX11.1中加载DDS纹理? 我要替换的功能在这个代码,这样我可以加载DDS质地:在directX中加载纹理11.1
hr = D3DX11CreateShaderResourceViewFromFile(d3d11Device, L"braynzar.jpg",
NULL, NULL, &CubesTexture, NULL);
// Describe the Sample State
D3D11_SAMPLER_DESC sampDesc;
ZeroMemory(&sampDesc, sizeof(sampDesc));
sampDesc.Filter = D3D11_FILTER_MIN_MAG_MIP_LINEAR;
sampDesc.AddressU = D3D11_TEXTURE_ADDRESS_WRAP;
sampDesc.AddressV = D3D11_TEXTURE_ADDRESS_WRAP;
sampDesc.AddressW = D3D11_TEXTURE_ADDRESS_WRAP;
sampDesc.ComparisonFunc = D3D11_COMPARISON_NEVER;
sampDesc.MinLOD = 0;
sampDesc.MaxLOD = D3D11_FLOAT32_MAX;
//Create the Sample State
hr = d3d11Device->CreateSamplerState(&sampDesc, &CubesTexSamplerState);
由于它是一个.JPG,他应该在[DirectXTK](http://go.microsoft.com/fwlink/?LinkId=248929)中使用WICTextureLoader,但是......这是一个很好的去处。一定要看看[没有D3DX的生活](http://blogs.msdn.com/b/chuckw/archive/2013/08/21/living-without-d3dx.aspx)。 –