我正在尝试在DirectX 11中使用立方体阴影贴图来实现点光源阴影,但我遇到了困难。我已经搜索了一些相关的教程,但这些教程大多是针对OpenGL或较早版本的DirectX。我使用CreateTexture2D(),CreateDepthStencilView()和CreateShaderResourceView()函数设置了一个阴影贴图纹理,其中在可能的情况下使用了TextureCube标志。然而,我不确定如何为立方体贴图的每个面添加不同的“相机”位置,并计算视图/投影矩阵。我当前已经实现了聚光灯/定向灯的阴影,但我以前从未使用过立方体贴图。我需要一些指引来帮助我开始。非常感谢您的帮助。
编辑:我目前有一个D3D11_TEXTURE2D_DESC变量,将阴影纹理创建为TEXTURECUBE;使用D3D11_DEPTH_STENCIL_VIEW_DESC创建了深度模板缓冲区,并使用D3D11_SHADER_RESOURCE_VIEW_DESC创建了一个着色器资源视图。我希望这样就创建了立方体贴图纹理。但我不确定如何使用视图/投影矩阵初始化它的每个面,然后将其传递给顶点或几何着色器。非常感谢您的帮助。
编辑:我目前有一个D3D11_TEXTURE2D_DESC变量,将阴影纹理创建为TEXTURECUBE;使用D3D11_DEPTH_STENCIL_VIEW_DESC创建了深度模板缓冲区,并使用D3D11_SHADER_RESOURCE_VIEW_DESC创建了一个着色器资源视图。我希望这样就创建了立方体贴图纹理。但我不确定如何使用视图/投影矩阵初始化它的每个面,然后将其传递给顶点或几何着色器。非常感谢您的帮助。