[0618 석재호]용기에담긴액체를위한굴절매핑

Post on 26-May-2015

595 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

용기에 담긴 액체를 용기에 담긴 액체를 위한 굴절매핑위한 굴절매핑

프레젠테이션 미적 감각의 소유자데브루키

꿜라 석재호

GPG 스터디 1 권 5.11

챕터 소개챕터 소개

불투명한 용기 안에 담긴 액체의 굴절매핑을실시간으로 수행하기 위한 실용적인 방법 소개

굴절 , 반사 , 프레넬 항의 계산 방법 리뷰

초면효과 , 입자상 물질 등 현실감 향상을 위한방법 소개

관측자는 용기 외부에 , 용기는 불투명하다고 가정

도 입도 입

해당 기법에 쓰인 조명 방정식은굴절과 반사 , 프레넬 항으로 이루어진전형적인 방정식

프레넬 항에 따라 굴절과 반사의 비율 결정

Result = Fresnel * refraction + (1 – Fresnel) * reflection

굴절률 항굴절률 항Snell 의 법칙 이용 - 정점 단위로 시선벡터 굴절스넬의 법칙 ? – 매질에 따라 내부에서 진행중인

파동의 속도가 달라지는데 이로 인해 서로 다른 매질 간에 파동이 진행할 때 진행방향이 굴절된다 .

이 때에 굴절률은 각 매질의 굴절률이 아닌두 매질간의 상대적인 굴절률 비에 의존한다

http://physica.gsnu.ac.kr/phtml/optics/light/refract/refract.html 스넬의 법칙이 잘 설명된 곳

굴절률 항굴절률 항

상대굴절률 = --------------------------------

정해져 있으므로 상수로 만들어 쓸 수 있다Ex) 공기에서 물로의 굴절률은 1.333

스넬의 법칙과 굴절률에 대한 더 자세한 내용은역시 박민수님의 “ 환경매핑” 데브루키 발표자료를 ..

진입할 매질의 굴절률

기존 매질의 굴절률

굴절률 항굴절률 항

수면 법선

@1

@2

n1

n2

용기와의 교차용기와의 교차

앞서 정리하면 ,스넬의 법칙에 의해 굴절된 광선을 구한 후행해지는 계산은 기존의 환경매핑 방식과 동일

벡터에 대한 환경맵 텍스쳐 좌표 매핑 공식만맞게 쓰면 됩니다

용기와의 교차용기와의 교차

특정 형태의 용기 내부가 빛의 굴절에 의해 왜곡된 모습을 그리려면 굴절된 광선이 용기와 교차하는 점을 구해야 함

>> 포물면 / 반구체 교차판정을 통하면 간단히 사발 모양 용기 표현이 가능하다 또한 이 방식은 시점이 이동하더라도 항상 제대로 된 결과를 보여준다

용기와의 교차용기와의 교차

직육면체 모양 용기의 경우

하나의 굴절된 광선으로 다섯 면에 대해각각 교차판정 수행 , 평면상의 교차지점 얻는다

이 교점을 굴절 맵 텍스쳐의 좌표로 변환한다( 책에서는 굴절맵으로 한 장의 텍스쳐 이용 )

용기 내부의 조명용기 내부의 조명

용기 내부의 조명은

미리 적용해서 굴절맵에 그리면 됩니다 . 끝

프레넬 항프레넬 항

Result = Fresnel * refraction + (1 – Fresnel) * reflection

프레넬 항의 역할 수면에 대한 시야 각도에 따라 굴절된 빛과 반사된 빛의 비율을 결정하는 항 ( 수면과 눈높이가 비슷할 때 물 속이 보이지 않고 , 물 위에 서서 내려다볼 때 투명해 보이는 것을 떠올리시면 됩니다 )

프레넬 항프레넬 항

Result = Fresnel * refraction + (1 – Fresnel) * reflection위의 식처럼 굴절항과 반사항 사이의 혼합계수로쓰이기도 하고

그냥 반사맵과 프레넬 항을 곱해서 쓰는 것으로제대로 된 결과를 내는 경우도 있다고책에서 소개하고 있습니다

프레넬 항프레넬 항

프레넬 항을 구하기 위한 함수는 0 에서 1 사이범위를 가지는 사인 , 사인 제곱 , 코사인 또는코사인 제곱 함수로 정할 수 있음

수면 법선 벡터와 시선 벡터의 내적을 계산해그 코사인 항을 프레넬 항으로 쓰는 것이 한 예

이 프레넬 항들을 정점 당 구해서 선형보간을 하거나 , 픽셀 단위로 계산할 수 있다

하드웨어 렌더링하드웨어 렌더링

이 파트는앞선 과정을 통해 경계 ( 수면 ) 메시의 정점마다해당되는 텍스쳐 좌표를 구한 후OpenGL 환경 하에서 굴절맵과 반사맵 텍스쳐를 블렌딩하는 방법을 소개하고 있습니다

지금에는 셰이더 내에서 두 텍셀 색상을 보간 혼합하는 간단한 과정으로 대체 가능하다보여집니다

초면초면 (caustics)(caustics)

초면 초면 에 실례합니다 에 실례합니다 .. .. 아아 .. .. 이 말장난 해버리고 싶어지네요이 말장난 해버리고 싶어지네요

시점 대신 광원 벡터를 이용

동적 방식과 정적 방식을 생각할 수 있다광원으로부터의 광선 벡터가 굴절되어용기 내부와 교차되는 점을 동일하게 구한다

광선의 강도를 ‘초면 맵’에 누적시킨다

초면 초면 에 이런 개그 죄송합니다에 이런 개그 죄송합니다 ....

동적 초면 맵

광원으로부터의 광선 벡터가 굴절되어용기 내부와 교차되는 점을 전과 동일하게 구한다

점에 닿는 광선의 강도를 ‘초면 맵’에 누적시킨다

초면 맵과 굴절 맵을 결합시킨다

초면 초면 ……………………

정적 초면 맵

미리 만든 초면 맵을 매 프레임마다 스크롤 해서 굴절 맵과 결합한다

초면 맵에 대한 계산 부하가 없어 효율적

젤다의 전설 – 시간의 오카리나 Zora’s Domain 레벨에서 호수 표현에 쓰였다는GPG 의 친절한 소개글이 ..

입자상 물질입자상 물질 (particulate matter)(particulate matter)

입자상 물질입자상 물질 (particulate matter)(particulate matter)

입자상 물질입자상 물질 은 드립거리가 없네요 은 드립거리가 없네요 .. .. 원통하다원통하다 ....

굴절광선과 용기의 교차판정 시 굴절광선이 매질 내에서 이동하는 거리를 구한다( 수면 메시 정점에서 용기 면에 닿는 벡터 길이 )

이 거리를 정점에서 물의 색을 혼합하는 데사용하면 입자상 물질의 효과를 얻을 수 있다( 비행 시뮬에서 안개 색 혼합을 통해 대기 효과를얻는 것과 동일 )

결 론결 론

본 기법은 굴절 맵과 반사 맵에 대한 새 텍스쳐 좌표를 매번 계산할 뿐텍스쳐 자체를 갱신하지 않으므로효율적으로 동작 가능하다

라는 내용입니다

top related