来自多个光源的阴影 (DX11)
Shadows from multiple light sources (DX11)
我目前正在尝试扩展我当前的基本阴影映射系统,以允许对象从多个光源投射阴影。目前,我已经正确生成了两个阴影贴图,但问题是将它们都渲染在场景中。
我的绘制函数目前是这样的:
for (int iLight = 0; iLight < mNumLights; iLight++)
{
mShadowMap[iLight]->SetNullRenderTarget(md3dImmediateContext);
DrawSceneToShadowMap(iLight);
RestoreRenderTarget();
SetShadowMap(iLight);
SetShadowTransform(iLight);
DrawScene();
}
mSwapChain->Present(0, 0)
只使用和绘制了第二个阴影贴图,我在这里错过了什么?
在前向渲染器中组合阴影贴图的两种标准方法是使用加法混合进行多通道光照,其中每个通道都会添加来自不同光源的光贡献,或者单通道光照,其中着色器循环访问场景中的灯光并累积其光贡献。MIN混合并不是在多通道照明方法中组合多个光源贡献的正确方法。我建议尝试添加剂混合。
相关文章:
- dx11 渲染到纹理仅显示透明颜色
- C++声明模板参数阴影模板参数错误
- DirectX 11 - 点光源阴影
- 深度缓冲区未填充阴影贴图渲染通道中的数据
- 如何从ModelViewProjection矩阵中获取相机原点?(DX11)
- 模板中的Typedef导致阴影模板parm错误
- C++具有内置缓存 - 阴影模板参数的对象工厂
- 如何使用 DX11 截取屏幕截图?
- 使用 GCC 5 进行模板参数阴影
- OpenGL - 阴影贴图/深度贴图给出奇怪的结果
- 警告派生的类成员阴影级班级成员
- 多个快速读取器 单个慢速写入器:使用具有原子索引的阴影数据安全吗?
- 如何避免本地兰伯达阴影超负荷分辨率
- MFC 用于计算控件的高光、阴影等的算法或函数是什么?
- 使用 DX11 加载 2D 纹理时内存泄漏
- 参数“队列内容”阴影模板参数模板类队列类型
- OpenGL:阴影/插值行不通
- 将std :: feek_ptr与std :: shared_ptr一起阴影
- DX11 DirectInput8创建引起LNK2019错误
- 来自多个光源的阴影 (DX11)