다음을 통해 공유


조명 속성

조명 속성은 광원의 유형(점, 방향성, 스포트라이트), 감쇠, 색, 방향, 위치 및 범위를 설명합니다. 사용하는 조명의 유형에 따라 조명에 감쇠 및 범위 속성 또는 스포트라이트 효과 속성이 있을 수 있습니다. 모든 종류의 빛이 모든 속성을 사용하지는 않습니다.

위치, 범위 및 감쇠 속성은 월드 공간에서 조명의 위치, 조명에서 방출된 빛이 원거리에서 어떻게 동작하는지 정의합니다.

조명 감쇠

감쇠는 범위 속성에서 지정한 최대 거리를 향하는 동안 조명의 강도가 감소하는 방법을 제어합니다. Attenuation0, Attenuation1 및 Attenuation2라는 세 개의 부동 소수점 값이 조명 감쇠를 나타내는 데 사용되는 경우가 있습니다. 이러한 부동 소수점 값은 0.0부터 무한대까지이며, 조명 감쇠를 제어합니다. 일부 애플리케이션은 Attenuation1 멤버를 1.0으로 설정하고 나머지를 0.0으로 설정하여 1/D로 변경되는 밝기 강도를 생성합니다. 여기서 D는 광원에서 꼭짓점까지의 거리입니다. 최대 밝기 강도는 광원에 있으며 조명 범위에서 1/(조명 범위)로 줄어듭니다.

일반적으로 애플리케이션은 Attenuation0을 0.0으로 Attenuation1을 상수 값으로, Attenuation2를 0.0으로 설정하지만, 이 값을 변경하여 다양한 조명 효과를 낼 수 있습니다. 감쇠 값을 조합하면 더욱 복잡한 감쇠 효과를 낼 수 있습니다. 또는 일반 범위를 벗어난 값으로 설정하여 더욱 독특한 감쇠 효과를 만들어낼 수 있습니다. 하지만 음의 감쇠 값은 허용되지 않습니다. 감쇠 및 스포트라이트 계수를 참조하세요.

조명 색

Direct3D의 조명은 시스템의 조명 계산에서 독립적으로 사용되는 세 가지 색, 즉 확산 색, 주변 색, 반사 색을 방출합니다. 각각의 색은 Direct3D 조명 모듈에서 통합되며 현재 재질의 대응 모듈과 상호 작용하여 렌더링에 사용되는 최종 색을 만들어냅니다. 확산 색은 현재 재질의 확산 반사율 속성과 상호 작용하고, 반사 색은 재질의 반사 반사율 속성과 상호 작용하는 방식 등으로 이루어집니다. Direct3D가 이러한 색에 적용되는 방식에 대한 자세한 내용은 조명의 수학을 참조하세요.

Direct3D 애플리케이션에는 일반적으로 방출되는 색을 정의하는 확산 색, 주변 색 및 반사 색의 세 가지 색 값이 있습니다.

시스템의 계산에 가장 많이 적용되는 색 유형은 확산 색입니다. 가장 일반적인 확산 색은 흰색(R:1.0 G:1.0 B:1.0)이지만 원하는 효과를 내는 데 필요한 색을 만들어낼 수 있습니다. 예를 들어 빨간색 빛을 벽난로에 사용하거나 녹색 빛을 "진행"으로 설정된 교통 신호등에 사용할 수 있습니다.

일반적으로 빛 색 구성 요소를 0.0 ~ 1.0(끝 값 포함) 범위의 값으로 설정할 수 있지만 이는 요구 사항이 아닙니다. 예를 들어 모든 구성 요소를 2.0으로 설정하여 "흰색보다 밝은" 조명을 만들 수 있습니다. 이 유형의 설정은 상수 이외의 감쇠 설정을 사용할 때 특히 유용할 수 있습니다.

Direct3D에서 RGBA 값을 조명에 사용하지만 알파 색 구성 요소는 사용되지 않습니다.

일반적으로 재질 색은 조명에 사용됩니다. 그러나 재질 색(발광 색, 주변 색, 확산 색 및 반사 색)이 확산 또는 반사 꼭짓점 색으로 재정의되도록 지정할 수 있습니다.

알파/투명도 값은 항상 확산 색의 알파 채널에서만 나옵니다.

안개 값은 항상 반사 색의 알파 채널에서만 나옵니다.

조명 방향

조명의 방향 속성은 월드 공간에서 물체 이동에 따라 방출되는 빛의 방향을 결정합니다. 방향은 방향성 조명과 스포트라이트에서만 사용되고 벡터로 설명됩니다.

조명 방향을 벡터로 설정합니다. 방향 벡터는 장면에서 조명의 위치와 상관없이 논리적 원점으로부터의 거리로 설명됩니다. 따라서 양의 z축을 따라 장면에 직접 비추는 스포트라이트는 정의된 위치와 관계없이 <0,0,1>의 방향 벡터를 갖습니다. 마찬가지로 방향이 <0,-1,0>인 방향성 조명을 사용하여 장면에 바로 비치는 햇빛을 시뮬레이션할 수 있습니다. 좌표 축을 따라 빛나는 조명을 만들 필요가 없습니다. 값을 혼합하고 일치시켜 조명을 더 흥미로운 각도에서 만들 수 있습니다.

조명의 방향 벡터를 정규화할 필요는 없지만 항상 크기가 있다는 점에 유의해야 합니다. 즉, <0,0,0> 방향 벡터를 사용하지 마세요.

조명 위치

조명 위치는 벡터 구조를 사용하여 설명됩니다. x, y, z 좌표는 월드 공간에 있는 것으로 간주됩니다. 방향성 조명은 위치 속성을 사용하지 않는 유일한 조명 유형입니다.

조명 범위

조명의 범위 속성은 월드 공간에서 장면의 메시가 더 이상 해당 물체에서 방출되는 빛을 받아들이지 않는 거리를 결정합니다. 방향성 조명은 범위 속성을 사용하지 않습니다.

조명과 재료