현재 여러 광원에서 그림자를 투영 할 수 있도록 현재 기본 그림자 매핑 시스템을 확장하려고합니다. 지금은 두 섀도우 맵을 올바르게 생성했지만 문제는 두 섀도우 맵 모두가 장면에 렌더링되도록합니다.여러 광원 (DX11)의 그림자
내 그리기 기능은 현재 다음과 같이 진행됩니다
만 두 번째 그림자 맵을 사용하고 그려, 내가 여기에 무엇을 놓치고?현재 여러 광원에서 그림자를 투영 할 수 있도록 현재 기본 그림자 매핑 시스템을 확장하려고합니다. 지금은 두 섀도우 맵을 올바르게 생성했지만 문제는 두 섀도우 맵 모두가 장면에 렌더링되도록합니다.여러 광원 (DX11)의 그림자
내 그리기 기능은 현재 다음과 같이 진행됩니다
만 두 번째 그림자 맵을 사용하고 그려, 내가 여기에 무엇을 놓치고?포워드 렌더러에서 쉐도우 맵을 결합하는 두 가지 표준 방법은 각 패스가 쉐이더가 조명 위로 반복하는 다른 조명 또는 단일 패스 조명의 빛에 기여하는 추가 혼합을 사용하여 다중 패스 조명을 수행하거나 빛의 공헌을 축적합니다. MIN 블렌딩은 멀티 패스 조명 방식에서 여러 조명의 출품작을 결합하는 올바른 방법이 아닙니다. 대신 첨가제 블렌딩을 시도 할 것을 제안합니다.
예, 좋습니다. 여러개의 조명이 함께 조명을 추가한다는 사실을 기괴하게 잊어 버렸습니다 ... 저는 그림자의 가면을 결합하는 것만 생각했습니다. – Gnietschow
두 번째 DrawScene으로 첫 번째로 그려진 장면을 오버 라이딩한다고 생각합니다. 어떤 종류의 그림자 맵 조합이 필요합니다. 둘 중 하나를 장면의 쉐이더에서 설정하고 쉐이더에서 결합 할 수 있습니다 (더 빨리, 장면을 한 번만 백 버퍼로 그리기 때문에) 또는 두 번째 drawcall을 첫 번째 장면의 Min-BlendFunction과 혼합 할 수 있습니다 (쉽지만 느린) – Gnietschow
답장을 보내 주셔서 감사합니다. 먼저 혼합 방법을 구현하려고합니다. 혼합 작업을 MIN으로 설정했지만 소스 및 대상 블렌드 및 알파 설정은 어떻게됩니까? – Wikaman1
두 가지 장면을 상상한다면 항상 어두운 값을 가져 가고 싶기 때문에 그림자가 있어야합니다. 두 번째 그림자 반복에만 blend 기능을 적용하기 시작해야합니다. 첫 번째 반복은 backbuffer에 정상적으로 렌더링되어야합니다. – Gnietschow