본문 바로가기

프로그래밍/Shader

Rim Light 이론과 구현

Rim Light 

 = 역광 (Back Lighting)

 : 오브젝트 뒷면의 조명이 비춰서 오브젝트의 외각이 빛나는 듯이 보이는 현상(엣지 라이팅)

 

장점

 

1. 캐릭터와 배경의 구별을 명확히 한다

 

2. 물체의 외곽선을 살려준다

 

3. 빛을 받지 않는 부분의 디테일을 높여준다

 

4. 구현이 아주 간단하다'

 

Fresnel (프레넬)공식을 사용한다.

 

ViewDir을 이용하는데 이것은 버텍스에서 바라보는 카메라의 방향이다.

 

Normal과 ViewDir을 dot 연산하게 되면 카메라가 조명처럼 인식되서 내가 바라보는 방향이 계속 밝아진다.

 

카메라가 조명인 것처럼 연산되었기 때문에 카메라를 회전해도 빛의 각도는 변하지 않는다.

 

이 결과를 뒤집어준다.

 

Emissive = 1- fRIm

 

이렇게 하면 각도를 바꾸어도 외각이 밝아보이는 Rim Light가 만들어진다.

 

그리고 이것을 Emissive의 값에 같이 합산해준다.

 

 

 

 

Rim Light를 넣기 전

 

Rim Light를 넣은 후

흑우의 테두리가 검은 색으로 나온느 것을 볼 수가 있다.

항상 나의 실험체가 되주는 우리 흑우, 자랑스럽다.

'프로그래밍 > Shader' 카테고리의 다른 글

HDR 구현과정 2부  (0) 2019.06.11
HDR 구현 과정 1부  (0) 2019.06.10
Adaptation 구현 과정  (0) 2019.04.03
기하 셰이더 (Geometry Shader)  (0) 2019.03.29
Tessellation  (0) 2019.03.20