Lighting2 [DirectX11] Lighting - Directional Light/ Pointlight / Spotlight Directional lights(Parallel lights) Directional lights는 태양과 같이 매우 멀리 있는 광원과 비슷하다고 볼 수 있다. 즉, 모든 서로 다른 광선이 평행하게 들어온다고 볼 수 있다. 광원은 광선이 향하는 방향을 나타내는 하나의 vector로 정의될 수 있다. light vector는 광원이 향하는 방향의 반대 방향을 향한다. Directional lights는 pointlights, spotlights보다 비용이 적게 든다. 구현 //LightHelper.fx struct DirectionalLight { float4 Ambient; float4 Diffuse; float4 Specular; float3 Direction; float pad; }; void Com.. 그래픽스(DirectX) 2023. 5. 22. [DirectX11] Lighting - 빛과 머티리얼, normal vector, Lambert 코사인 법칙 Lighting 3D 물체에 빛이 없으면 그냥 2D처럼 보이게 된다. 실제로 우리가 세상을 보는 모습은 물질(material)과 빛의 상호작용에 의존한다. 따라서 사실성을 위해서 정확한 빛 모델을 사용해야 하지만, 비용이 크기 때문에 속도와 사실성 사이에서 밸런스를 맞추어야 한다. 따라서 pixel shader에서 각 정점마다 색상을 그냥 리턴하는 것이 아니라, 머티리얼과 빛을 두어서 이들의 상호작용에 기반해 정점의 색상을 계산하는 빛 공식을 적용해야 한다. 머리티얼이라는 것은 물체 표면이 빛과 어떻게 상호작용하는지를 결정하는 특성으로 생각할 수 있다. 빛은 다양한 색상이 될 수 있고, 광원으로부터 바깥으로 이동하다가 다른 물체와 충돌하여 일부는 흡수되고 일부는 반사되어 다른 물체를 칠 수 있다. 그러다.. 그래픽스(DirectX) 2023. 5. 21. 이전 1 다음