상세 컨텐츠

본문 제목

Ray Tracing

Study/Graphics

by Arq.Dev5igner 2023. 7. 27. 13:22

본문

1. Ray Tracing

=> 빛이 가는 방향으로 어떤 물체를 만나고 reflection 등의 관계를 알아내기 위함

 

2. Normal

=> Normal값을 구할 때 외적을 통하여 구함

=> Vertex를 통해 Face를 구하고, Face를 통해 normal을 계산

=> Triangle

  -> n = (P2-P0)x(P1-P0)

=> Mesh(Gouraud)

  -> n = (n1+n2+n3+n4) / |n1+n2+n3+n4|

=> Phong

  -> n(a) = (1-a)nA + anB

  -> n(a,b) = (1-b)nC + bnD

 

3. Shading

=> Normal을 결정한 후 light source의 BRDF를 고려해서 나가는 빛의 양을 결정하는 것을 Shading이라 함

=> Shading을 해주는 것을 shader라 표현

=> Flat shading

  -> polygon이 flat하다고 가정

  -> 해당 polygon 안에서의 normal은 동일

  -> light source 까지의 거리는 constant함(멈)

  -> 입사각과 반사각이 어느 위치에서나 동일하다고 가정

  -> 보는 사람도 고정되어있고, 굉장히 멀리있다 가정

  -> 매끄럽지 못하며, 가장자리를 따라 밝기가 증가함

=> Gouraud shading

  -> 적절한 수의 vertex가 있다는 가정하에 color값을 interpolation

  -> mesh 단위로 shading 값을 일정하게 주지않고 interpolation 하는 방법

  -> 빛이 비춰지는 평균 명암을 적용해서 그것을 부드럽게 적용시켜주는 방법

  -> 계산법

    -> 각 꼭지점에서 average normal을 찾음

    -> 각 꼭지점에 Phong model 적용

    -> 각 다각형의 shade를 interpolation

=> Phong shading

  -> normal 값 자체를 interpolation하는 방법

  -> 하이라이트나 반사광을 표현할 수 있게 해주는 방법

  -> 계산법

    -> 가장자리를 가로질러서 vertex normal interpolate

    -> polygon을 가로질러서 edge normal interpolate

    -> 각 fragment에 phong model 적용

 

4. Ray Tracing

=> 모든 방향의 Ray를 Trace해서 값들을 결정하는 것

=> 광원에서 나온 광선이 물체에서 반사하는 모습을 시뮬레이팅해서 표현하는 방법

=> 이미지 평면에서 픽셀을 통과하는 빛의 경로를 역추적하여 이미지 생성

=> 보통은 Shadow / Refraction / inter-object reflection 고려

=> 높은 현실감을 가지나, 연산이 오래걸림

 

'Study > Graphics' 카테고리의 다른 글

Graphics System  (0) 2023.07.27
Texture Mapping  (0) 2023.07.27
LOD(Level Of Detail) Frameworks  (0) 2023.07.27
변환(transformation)  (0) 2023.02.05
[Unity] Euler, Quaternion 오일러각(짐벌락) 쿼터니언  (0) 2022.07.06

관련글 더보기