1 / 8

Cube Environment Mapping Effect

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

ledell
Download Presentation

Cube Environment Mapping Effect

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cube Environment Mapping Effect Mgun.

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

  3. Cube Environment Mapping http://mgun.tistory.com/1

  4. Why Use • . Reflection Mapping • -> 빛이 반사되는 표면을 처리하기 위해 • [방법1] Ray – Tracing • - 속도가 느리다. • [방법2] Environmental Reflection Mapping • - 미리 만들어둔 주위 환경을 물체 표면에 입혀 마치 반사가 일어난것 같은 효과를 주는 기법.

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

  6. Contents 구현 순서. - 현재 렌더타겟 저장. • - 큐브맵각면의서페이스를렌더타겟으로 설정하여 90도씩 회전하여 렌더링. • GetCubeMapSurface()을 사용하여 큐브 텍스쳐의 각 면을 얻어오고, • GetCubeMapViewMatrix()을 사용하여 뷰 메트릭스를 얻는다. • - 큐브맵을 저장하고자 한다면 D3DXSaveTextureToFile함수 활용. • - 만들어진 큐브맵텍스쳐를 해당 물체에 맵핑

  7. Contents • 반짝이는 효과 • - 빛의 반사값 계산 • R = I – 2 * (I  N) * N Out.Reflect = normalize(reflect(Incident, Norm)); Out.Reflect = normalize(Indicident – 2 * Norm * dot(Incident, Norm)

  8. Contents • 동적 큐브맵 • 미리 만들어 놓은 큐브맵이 아닌 매 프레임마다 • 새로 큐브맵을 생성함. • Test • 주전자 주위를 날아다니는 비행기를 하나 띄우고, • 그 비행기의 모습이 주전자 표면에 반사되게 하여 확인 • 큐브맵 동적 생성 방법 • 주전자는 제외한 채로 • 환경과 비행기가 날아가는 장면을 생성 • 생성된 화면 6개를 큐브맵에 저장 • 다음 번 render()시에 이 큐브맵을 사용 • 반짝이는 효과 • - 빛의 반사값 계산

More Related