T모사의 뭐든 궁금해 하는 배경아티스트/TA Silverchime 입니다.
오늘은 프레넬 효과Fresnel Effect에 관해 이야기해보려 합니다.
누구나 한번쯤 들어 보셨겠죠? 반사쪽만 보면 매번 이 단어가 튀어나와서 참 힘들었네요. 그런데 막상 그게 무엇인지 설명을 부탁드려도 될까요? 하면 쉽게 말하기 힘든것도 사실입니다. 오늘 이 부분에 대해서 한번 이야기를 풀어보려 합니다.
물체가 우리에게 보이는 것은 빛이 물체에 반사해서 들어오는 것을 눈(시신경)이 감지하는 것입니다. 컴퓨터쪽으로 말하면 Diffuse, Specular, Reflection이 아마 기본이 될 것입니다.
이 <물체의 표면에 빛이 반사하는 모델>을 말할 때, Bidirectional reflectance distribution function. 즉 양방향반사분포함수... 약어로 BRDF라는 말을 씁니다.
왜 뜬금없이 BRDF모델이라는 생소한 단어를 꺼내느냐? 라고 물으신다면, 물체 표면에서 빛이 반사되는 성질을 우리는 이 여러가지 수학적 모델로 풀어내고 있으며, 또 위에서 말한 Diffuse, Specular 를 설명하는 것에도 역시 필요하기 때문입니다.
그리고 Specular 모델은 리얼타임 게임쪽에서는 Blinn–Phong model 모델을 주로 사용합니다.
그리고 다른 방법으로 Reflection, Refraction이 추가가 될 것입니다. (여러가지 트릭과 기법으로...)
제가 이 글을 쓰게 된 계기는, 과연 매트한 재질에서 디퓨즈와 스페큘러를 알았다면, 이걸로 대부분의 조명을 설명해 낼 수 있는가- 였습니다. 그리고 계속 거리와 풍경, 발밑을 보면서 걸었습니다. 반짝이는걸 다 스페큘러 이런걸로 해석해봐도, 뭔가 좀 부족한게 아닌가... 이런 의문이었습니다. 특히 지하 복도 같은 곳에서는 특히 심했습니다. 그러다 한 곳에서 재미있는 글을 읽게 되었습니다.
모든물체는 프레넬을 가진다- 라는 글이었습니다. 전 이 글을 읽고 너무나 기뻤습니다.
이참에 번역을 옮겨보도록 하겠습니다.
===============================================================================================
모든 물체는 프레넬을 가진다 -
게임에서 가장 주요하게 쓰이는 Blinn–Phong model모델의 다이어그램을 보겠습니다.
H = normalize(V+L);
specVal = pow(saturate(dot(H,N)),power);
V는 View Vector, 즉 카메라의 위치를 가리킵니다. L은 Light 광원의 방향입니다.
N은 노멀 벡터, H는 둘의 하프벡터입니다.
공식과 그림에 따르면, 구체의 어느 지점이 가장 밝을(스페큘러 밸류가 높을)까요? 광원에서 들어온 빛이 바로 카메라를 직격하는 곳일겁니다. 기술적으로 말하면 하프벡터가 노멀과 일치하는 곳이 가장 밝을 것입니다. 광원이. 반사되서, 카메라를 때린다. 네 명확합니다.
자 그럼 이번 다이어그램을 보겠습니다. 자 여기서도 노멀과 하프벡터가 일치한다고 한다고 가정하면, 위와 거의 일치하는 밝기가 나타나야겠죠? 이론상으로는 맞습니다만 실제 현실에서도 그럴까요?
답은 NO 입니다.
Glancing Angle( 아주 얕은 각도) 에서 같은 광원이라 할지라도 스페큘러가 훨씬 밝게 보이는 현상,
float base = 1 – dot(V,H);
float exponential = pow( base, 5.0);
float fresnel = exponential + F0 * (1.0 – exponential);
specVal *= fresnel;
이러한 형식으로 프레넬의 밝기를 구할 수 있습니다.
사람들은 흔히 프레넬 현상을 알고 있다고 하더라도, 반짝이는 물체에서만 이 현상이 일어난다고 믿는 경향이 있습니다. 물이나, 유리, 금속 같은 경우지요. 그렇지만 사실은, 거의 모든 물체에서 강력하게 나타납니다. 오히려 반짝이지 않는 재질에서 더 극적으로 발생한다고 생각합니다.
PVC 파이프 정면
골판지 상자
짱돌
수건
수건 얕은 각도
하나더 짚고 가자면 X-Rite 카메라 칼라체커를 사용할때 주의사항으로, 언제나 카메라에 직각으로 대고 사용할것을 권장합니다. 왜 그런지 이제 논의 할 필요는 없겠지요. (당연히 더 밝아지니까요 색상이 다 변해버립니다. )
자 위 글까지는 그냥 프레넬에 관한 글과 공식을 옮긴것이고, 과연 그럼 프레넬이란 어떤현상인지 좀더 알아보겠습니다.
Augustin-Jean Fresnel (/freɪˈnɛl/ fray-nel; French: [ɔɡystɛ̃ ʒɑ̃ fʁɛnɛl]; 1788–1827),
오귀스텡 쟝 프레넬. ( 프레스넬이 아닙니다 s가 묵음이라... 후... 저도 최근까지 프레스넬이라고 했는데 부끄럽네요 ///ㅅ/// ) 그냥 프레넬이라고 하겠습니다. 이분은 16세기말, 17세기에 파동광학 Wave Optics 의 확립에 크게 기여한 프랑스 엔지니어입니다.
1655년 뉴턴이 프리즘으로 스펙트럼을 분리한 이후, 반사와 굴절에 관한 연구는 그야말로 급진전했습니다. 16세기가 대항해시대가 한창이었을때니...
자 어떠셨나요? 이제 낮은 입사각에서 두 물체에서 반사가 일어나는 걸 아셨지요?
유리쪽에서 보면 40’ 언저리입니다. 유리에서->공기간의 Critical Angle은 41.8' 입니다.
입사각 < 임계각 = 굴절Transmission
출처 : SketchupUcation
Glossiness는 실제 반짝거리는 강도를 결정한다면,
IOR(굴절율)이 강하면 강할수록 주변광 반사의 영향이 증가한다는것을 알 수 있습니다.
다음으로 수면. 굴절이 되면서 수면아래 바닥이 보이네요.
그러나 Critical Angle을 넘어가면서 거울처럼 변해버립니다.
제가 출근길에 마구 찍은 사진입니다. 사실 프레넬 이펙트 안들어간거 찍기가 더 힘들어요. 가능하다면 게임에서도 향후 모든 매트리얼에 들어가지 않을까 합니다. (바램)
Comparing Fresnel Formulations
When Computing Kelemen/Szirmay-Kalos Specular Reflectance
http://http.developer.nvidia.com/GPUGems3/gpugems3_ch14.html
자 이제 프레넬 효과에 대해 한번 알아보았습니다. 요약하면, BRDF Blinn-Phong만으로 설명할수 없는 빛의 스페큘러 반사가 존재한다. 그 반사는 정면에서 바라보면 크게 눈에 뜨이지 않지만, 얕은 각도로 보면 물체의 표면이 밝아진다. 이를 프레넬 효과라 한다. 이는 물체 경계면에서 굴절율IOR 에 따라 다르게 나타난다. 그리고...
'아트' 카테고리의 다른 글
테크니컬 아티스트란? (24) | 2012.01.29 |
---|---|
ShaderFX를 이용한, 그래픽 디자이너를 위한 기초 쉐이더 강좌 3강 (26) | 2012.01.18 |
ShaderFX를 이용한, 그래픽 디자이너를 위한 기초 쉐이더 강좌 2강 (20) | 2012.01.03 |
게임 개발 업계 아티스트의 바람직한 마인드 (8) | 2011.12.29 |
개발과정에서 디자이너들의 커뮤니케이션 자세 (24) | 2011.12.24 |