6. 환경맵을 이용한 반사 효과 2. 입방체맵 생성 정확히 주변 환경을 표현해 내기 위해서는 정해진 법칙에 맞도록 입방체맵 이미지를 생성 . 중심이 될 물체의 위치에 카메라를 놓고 여섯 방향으로 사진을 찍는 방법 1) 각 방향을 찍기 위한 카메라는 90º 의 시야각을 사용 2) 가로 대 세로 비가 1: 1 3) 각 면의 이미지간에 어떠한 틈새도 없어야 한다 . < 그림 8 – 9 참조 > 3. 반사 벡터 계산 입방체맵의 어느 부분과 교차하는지를 결정해야 한다 . 물체 표면상에서 반사되어 나가는 방향 벡터는 입방체맵의 텍스처 좌표와 일치 환경맵을 표현하기 위해서는 반사벡터가 반드시 필요 R = I – 2N(N ㆍ I) 4. 환경맵을 위한 가정 환경맵의 이미지는 물체로부터 무한히 멀리 있는 배경으로 가정 . 환경맵은 위치가 아닌 방향 을 기준으로 환경맵의 텍스처를 참조하기 때문 . 방향의 변화만을 반영하기 때문에 어떤 물체 주변의 주변 환경이 무한히 멀리 있다는 가정이 필요 * 객체와 객체 사이의 반사되는 효과는 동적 환경맵 생성해야 한다 . – 과도한 계산 시간
7.
8.
9.
10.
11. 범프맵 2. 높이맵으로부터 법선맵 생성 - 게임 그래픽 모델러가 법선을 직접 계산하여 , 이미지로 만드는일은 매우 어려운 일 - 높이맵 - 높이정보를 담고 있는 2 차원 이미지 - 256 단계의 그레이스케일 이미지 ( 검정색과 흰색으로 구성되는 이미지 ) 로 구성 - 어두울수록 낮은 높이 , 밝을수록 더 높은 높이 - 이웃텍셀의 높이값과의 차이로부터 s 좌표 방향과 t 좌표 방향의 두 개의 벡터를 구하고 두 벡터의 외적이 법선 벡터 다 - 높이맵으로부터 차분 벡터를 어떻게 계산하는가 ? Nh 와 Nv 를 구한 후 두 벡터의 외적이 법선 벡터다 . - 법선은 -1.0 ~ 1.0 의 범위를 갖기 때문에 앞의 변환식을 통해 RGB 텍스처로 변환되어 저장 - z 성분 ( 청색의 범위 ) 은 항상 양수이며 , 거의 1.0 에 가깝다 . - RGB 텍스처로 저장된 법선맵의 전체적인 색깔은 푸른색 - 7 장에서 최종적인 조명 방정식에 N 에 지금까지 구한 법선맵을 사용 L 은 광원벡터를 법선맵과 유사하게 텍스처 범프효과가 부여된 렌더링 수행
12.
13. 카툰 렌더링 3. 외곽선 그리기 - 외곽선을 그리기 위해서는 물체의 외곽에 놓여진 픽셀을 찾아야 한다 . - 가장 쉬운 방법은 N ㆍ V 를 이용하는 것 (7. 조명 P.177) - N ㆍ V 는 현재 시점으로부터 그 표면이 얼마만큼 보여질지를 측정하는 역할 - N ㆍ V > 0 일 경우 (0 < cosθ < 90, 180 < cosθ < 270) 에는 점이 보이고 , N ㆍ V < 0 일 경우 (90 < cosθ < 180, 270 < cosθ < 360) 에는 점이 안 보인다 . - 계단 함수로 구성할 수 있으며 , 1D 텍스처로 인코딩 < 그림 8 - 28 참조 > 2. 전반사 성분 - 점직적 변화 대신 전반사 하이라이트에 계단 함수를 적용 - 전반사 성분을 카툰 렌더링에 추가 < 그림 8 - 27 참조 >
16. 3 차원 모델링 작업 Wire Frame 물체를 점으로 표현 Shading Surface 물체에 음영처리 (ray tracing) 물체를 다각형의 평면체 집합으로 표현 Texture Mapping 물체에 질감 처리 (mapping) Solid 고체 모델로 표현 3D 스튜디오에서의 모델링 작업 예
17.
18. 모델링과 렌더링 Wire Frame Shading Texture Mapping Surface 모델링 입체를 윤곽선에 따라 표현 렌더링 물체의 표면을 처리 ( 색상을 입힘 ) 물체에 음영처리 (ray tracing) 물체에 질감 처리 (mapping) 물체를 점으로 표현 물체를 다각형의 평면체 집합으로 표현
19. 영화 ‘스타워즈’의 예 실사 모델링 렌더링 무비 카메라로 실사 촬영 실사 필름 (negative film) 을 디지털화 캐릭터와 환경 창조 와이어프레임 구현 ( 모델링 ) 수정 , 합성 , 변조 ( 렌더링 ) 필름으로 다시 옮김 ( 색상과 화질의 재현 ) 그래픽 도구 (graphics tool) 를 이용 실제 카메라를 들고 촬영
20.
21.
22.
23. 텍스쳐 매핑의 적용 방법 텍스쳐 매핑의 여러 가지 적용 예 텍스쳐 맵에 의한 모델링 다면체 객체로 물체를 처리하는 이유 쉬운 렌더링 전략의 출현과 작업이 용이 바나나 사과 배 텍스쳐 맵 (texture maps) 텍스쳐 맵 부드러운 중간 객체 원하는 모양으로 모델링
24.
25.
26.
27.
28. 그림자 영역에서의 반사광 반사광 강도에 따른 변화 그림자 영역의 반사광 강도 광원과 객체에 대응하는 그림자 / 반그림자의 효과 예 반사 계수 그림자 (umbra) 반그림자 (penumbra)
29. 셰이딩 기법 Gouraud Phong - 점광원과 관측점이 표면으로부터 멀리 떨어져 곡면의 변화가 완만할 경우 명암 표현이 우수 - 방향 경사가 크면 사실적이지 못하다 . - 표면의 무늬나 결 , 그림자를 고려할 때 좋지 못하다 . - 빛 밝기의 차이가 부드럽지 못하다 . - 서로 이웃하는 면에서의 밝기가 연속적으로 변하지 않는 현상을 제거 - 한 물체의 명암을 유연하게 나타낸다 . - 밝거나 어두운 표면의 선인 마하선이 나타난다 . - 계산 시간이 많이 걸린다 . - 고로드 명암법을 개선 - 모든 점에서의 정규 벡터를 명암 모델에 적용 계산 - 마하선 효과를 줄일 수 있다 . 균일 광도법 고로드 (Gouraud) 명암법 퐁 (Phong) 명암법 Lambert
30. 고로드와 퐁 셰이딩의 비교 셰이딩의 여러 가지 예 Solid Texture Mapping 예 고로드 셰이딩 퐁 셰이딩 인접 다각형들간의 표면 법선 을 평균 계산 표면 법선을 분해하여 면의 모든 픽셀에 대한 법선 을 계산 현 스캔 라인 현 스캔 라인 정점 법선 정점 법선 보간 법선 원래의 표면
31.
32.
33. 그림자 생성 방법 (2) z - 버퍼를 이용한 셰이딩 레이 트레이싱을 이용한 셰이딩 관측점 광원 이미지 평면 그림자 z - 버퍼 객체 다각형 픽셀 다각형의 투영 픽셀 관측점 광원 이미지 평면 픽셀 교점 시선 광선 전처리 단계 광원을 시점으로 거리에 대한 깊이 정보를 계산하여 저장 렌더링 단계 z - 버퍼 알고리즘을 사용하여 렌더링 전처리 단계 관찰자 시점으로부터 광선을 추적하여 광선과 만나는 점을 결정 렌더링 단계 다른 물체와 만나면 그림자 영역으로 결정 ( 계산 시간이 많이 걸린다 )
34.
35. 레이 트레이싱 (2) 레이 트레이싱의 장단점 표면의 반사 , 투명도 , 굴절률 등 매우 사실적으로 물체 표현 가능 그림자 여부를 결정하기 위해 매우 복잡한 계산이 필요 픽셀 단위로 시뮬레이션하기 때문에 처리 시간이 많이 걸린다 . 우수한 이미지 획득이 가능하나 , 실시간 이미지 수행에는 부적합 때때로 빛은 객체의 모든 것을 놓친다 . 때때로 빛은 객체를 맞춘다 . 빛은 객체에 부딪쳐 반사된다 . 예 레이 트레이싱의 예 윈도 (window) 투영의 중심 (centre of projection) 장면 (scene) 현실의 빛을 거꾸로 더듬어 이미지 합성