Тени от нескольких источников света (DX11)

В настоящее время я пытаюсь расширить свою текущую базовую систему отображения теней, чтобы объекты могли отбрасывать тени от нескольких источников света. В настоящий момент я сгенерировал обе карты теней правильно, но проблема в том, чтобы заставить их отображаться на сцене.

Моя функция рисования в настоящее время выглядит так:

for (int iLight = 0; iLight < mNumLights; iLight++)
{
mShadowMap[iLight]->SetNullRenderTarget(md3dImmediateContext);

DrawSceneToShadowMap(iLight);

RestoreRenderTarget();

SetShadowMap(iLight);
SetShadowTransform(iLight);

DrawScene();

}

mSwapChain->Present(0, 0)

Используется и рисуется только вторая карта теней, чего мне здесь не хватает?

0

Решение

Два стандартных способа комбинирования карт теней в прямом рендерере состоят в том, чтобы сделать многопроходное освещение с аддитивным смешиванием, где каждый проход добавляет световой вклад от другого освещения или однопроходное освещение, где шейдер зацикливается на источниках света в сценах и накапливает их легкий вклад. Смешивание MIN на самом деле не является правильным способом комбинировать вклады от нескольких источников света в многопроходный подход к освещению. Я бы предложил попробовать аддитивное смешивание.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]