컴퓨터 그래픽스 조명

Computer graphics lighting

컴퓨터 그래픽스 라이팅은 컴퓨터 그래픽 장면에서 을 시뮬레이션하기 위해 사용되는 기술의 집합체입니다.조명 기술은 사용 가능한 세부 및 기능 수준에서 유연성을 제공하지만 계산 수요 및 복잡성의 다양한 수준에서 작동합니다.그래픽 아티스트는, 각 애플리케이션의 요구에 맞추어, 다양한 광원, 모델, 쉐이딩 기술, 효과로부터 선택할 수 있습니다.

광원

광원에 의해, 다양한 방법으로 그래픽 [1][2]씬에 빛을 도입할 수 있습니다.

포인트

포인트 소스는 단일 포인트에서 모든 방향으로 빛을 방출하며 빛의 세기는 [3]거리에 따라 감소합니다.포인트 소스의 예로는 스탠드 [4]아론 전구가 있습니다.

지형을 비추는 지향성 광원.

방향성

방향 소스(또는 원거리 소스)는 한 [4]방향에서 장면을 균일하게 조명합니다.점원과 달리 방향원이 발생하는 [4]빛의 세기는 장면에서 극히 멀리 떨어진 것처럼 취급되기 때문에 거리에 따라 변화하지 않는다.지향성 소스의 예로는 [5]햇빛이 있습니다.

스포트라이트

스포트라이트는 원뿔 모양의 을 만든다.[6]빛은 스포트라이트 소스와 [6]광원추의 중심에 가까워집니다.스포트라이트의 예로는 [5]손전등이 있습니다.

환경

이 없어도 다른 광원 선물은 주변 광원 개체를 밝게 했다.[6]주변 빛의 광도 방향, 거리, 그리고 다른 개체의, 그 효과가 완전히 현장 전체에 균일하다는 것을 의미하며 독립적이다.[6]이 근원은 물체를 깜깜한 곳에서 볼 수 있음을 보장한다.[5]

라이트워프

그 기하학적 세계에서 물체가 빛 방향에 기초하고 빛의 세기 끊어진 lightwarp는 기술이다.그 빛 그 색상 스펙트럼의 범위와 주변 미만성 용어를 사용한 것이다.그 빛 그 생각에 잠긴 분야의 높은 깊이를 생산하고 굴절시켜 여기저기 나올 수 있다.기술은 독특한 렌더링 스타일을 연출하고 개체의 과다 노출을 제한하는데 사용될 사용할 수 있습니다.팀 포트리스 2와 같은 게임 센 양식화된 표정을 가렸다 만화 만들기 위해 렌더링 기술을 사용합니다.[7]

조명 상호 작용

컴퓨터 그래픽에서 빛이 나서 대부분 여러 요소로 구성된다.[4]개체에 대한 광원의 전반적인 효과는 이러한 구성 요소와 개체의 상호 작용의 결합에 의해 결정된다.[8](그리고 후속적인 상호 작용 유형), 주변, 그리고 specular 확산 있는 그 3명의 초등 조명 요소이다.[8]

조명 상호 작용의 분해를.

확산

개체의 빛을 양light-scattering 표면과 상호 작용함으로써 확산 조명(또는 확산 반사)은 직접 조명.[4][9]가벼운 파업 개체 후에, 그것은 개체의 표면 특성의 기능뿐만 아니라 들어오는 빛의 각도로 반영된다.[9]개체의 밝기에 이 상호 작용은 기본 기여하고 있고, 그것의 색깔에 대한 기초를 형성한다.[10]

환경

으로서 주변 빛 방향이 없는, 그것은 한결같이 모든 표면을 가로질러, 그 강도가 주변 광원의 힘과 물체의 표면 물질, 즉 그들의 주변 반사 계수의 속성으로 결정과 상호 작용합니다.[10][9]

스펙큘러

경사진 조명 구성요소는 물체에 광택과 [10]하이라이트를 제공합니다.이러한 반사에는 환경의 다른 [9]개체가 표시되지 않으므로 미러 효과와는 다릅니다.대신, 경사 조명은 경사 조명의 강도와 [9]표면의 경사 반사 계수에 따라 물체에 밝은 점을 만듭니다.

조명 모델

조명 모델은 [11]빛의 물리학을 기반으로 빛이 근사되는 렌더링 환경에서 조명 효과를 복제하는 데 사용됩니다.조명 모델이 없으면 자연계에서 발생하는 조명 효과를 재현하려면 컴퓨터 [11]그래픽스보다 더 많은 처리 능력이 필요합니다.이 조명 또는 조명 모델의 목적은 [12]장면의 다른 표면에 반사되는 모든 픽셀의 색상 또는 빛의 양을 계산하는 것입니다.조명 모델에는 객체 지향 조명과 글로벌 [13]조명이라는 두 가지가 있습니다.이들은 물체 지향 조명은 각각의 물체를 개별적으로 고려하는 반면, 전지구 조명은 빛이 [13]물체 간에 어떻게 상호작용하는지를 지도화한다는 점에서 다릅니다.현재, 연구원들은 빛이 [13]환경과 어떻게 상호작용하는지를 더 정확하게 복제하기 위해 세계적인 조명 기술을 개발하고 있다.

객체 지향 조명

국소 조명이라고도 하는 물체 지향 조명은 단일 광원을 단일 [14]물체에 매핑함으로써 정의됩니다.이 기술은 계산이 빠르지만, 종종 실제 [14]장면에서 빛이 어떻게 동작하는지에 대한 불완전한 근사치입니다.이것은 종종 특정 [11]물체의 스펙트럼, 확산 및 주변 빛의 조합을 합산하여 근사치입니다.두 가지 주요 지역 조명 모델은 Phong과 Blinn-Phong [15]조명 모델입니다.

퐁 조명 모형

가장 일반적인 쉐이딩 모델 중 하나는 퐁 [11]모델입니다.Phong 모델은 각 픽셀의 명암을 확산, 경사 및 주변 [14]조명으로 인한 명암 합계로 가정합니다.이 모델은 [15]관찰자의 위치를 고려하여 물체에 반사되는 빛의 각도를 사용하여 반사되는 빛을 결정합니다.각도의 코사인 값을 구해 [14]설계자가 정한 멱으로 올린다.이것에 의해, 설계자는 오브젝트상의 하이라이트의 폭을 결정할 수 있습니다.이 때문에, 파워는 광택치라고 불립니다.[15]광도 값은 표면의 거칠기에 의해 결정됩니다.거울의 값은 무한대이고 가장 거친 표면의 값은 [14]1입니다.이 모델은 [11]보는 사람의 시선에 따라 보다 사실적인 흰색 하이라이트를 만듭니다.

블린퐁 조명 모델

Blinn-Phong 조명 모델은 반짝임을 바탕으로 [16]사물에 형광등을 사용해 하이라이트를 만드는 퐁 모델과 유사하다.Blinn-Phong은 퐁 조명 모델과 달라서, Blinn-Phong 모델은 물체 표면에 수직인 벡터를 사용하고 광원과 [11]뷰어 사이의 중간을 사용합니다.이 모델은 정확한 조명과 [11]연산 시간을 단축하기 위해 사용됩니다.반사된 광 벡터의 방향을 찾는 것은 중간 정규 [16]벡터를 계산하는 것보다 더 복잡한 계산이기 때문에 이 과정은 시간이 적게 걸립니다.이것은 Phong 모델과 비슷하지만, 다른 시각적 결과를 생성하며, 유사한 스펙트랄 [17]반사를 생성하기 위해 스펙트랄 반사 지수 또는 샤이니스는 수정이 필요할 수 있다.

글로벌 조명

전역 조명은 전체 [13]장면에서 빛이 이동하는 것처럼 계산하기 때문에 국소 조명과 다릅니다.이 조명은 광선이 [18]산란, 반사, 장면 전체에 걸쳐 무한히 튕겨 나오는 물리학과 광학을 더 많이 기반으로 합니다.글로벌 조명에는 [19]국부 조명보다 더 많은 계산 능력이 필요하기 때문에 여전히 활발한 연구가 진행 중입니다.

레이 트레이스

광선 추적을 사용하여 렌더링된 이미지

광원은 흡수, 반사 또는 [3]굴절을 통해 다양한 표면과 상호작용하는 광선을 방출합니다.광경을 관찰하는 사람은 눈에 닿는 광원을 볼 수 있으며, 관찰자에게 닿지 않는 광선은 눈에 [20]띄지 않습니다.모든 광원이 광선을 방출하도록 하고 각 광원이 [21]장면의 모든 물체와 어떻게 상호작용하는지 계산함으로써 이를 시뮬레이션할 수 있습니다.그러나 대부분의 광선이 관찰자에게 도달하지 못하고 처리 [22]시간을 낭비하기 때문에 이 과정은 비효율적입니다.광선 추적은 이 과정을 반대로 함으로써 이 문제를 해결합니다. 대신 관찰자로부터 광원을 [21]보내 광원에 도달할 때까지 광선이 어떻게 상호작용하는지 계산합니다.이렇게 하면 처리 시간을 보다 효과적으로 사용하고 자연광을 가깝게 모방한 빛 시뮬레이션을 만들 수 있지만, 광선 추적은 여전히 시청자의 [23]눈에 들어오는 빛의 양이 많기 때문에 계산 비용이 높습니다.

전파성

방사성은 주변 물체와 [13]광원에 의해 방출되는 에너지를 고려합니다.관찰자의 위치와 방향에 따라 달라지는 광선 추적과 달리 방사성 조명은 시야 [22]위치와 독립적입니다.방사선성은 광선 추적보다 더 많은 계산 능력을 필요로 하지만, 정적 조명이 있는 장면에서는 한 [24]번만 계산하면 되기 때문에 더 유용할 수 있습니다.씬의 표면은 대량의 패치로 분할할 수 있습니다.각 패치는 어느 정도 빛을 방출하고 다른 패치에 영향을 줍니다.각 [23]패치의 최종 방사성을 얻으려면 대량의 방정식을 동시에 풀어야 합니다.

광자 매핑

광자 매핑은 광선 [25]추적보다 효율적인 2패스 글로벌 조명 알고리즘으로 생성되었습니다.이것은 광원에서 방출된 광자를 일련의 [25]단계를 통해 추적하는 기본 원리입니다.첫 번째 패스에는 광원에서 방출되어 첫 번째 물체에 반사되는 광자가 포함됩니다.그 후 광자가 위치한 곳의 지도가 기록됩니다.[19]광자 지도는 튕기거나 [25]흡수되는 각 광자의 위치와 방향을 모두 포함한다.두 번째 패스는 [26]다른 표면에 대해 반사가 계산되는 렌더링에서 발생합니다.이 과정에서 광자맵은 씬의 지오메트리로부터 분리되므로 렌더링을 [19]별도로 계산할 수 있다.가성 시뮬레이션이 가능하며 뷰나 객체가 변경되어도 [26]전처리 단계를 반복할 필요가 없기 때문에 유용한 기술입니다.

폴리곤 쉐이딩

폴리곤 쉐이딩은 3D 모델이 2D 픽셀 영상으로 [15]그려지는 래스터라이제이션 프로세스의 일부입니다.쉐이딩은 3D 모델의 기하학적 속성과 함께 조명 모델을 적용하여 결과 이미지의 [15]조각(또는 픽셀)에서 조명을 표시하는 방법을 결정합니다.3D 모델의 폴리곤에는 음영 [27]처리에 필요한 기하학적 값이 저장됩니다.이 정보에는 정점 위치 값 및 표면 법선포함되지만 텍스처 범프 [28]맵과 같은 선택적 데이터가 포함될 수 있습니다.

플랫 쉐이딩의 예.
Guraud 쉐이딩의 예시입니다.
Phong 쉐이딩의 예시입니다.

플랫 쉐이딩

플랫 쉐이딩은 [29]폴리곤당 조명과 색상을 균일하게 적용하는 단순한 쉐이딩 모델입니다.한 정점의 색상과 법선은 전체 [15]폴리곤의 음영을 계산하는 데 사용됩니다.각 폴리곤에 대한 조명을 [29]렌더링당 한 번만 계산하면 되므로 평면 음영 처리 비용이 저렴합니다.

구라우 셰이딩

구라우 쉐이딩은 각 폴리곤 내부의 값이 정점 [15]값의 혼합인 보간된 쉐이딩의 한 유형입니다.각 정점은 주변 [29]폴리곤의 표면 노멀의 평균으로 구성된 자체 법선이 주어집니다.그런 다음 해당 정점의 조명 및 음영이 선택한 [29]평균 법선 및 조명 모델을 사용하여 계산됩니다.이 과정은 3D [2]모델의 모든 정점에 대해 반복됩니다.다음으로 정점값 [2]사이를 보간함으로써 정점간 엣지의 음영을 산출한다.마지막으로 폴리곤 내부의 음영을 주변 엣지 [2]값의 보간으로서 산출한다.구라우 쉐이딩은 [2]3D 모델 표면에 부드러운 조명 효과를 발생시킵니다.

퐁 쉐이딩

셰이딩은 Guraud 셰이딩과 마찬가지로 정점 값 간에 혼합되어 [18]폴리곤을 쉐이딩하는 또 다른 유형의 보간 쉐이딩입니다.둘 사이의 중요한 차이점은 Phong 음영이 [29]음영을 계산하기 전에 전체 폴리곤에 걸쳐 정점 법선 값을 보간한다는 것입니다.이는 전체 [18]폴리곤에 걸쳐 이미 음영 처리된 정점 값을 보간하는 Guraud 음영과 대조됩니다.Phong shading은 폴리곤 내부의 단편(픽셀)의 법선을 계산한 후 조명 모델을 적용하여 해당 [29]단편을 음영 처리할 수 있습니다.이 과정은 3D 모델의 각 폴리곤이 [18]음영 처리될 때까지 반복됩니다.

조명 효과

부식성을 나타내는 반사 재료.

가성

가성 물질은 반사되거나 굴절된 빛이 [30]매체를 통해 이동하는 조명 효과입니다.그것들은 집중된 빛의 리본으로 나타나며 물이나 [31]유리를 볼 때 종종 보입니다.가성 텍스처 맵과 영향을 받는 [31]객체의 텍스처 맵을 혼합하여 3D 그래픽으로 구현할 수 있습니다.가성 텍스처는 가성 효과를 모방하도록 애니메이션화된 정적 이미지이거나 빈 [31]이미지에 대한 가성 실시간 계산일 수 있습니다.후자는 더 복잡하며 3D [30]렌더링 환경을 통과하는 광자를 시뮬레이션하기 위해 역방향 광선 트레이스가 필요합니다.광자 매핑 조명 모델에서 몬테카를로 샘플링은 가성([30]austics)에 의해 발생하는 빛의 강도를 계산하기 위해 광선 추적과 함께 사용된다.

반사 매핑

반사 매핑(환경 매핑이라고도 함)은 2D 환경 맵을 사용하여 레이 [32]트레이스를 사용하지 않고 반사율 효과를 만드는 기술입니다.반사 물체의 모양은 뷰어, 물체 및 주변 환경의 상대적 위치에 따라 달라지기 때문에 그래픽 알고리즘은 이러한 [33]요소를 기반으로 물체에 색을 입히는 방법을 결정하기 위해 반사 벡터를 생성합니다.전체 렌더링된 3D 객체가 아닌 2D 환경 맵을 사용하여 주변 환경을 표현하고 단순하고 계산 비용이 저렴한 [32]알고리즘을 사용하여 객체에 대한 반사를 결정할 수 있습니다.

입자계

입자 시스템은 작은 입자 집합을 사용하여 화재, 움직이는 액체, 폭발 및 움직이는 [34]머리카락과 같은 혼란스럽고 복잡한 사건을 모델링합니다.복잡한 애니메이션을 구성하는 입자는 이미터에 의해 분포되며, 이는 각 입자에 속도, 수명 및 [34]색과 같은 특성을 부여합니다.시간이 지남에 따라 이러한 입자는 [34]효과에 따라 이동, 색상 변경 또는 기타 특성이 달라질 수 있습니다.일반적으로 입자 시스템은 효과를 현실적이고 균일하지 [34][35]않게 만들기 위해 방사체가 각 입자에 부여하는 초기 특성에서와 같은 무작위성을 통합합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Light: The art of exposure". GarageFarm. 2020-11-11. Retrieved 2020-11-11.
  2. ^ a b c d e "Intro to Computer Graphics: Lighting and Shading". www.cs.uic.edu. Retrieved 2019-11-05.
  3. ^ a b "Intro to Computer Graphics: Lighting and Shading". www.cs.uic.edu. Retrieved 2019-11-05.
  4. ^ a b c d e "Lighting in 3D Graphics". www.bcchang.com. Retrieved 2019-11-05.
  5. ^ a b c "Understanding Different Light Types". www.pluralsight.com. Retrieved 2019-11-05.
  6. ^ a b c d "Intro to Computer Graphics: Lighting and Shading". www.cs.uic.edu. Retrieved 2019-11-05.
  7. ^ Vergne, Romain; Pacanowski, Romain; Barla, Pascal; Granier, Xavier; Schlick, Christophe (February 19, 2010). "Radiance Scaling for Versatile Surface Enhancement". ACM. doi:10.1145/1730804.1730827 – via hal.inria.fr.
  8. ^ a b "Lighting in 3D Graphics". www.bcchang.com. Retrieved 2019-11-05.
  9. ^ a b c d e Pollard, Nancy (Spring 2004). "Lighting and Shading" (PDF).
  10. ^ a b c "Lighting in 3D Graphics". www.bcchang.com. Retrieved 2019-11-05.
  11. ^ a b c d e f g "LearnOpenGL - Basic Lighting". learnopengl.com. Retrieved 2019-11-08.
  12. ^ "Intro to Computer Graphics: Lighting and Shading". www.cs.uic.edu. Retrieved 2019-11-08.
  13. ^ a b c d e "Global Illumination" (PDF). Georgia Tech Classes. 2002.
  14. ^ a b c d e Farrell. "Local Illumination". Kent University.
  15. ^ a b c d e f g "Computer Graphics: Shading and Lighting". cglearn.codelight.eu. Retrieved 2019-10-30.
  16. ^ a b 제임스 F.블린(1977년)."컴퓨터 합성 사진용 빛 반사 모델"제4회 컴퓨터 그래픽스인터랙티브 기술에 관한 연례 회의: 192~198.CiteSeerX 10.1.131.7741.doi:10.1145/563858.563893
  17. ^ Jacob's University, "Blinn-Phong Reflection Model", 2010.
  18. ^ a b c d Li, Hao (2018). "Shading in OpenGL" (PDF).
  19. ^ a b c Li, Hao(2018년 가을).'글로벌 일루미네이션'(PDF).
  20. ^ "Introducing the NVIDIA RTX Ray Tracing Platform". NVIDIA Developer. 2018-03-06. Retrieved 2019-11-08.
  21. ^ a b 레이프, J. H.(1994)레이 트레이싱의 계산성과 복잡성」(PDF).이산 기하학 및 계산 기하학.
  22. ^ a b 월리스, 존 R., 코헨, 마이클 F., 그린버그, 도널드 P.(1987).렌더링 방정식의 2패스 솔루션:"레이 트레이싱과 무선 통신 방법의 통합"제14회 컴퓨터 그래픽스인터랙티브 기술에 관한 연차총회 의사록.SIGGRAPH '87. 뉴욕, 뉴욕, 미국: ACM: 311–320. doi: 10.1145/37401.37438.ISBN 9780897912273.
  23. ^ a b Greenberg, Donald P. (1989-04-14). "Light Reflection Models for Computer Graphics". Science. 244 (4901): 166–173. doi:10.1126/science.244.4901.166. ISSN 0036-8075. PMID 17835348.
  24. ^ 신디 고랄, 케네스 E토런스, 도널드 P.그린버그와 B.배타일, 컴퓨터 그래픽스, 제18권, 제3호(PDF)
  25. ^ a b c Wann Jensen, Henrik(1996)."Wayback Machine에서 2008-08년에 보관된 Photon Maps사용한 글로벌 일루미네이션"(PDF)렌더링 기술 '96: 21~30.
  26. ^ a b "Photon Mapping - Zack Waters". web.cs.wpi.edu. Retrieved 2019-11-08.
  27. ^ "Introduction to Computer Graphics, Section 4.1 -- Introduction to Lighting". math.hws.edu.
  28. ^ "Vertex Specification - OpenGL Wiki". www.khronos.org. Retrieved 2019-11-06.
  29. ^ a b c d e f Foley. "Illumination Models and Shading" (PDF).
  30. ^ a b c "GPU Gems". NVIDIA Developer. Retrieved 2019-10-30.
  31. ^ a b c "Caustics water texturing using Unity 3D". www.dualheights.se. Retrieved 2019-11-06.
  32. ^ a b "Computer Graphics: Environment Mapping". cglearn.codelight.eu. Retrieved 2019-11-01.
  33. ^ Shen, Han-Wei. "Environment Mapping" (PDF).
  34. ^ a b c d Bailey, Mike. "Particle Systems" (PDF).
  35. ^ "Particle Systems". web.cs.wpi.edu. Retrieved 2019-11-01.