컴퓨터 그래픽스 8주차

2022. 5. 4. 17:12학교수업

illumination : 조명 & 음영

 

Basic shading methods

flat : OpenGL

gouraud : OpenGL

phong : GLSL

 

PBRT : 물리기반 렌더링 기술

 

Local illumination : 1차인 직접 조명만 반영

-> 사실성 떨어짐

Global illumination : 2차인 직접 조명 + 간접 조명을 반영

-> 사실성 증가

 

보통 실시간으로 해결 되는 광원

ex) Point light, Directional light, Spot light

-> 직접 조명만을 지원

Point light : 위치값이 존재 -> 위치와 위치의 거리차이를 이용하여 빛의 감쇄를 표현

Directional light : 방향값만 존재 -> 플레이어가 바라보는 방향과 Directional light의 방향을 내적하여 나오는 cos값을 이용하여 빛의 감쇄를 표현

Spot light : radius가 2개 존재 1.light 범위 2.화이트존(가장 밝은 부분)

 

unreal, unity에서의 2차 간접조명은 baked 기법을 이용해 표현 (실시간X)

 

Attenuation of Light Intensity

Kc : 거리를 신경쓰지 않고 감소 

Kl : 거리에 따른 선형

Kq : 거리에 따른 이차식

-> Quadratic 이 조금 더 현실성 있다.

 

Global illumination

- Phong model

1. Ambient lighting : 물체 자체가 가지고 이는 색

2. Diffuse lighting : 음영을 계산(난반사)

3. Specular lighting : 반짝임을 표현(입사각으로 들어오면 반사각이 생긴다 : 이 때, 반사각이 Specular lighting)

-> 이를 모두 합친다.

 

analytic : 정확한 식이 있는 것 ex) f=a+b+c이다.

 

Emission : 자체 발광(객체가 가진 머테리얼)

Ambient reflection : 자체 발광은 같지만 간접광을 이용하여 사용자가 색 조절 가능

 

Diffuse Reflection : 사용자 시점이 들어가지 않는다.

 

- Lambert's law 

 

Specular Reflection : 사용자의 시점 변화가 들어감.

 

 

shading : 음영

1. Flat shading : GL -> 저퀄리티 (평면을 통하여 색을 찾음)

-> N값을 통하여 각각의 픽셀의 색을 구함(각각의 삼각형 N값 사용)

2. Gouraud shading : GL -> 버텍스의 N값 사용 -> 버텍스 N은 해당 버텍스와 인접한 삼각형들의 N값의 평균

-> 모든 삼각형들이 같은 크기, 모양이 아니기 때문에 각도나, 너비등의 방식을 선택하여 가중치를 다르게 준다.

=> Flat shading보다는 정확하지만 전체적으로 정확하지 않음 -> 조명을 계산하는 방법이 아니기 때문

-> 버텍스만 조명을 계산하고 나머지를 보간법을 통해 채우는 방식이기 때문

3. Phong shading : GLSL

모든 부분에 있어서 N값을 interpolate(보간)한다. 연산량이 많아지지만 하이 퀄리티를 얻을 수 있다.

 

'학교수업' 카테고리의 다른 글

UNIX 9주차  (0) 2022.05.10
게임공학개론 10주차  (0) 2022.05.09
게임공학개론 9주차  (0) 2022.05.04
컴퓨터구조 7주차  (0) 2022.04.23
UNIX 서버 7주차  (0) 2022.04.23