다수의 광원.
Posted by Go crazy for anything that will make you smile.
기억할 것 : 광원으로의 방향이 아니라, 광원으로 부터 나온 빛이 향하는 방향. (0,1,0)이면 광원이 +y으로 향한다는 의미이다. 보통 쉐이더에 인자로 넘겨주는 방향은 빛이 광원으로 부터 표면으로 향하는 방향인데 이를 쉐이더에서 -로 하여 사용해야 한다. float3 L = - normalize(lightDirection); 그렇지 않다면 처음 입력부터 지표면에서 광원으로 향하는 방향을 넘겨서 -을 붙이지 않으면 된다. 다수의 광원일 경우에는 각 광원에 대해서 확산성분과 정반사 성분을 각각 계산하여 모두 더하고 환경성분은 전체적으로 한번만 더하면 된다. float4 finalColor = 0; for (int i=0; i