cube environment mapping effect
DESCRIPTION
Cube Environment Mapping Effect. Mgun. Contents. . 큐브맵을 만드는 방법 [ 방법 1] Ray – Tracing - 속도가 느리다 . [ 방법 2] Environmental Reflection Mapping - 미리 만들어둔 주위 환경 을 물체 표면에 입혀 마치 반사가 일어난 것 같은 효과를 주는 기법. Cube Environment Mapping. http://mgun.tistory.com/1. - PowerPoint PPT PresentationTRANSCRIPT
Cube Environment Mapping Ef-fectMgun.
Contents
. 큐브맵을 만드는 방법
[ 방법 1] Ray – Tracing - 속도가 느리다 .
[ 방법 2] Environmental Reflection Mapping - 미리 만들어둔 주위 환경을 물체 표면에 입혀 마치 반사가 일어난 것 같은 효과를 주는 기법 .
Cube Environment Mappinghttp://mgun.tistory.com/1
Why Use
. Reflection Mapping -> 빛이 반사되는 표면을 처리하기 위해
[ 방법 1] Ray – Tracing - 속도가 느리다 .
[ 방법 2] Environmental Reflection Mapping - 미리 만들어둔 주위 환경을 물체 표면에 입혀 마치 반사가 일어난 것 같은 효과를 주는 기법 .
How Create
. Create CUbemap-> 큐브 텍스쳐의 생성 .POSITIVE_X: vLookDir = ( 1.0f, 0.0f, 0.0f ); vUpDir = ( 0.0f, 1.0f, 0.0f );NEGATIVE_X: vLookDir = ( -1.0f, 0.0f, 0.0f ); vUpDir = ( 0.0f, 1.0f, 0.0f );POSITIVE_Y: vLookDir = ( 0.0f, 1.0f, 0.0f ); vUpDir = ( 0.0f, 0.0f, -1.0f );NEGATIVE_Y: vLookDir = ( 0.0f, -1.0f, 0.0f ); vUpDir = ( 0.0f, 0.0f, 1.0f );POSITIVE_Z: vLookDir = ( 0.0f, 0.0f, 1.0f ); vUpDir = ( 0.0f, 1.0f, 0.0f );NEGATIVE_Z: vLookDir = ( 0.0f, 0.0f, -1.0f ); vUpDir = ( 0.0f, 1.0f, 0.0f );
Contents
구현 순서 .
- 현재 렌더타겟 저장 . - 큐브맵 각면의 서페이스를 렌더타겟으로 설정하여 90 도씩 회전하여 렌더링 . GetCubeMapSurface() 을 사용하여 큐브 텍스쳐의 각 면을 얻어오고 , GetCubeMapViewMatrix() 을 사용하여 뷰 메트릭스를 얻는다 .
- 큐브맵을 저장하고자 한다면 D3DXSaveTextureToFile 함수 활용 . - 만들어진 큐브맵 텍스쳐를 해당 물체에 맵핑
Contents
R = I – 2 * (I N) * N
Out.Reflect = normalize(reflect(Incident, Norm));Out.Reflect = normalize(Indicident – 2 * Norm * dot(Incident, Norm)
반짝이는 효과- 빛의 반사값 계산
Contents
반짝이는 효과- 빛의 반사값 계산 동적 큐브 맵
미리 만들어 놓은 큐브 맵이 아닌 매 프레임마다 새로 큐브 맵을 생성함 .
Test주전자 주위를 날아다니는 비행기를 하나
띄우고 ,그 비행기의 모습이 주전자 표면에 반사되게
하여 확인
큐브 맵 동적 생성 방법주전자는 제외한 채로환경과 비행기가 날아가는 장면을 생성생성된 화면 6 개를 큐브 맵에 저장다음 번 render() 시에 이 큐브 맵을 사용