cube environment mapping effect

8
Cube Environment Mapping Effect Mgun.

Upload: ledell

Post on 16-Jan-2016

102 views

Category:

Documents


0 download

DESCRIPTION

Cube Environment Mapping Effect. Mgun. Contents. . 큐브맵을 만드는 방법 [ 방법 1] Ray – Tracing - 속도가 느리다 . [ 방법 2] Environmental Reflection Mapping - 미리 만들어둔 주위 환경 을 물체 표면에 입혀 마치 반사가 일어난 것 같은 효과를 주는 기법. Cube Environment Mapping. http://mgun.tistory.com/1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Cube Environment Mapping Effect

Cube Environment Mapping Ef-fectMgun.

Page 2: Cube Environment Mapping Effect

Contents

. 큐브맵을 만드는 방법

[ 방법 1] Ray – Tracing - 속도가 느리다 .

[ 방법 2] Environmental Reflection Mapping - 미리 만들어둔 주위 환경을 물체 표면에 입혀 마치 반사가 일어난 것 같은 효과를 주는 기법 .

Page 3: Cube Environment Mapping Effect

Cube Environment Mappinghttp://mgun.tistory.com/1

Page 4: Cube Environment Mapping Effect

Why Use

. Reflection Mapping -> 빛이 반사되는 표면을 처리하기 위해

[ 방법 1] Ray – Tracing - 속도가 느리다 .

[ 방법 2] Environmental Reflection Mapping - 미리 만들어둔 주위 환경을 물체 표면에 입혀 마치 반사가 일어난 것 같은 효과를 주는 기법 .

Page 5: Cube Environment Mapping Effect

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 );

Page 6: Cube Environment Mapping Effect

Contents

구현 순서 .

- 현재 렌더타겟 저장 . - 큐브맵 각면의 서페이스를 렌더타겟으로 설정하여 90 도씩 회전하여 렌더링 . GetCubeMapSurface() 을 사용하여 큐브 텍스쳐의 각 면을 얻어오고 , GetCubeMapViewMatrix() 을 사용하여 뷰 메트릭스를 얻는다 .

- 큐브맵을 저장하고자 한다면 D3DXSaveTextureToFile 함수 활용 . - 만들어진 큐브맵 텍스쳐를 해당 물체에 맵핑

Page 7: Cube Environment Mapping Effect

Contents

R = I – 2 * (I N) * N

Out.Reflect = normalize(reflect(Incident, Norm));Out.Reflect = normalize(Indicident – 2 * Norm * dot(Incident, Norm)

반짝이는 효과- 빛의 반사값 계산

Page 8: Cube Environment Mapping Effect

Contents

반짝이는 효과- 빛의 반사값 계산 동적 큐브 맵

미리 만들어 놓은 큐브 맵이 아닌 매 프레임마다 새로 큐브 맵을 생성함 .

Test주전자 주위를 날아다니는 비행기를 하나

띄우고 ,그 비행기의 모습이 주전자 표면에 반사되게

하여 확인

큐브 맵 동적 생성 방법주전자는 제외한 채로환경과 비행기가 날아가는 장면을 생성생성된 화면 6 개를 큐브 맵에 저장다음 번 render() 시에 이 큐브 맵을 사용