2023/11 34
-
-
빛의 연산과정은 포워드 렌더와 디퍼드 렌더가 존재한다. DirectX의 게임연산시 효율적인 연산이 거의 무조건 옳음으로 디퍼드 렌더 방식으로 hlsl을 조율한다. LightBuffer에 빛 연산의 개수를 적용하여 사용한다. cbuffer LightBuffer : register(b0) { Light lights[MAX_LIGHT]; // 빛연산 계산수 int lightCount; // 간접광 float3 ambientLight; // 천장간접광. 천장부분의 반사정도를 따로준다. float3 ambientCeil; } cbuffer MaterialBuffer : register(b2) { // 재질 float4 mDiffuse; float4 mSpecular; float4 mAmbient; float4 m..
-
최근에 개발된 렌더링 기술 중 하나로, 빛 연산방식중 하나. 초기 렌더링 단계에서 픽셀정보를 버퍼에 저장하고, 빛계산은 나중에 수행하는 방식. 초기 렌더링 과정에서 색상, 노멀, 깊이 등 정보를 G-Buffer에 저장하고 라이팅 단계에서 한번에 연산하여 빛 계산을 수행한다. 복잡한 빛 계산을 효율적으로 수행할 수 있으며, 오브젝트가 많은 씬 에서 더 나은 퍼포먼스를 보여줌. 또한, 후처리효과 를 쉽게 적용할 수 있음. 장점 복잡한 빛 계산을 효율적으로 처리할 수 있다. 후처리효과를 쉽게 적용할 수 있다. 광원수 에 비의존적 임으로 다양한 광원을 효과적으로 사용할 수 있다. 단점 메모리 사용량이 높아질 수 있으며, G-버퍼를 저장해야 함으로 VRAM의 Reg사용량이 커질 수 있다. 일부 복잡한 효과를 적용..
-