Your SlideShare is downloading. ×
0
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
GameMath-Chapter 08 고급렌더링
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

GameMath-Chapter 08 고급렌더링

1,450

Published on

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,450
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  1. 고급 렌더링 (Rendering) <ul><li>전체적인 구성 및 소개 </li></ul><ul><li>텍스처 매핑 </li></ul><ul><li>환경맵을 이용한 환경효과 </li></ul><ul><li>환경맵을 이용한 굴절효과 </li></ul><ul><li>범프맵 </li></ul><ul><li>카툰 렌더링 </li></ul>
  2. 전체적인 구성 및 소개 환경맵을 이용한 렌더링 범프맵을 이용한 렌더링 카툰 렌더링 텍스처 매핑을 이용한 렌더링 방법 <ul><li>텍스터 매핑 </li></ul><ul><li>물체에 입체감을 주기 위해 조명 기법 사용 . </li></ul><ul><li>더 세밀하게 캐릭터를 표현하고자 할 때 사용하는 것 . </li></ul><ul><li>텍스터 매핑을 사용하면 </li></ul><ul><li>게임상의 캐릭터가 입은 옷을 상세히 표현 </li></ul><ul><li>삼각형 폴리곤으로는 표현할 수 없는 상세한 모델 </li></ul><ul><li>확장된 텍스터 매핑을 사용하면 </li></ul><ul><li>길거리를 주행하는 차에 주변의 풍경이 반사되는 효과 </li></ul><ul><li>몬스터의 울퉁불퉁한 피부 등을 표현 </li></ul>텍스쳐 매핑을 이용한 고급 렌더링은 게임을 화려하게 한다 .
  3. 텍스처 (Texture) 매핑이란 ? <ul><li>텍스처 매핑 </li></ul><ul><li>폴리곤 기반 모델링을 간단히 수행 </li></ul><ul><li>모델 위에 그림을 입혀서 세부적인 디테일을 높여주는 방법 </li></ul>※ 모델링 (modeling) 이란 ? 어떤 대상물의 크기만 변경하여 통일된 형태를 가진 복제물 ( 모형 ) 을 만드는 것 ※ 렌더링 (rendering) 이란 ? 컴퓨터 그래픽스 혹은 그 외의 방법으로 만들어진 이미지를 실제와 가깝게 만드는 작업 ※ 텍스처 ― 텍스처 매핑에 사용되는 이미지 ※ 텍셀 ― 텍스처의 가장 작은 이미지 단위 ≒ 픽셀 <ul><li>그림 8 ─ 1 </li></ul><ul><li>모델은 단순하게 만들어도 텍스처만 그럴싸하게 만들면 , </li></ul><ul><li>전체 모델이 실제감을 갖기 때문에 3D 게임에서 텍스처 매핑은 필수다 . </li></ul>
  4. 텍스처 종류 및 좌표 <ul><li>텍스처의 종류 </li></ul><ul><li>1) 1D 텍스처 </li></ul><ul><li>일차원 배열로 이루어진 이미지로 구성 . </li></ul><ul><li>높이가 없고 폭이 있거나 폭이 없고 높이가 있는 텍스처 . </li></ul><ul><li>2) 2D 텍스처 </li></ul><ul><li>3D 게임에서 가장 많이 사용되는 텍스처 . </li></ul><ul><li>높이와 폭을 갖는 사각형 이미지 </li></ul><ul><li>일반적으로 이미지라고 하는 것이 바로 2D 텍스처 </li></ul><ul><li>3) 3D 텍스처 </li></ul><ul><li>일반 PC 게임에서는 아직까지 거의 쓰이지 않는 텍스처 </li></ul><ul><li>PC 용 3D 그래픽카드로 활용하기엔 아직은 역부족인 상태 </li></ul><ul><li>텍스처 좌표 </li></ul><ul><li>텍스처를 다각형에 입히는 데 필요한 좌표 ( 0.0 ~ 1.0) </li></ul><ul><li>s 좌표와 t 좌표로 구성 </li></ul><ul><li>s, t 좌표를 이용하여 하나의 텍스처에서 임의의 텍셀을 지정 </li></ul>
  5. 환경맵을 이용한 반사 효과 <ul><li>환경맵 </li></ul><ul><li>어떠한 물체에 주변 환경이 반사되어 나타나는 효과를 주기 위해서 사용 </li></ul><ul><li>예 ) 크롬 도금된 금속성의 물체 </li></ul><ul><li>니드포스피드에서 자동차 유리창에 주변환경이 반사되는 것 </li></ul><ul><li>환경맵의 적용 </li></ul><ul><li>물체의 주변이 물체로부터 무한대 거리에 있다고 가정하고 , </li></ul><ul><li>주변 환경을 이미지로 구성하여 적용 </li></ul><ul><li>예 ) 그럼 8 – 5, 8 – 6 참조 </li></ul>1. 입방체 텍스처 매핑 입방체맵 – 주변 환경을 상하좌우전후 방향에 대해 각각 이미지로 만든 6 개의 이미지를 하나의 세트 . 1) 2D 텍스처맵은 2D 텍스처 좌표를 이용하여 텍스처 이미지 안에서 하나의 색깔을 지정 . 2) 입방체맵은 물체가 놓여있는 입방체맵의 중심으로부터 바깥쪽 맵 평면까지의 3 차원 방향 벡터 를 표현하기 위해서 3D 텍스처 좌표를 이용 . - 방향 벡터와 면과 교차하는 지점의 색깔이 실제로 지정되는 색깔 . - 어떠한 물체에 주변 환경을 반사시키는 효과를 주는 환경맵을 위한 기능 < 그림 8 – 8 참조 >
  6. 환경맵을 이용한 반사 효과 2. 입방체맵 생성 정확히 주변 환경을 표현해 내기 위해서는 정해진 법칙에 맞도록 입방체맵 이미지를 생성 . 중심이 될 물체의 위치에 카메라를 놓고 여섯 방향으로 사진을 찍는 방법 1) 각 방향을 찍기 위한 카메라는 90º 의 시야각을 사용 2) 가로 대 세로 비가 1: 1 3) 각 면의 이미지간에 어떠한 틈새도 없어야 한다 . < 그림 8 – 9 참조 > 3. 반사 벡터 계산 입방체맵의 어느 부분과 교차하는지를 결정해야 한다 . 물체 표면상에서 반사되어 나가는 방향 벡터는 입방체맵의 텍스처 좌표와 일치 환경맵을 표현하기 위해서는 반사벡터가 반드시 필요 R = I – 2N(N ㆍ I) 4. 환경맵을 위한 가정 환경맵의 이미지는 물체로부터 무한히 멀리 있는 배경으로 가정 . 환경맵은 위치가 아닌 방향 을 기준으로 환경맵의 텍스처를 참조하기 때문 . 방향의 변화만을 반영하기 때문에 어떤 물체 주변의 주변 환경이 무한히 멀리 있다는 가정이 필요 * 객체와 객체 사이의 반사되는 효과는 동적 환경맵 생성해야 한다 . – 과도한 계산 시간
  7. 환경맵을 이용한 굴절 효과 <ul><li>환경맵을 이용하여 어떤 물체 주변의 경관을 반사시키는 효과를 줄 수 있을 뿐 아니라 , </li></ul><ul><li>물체에 굴절되는 효과 를 얻을 수 있다 . </li></ul><ul><li>예 ) 다크템플러 , 옵저버 , 레이쓰 </li></ul><ul><li>- 투명하게 꾸물거리는 효과를 3D 에서 사용하기 위해 필요 . </li></ul><ul><li>굴절을 위한 환경맵에서는 입사벡터가 표면에 굴절되면서 , 물체를 관통하여 생성된 </li></ul><ul><li>굴절 벡터를 텍스처 좌표로 사용된다 . </li></ul><ul><li>밀도가 더 높은 매질에서 광선이 더 느리게 진행하기 때문에 발생 . </li></ul>스넬의 법칙 (Snell’s law) 유리로 만든 물체를 빛이 굴절하여 통과 매끄러운 평면에 광선이 비치면 내부를 향해 나아간다 . 내부로 향하는 광선의 방향은 물체를 구성하는 물질의 굴절률에 따라 다르다 . * 굴절율이 높아지면 빛의 속도가 느려지고 ( 각은 낮아지고 ) 굴절율이 낮아지면 빛의 속도 저하가 미약해진다 . 표면 밖의 물질의 굴절률 ( 예 , 공기 ) 대상 물질의 굴절률 유리 공기 공기 광원 물질 굴절률 공기 1.0 유리 1.5
  8. 환경맵을 이용한 굴절 효과 <ul><li>굴절 벡터 R 구하기 ( 그림 8 – 12 참조 ) </li></ul>1. 입사벡터 I 와 표면의 법선 벡터 N 으로부터 입사각 θ I 를 계산 cos θ I = - I • N (-) 부호가 붙는 이유는 벡터의 사잇각을 계산할 때는 입사방향이 반대이기 때문 2. P. 204 참조
  9. 환경맵을 이용한 굴절 효과 <ul><li>굴절 효과를 위한 환경맵 적용 </li></ul>- 반사효과를 위한 환경맵과 마찬가지로 굴절 벡터 R 은 입방체맵과 교차하는 부분의 텍스처 색상이 굴절되는 표면상의 색상 <ul><li>프레넬 효과 </li></ul>- 빛이 두 매질이 맞닿아 있는 경계에 이르면 일부는 반사되고 일부는 굴절되는 현상이 발생 예 ) 유리의 경우 수직으로 입사하는 경우 96% 가 굴절하고 4% 가 반사 - 실세계의 물체처럼 반사와 굴절이 혼합되어 보이기 때문에 좀더 실감나는 게임 . - 프레넬 방정식은 프레넬 효과를 수학적으로 모델링한 것이며 , 매우 복잡 . - 수행 속도를 높이기 위해서 단순화한 프레넬 방정식을 주로 사용 반사계수 = max(min(1, bias + scale X (1+ I • NP))) bias – 프레넬 바이어스 , scale – 프레넬 크기 , P 는 프레넬 급수 최종 색상 = 반사 계수 X 반사색상 + (1 – 반사계수 ) X 굴절 색상 <ul><li>분광 효과 </li></ul>- 굴절량은 입사광의 파장과도 관련 . - 빛의 파장에 따라 굴절량의 차이를 보이면서 빛이 분리되는 듯한 현상 - 굴절 벡터가 환경맵의 색상 인덱스를 참고할 때도 같은 텍스처 좌표를 사용하지 않고 , 파장에 따라서 조금씩 오프셋된 텍스처 좌표를 사용
  10. 범프맵 <ul><li>범프맵 – 표면 법선 정보를 담고 있는 하나의 텍스처 </li></ul><ul><li>- 울퉁불퉁한 표면상의 광원 효과를 표현하는데 사용 </li></ul><ul><li>- 기하적인 변경없이 텍스처만으로 이루어지기 때문에 기하적 정보로만 구현하는 것보다 빠름 . </li></ul>1. 법선맵 - 모든 범프맵은 표면의 법선을 저장하고 있으며 , 저장된 표면 법선을 이용하여 표면의 변화를 나타냄 . - 각 법선의 표면으로부터 나가는 방향 벡터 . - 3 개의 벡터 성분 .( i, j, k) - RGB 텍스처맵의 색상정보 또한 3 개의 성분을 가지므로 법선벡터를 컬러로 변환하여 저장한 것 일반 RGB 텍스처 : 0. ~ 1.0 법선맵 : -1.0 ~ 1.0 - 법선벡터에서 RGB 텍스처 값으로 변경 : Color = 0.5 * Normal + 0.5 - RGB 텍스처 값에서 법선벡터로 변경 : Normal = 2 * (Color - 0.5) <ul><li>와이어프레임 – 철사줄과 같은 선들을 연결하여 3 차원 객체의 형상을 입체감 있게 표현 </li></ul><ul><li>범프맵을 이용하면 물체의 기하적인 복잡성을 증가시키는 대신에 </li></ul><ul><li>하나의 텍스처로 그 물체의 상세한 표면 형상을 표현 </li></ul><ul><li>< 그림 8 – 18 참조 > </li></ul>
  11. 범프맵 2. 높이맵으로부터 법선맵 생성 - 게임 그래픽 모델러가 법선을 직접 계산하여 , 이미지로 만드는일은 매우 어려운 일 - 높이맵 - 높이정보를 담고 있는 2 차원 이미지 - 256 단계의 그레이스케일 이미지 ( 검정색과 흰색으로 구성되는 이미지 ) 로 구성 - 어두울수록 낮은 높이 , 밝을수록 더 높은 높이 - 이웃텍셀의 높이값과의 차이로부터 s 좌표 방향과 t 좌표 방향의 두 개의 벡터를 구하고 두 벡터의 외적이 법선 벡터 다 - 높이맵으로부터 차분 벡터를 어떻게 계산하는가 ? Nh 와 Nv 를 구한 후 두 벡터의 외적이 법선 벡터다 . - 법선은 -1.0 ~ 1.0 의 범위를 갖기 때문에 앞의 변환식을 통해 RGB 텍스처로 변환되어 저장 - z 성분 ( 청색의 범위 ) 은 항상 양수이며 , 거의 1.0 에 가깝다 . - RGB 텍스처로 저장된 법선맵의 전체적인 색깔은 푸른색 - 7 장에서 최종적인 조명 방정식에 N 에 지금까지 구한 법선맵을 사용 L 은 광원벡터를 법선맵과 유사하게 텍스처 범프효과가 부여된 렌더링 수행
  12. 카툰 렌더링 <ul><li>NPR(Non - Photorealistic Rendering) </li></ul>- 3D 그래픽을 이용하여 만화같은 효과를 내기 위해 사용되는 렌더링 방법 - 일정한 물체를 렌더링하고 물체의 윤곽선을 뚜렷하게 그려주는 것 1) 두 개의 색상값을 주고 분산광 성분을 표현 2) 전반사 성분은 물체의 가장 밝은 곳을 표현하기 위한 하나의 색상으로 표현 3) 물체를 만화처럼 보여주기 위해 굵은 외곽선을 추가 <ul><li>카툰렌더링 구현 내용 </li></ul>1. 분산 성분의 표현 - 셰이딩된 색상을 2 개의 구분된 색상영역으로 나누는 것 - 2 개의 색상영역만을 갖는 이미지 ( 계단 함수 ) - 텍스처 참조 테이블 역할을 하는 1 차원 맵을 사용 < 그림 8 - 26 참조 >
  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 참조 >
  14. Thank You
  15. 모델링 와이어 프레임 (wire frame) <ul><li>모델링 (modeling) </li></ul><ul><li>어떤 대상물의 크기만 변경하여 통일된 형태를 가진 복제물 ( 모형 ) 을 만드는 것 </li></ul>서페이스 모델 (surface model) 솔리드 모델 (solid model) 물체의 중요한 특징을 점과 선으로 표현 다각형의 평면체 집합으로 물체를 표현 물체를 안이 꽉 찬 물체로 표현 면과 속의 내용이 없고 뼈대만 있기 때문에 물체 내부에 자유로이 들어갈 수 있다 . 표면에 의해 안팎이 차단되어 내부에 자유 롭게 들어갈 수 없으나 , 일부를 절단하면 내부를 볼 수 있고 , 들어갈 수 있다 . 물체를 절단하면 안이 꽉 차있기 때문에 절단면이 보이며 , 내부는 보이지 않는다 . 3 차원 물체의 입체 모델을 구축하는 방법
  16. 3 차원 모델링 작업 Wire Frame 물체를 점으로 표현 Shading Surface 물체에 음영처리 (ray tracing) 물체를 다각형의 평면체 집합으로 표현 Texture Mapping 물체에 질감 처리 (mapping) Solid 고체 모델로 표현 3D 스튜디오에서의 모델링 작업 예
  17. 렌더링 셰이딩 기법 (shading method) <ul><li>렌더링 (rendering) </li></ul><ul><li>컴퓨터 그래픽스 혹은 그 외의 방법으로 만들어진 이미지를 실제와 가깝게 만드는 작업 </li></ul>매핑 방식 (mapping method) 물체에 빛이 닿으면 밝은 곳과 어두운 곳이 생기는데 빛이 닿는 정도를 컴퓨터 그래픽스로 나타내는 기법 질감 자료를 입체 모델 표면에 부치거나 , 색을 얻을 수 있는 함수를 사용하여 입체 단면을 표현 렌더링 기법 이미지 매핑 (image mapping) 절차적 매핑 (procedural mapping) 질감 자료를 디지털화 이미지에 의해 제공 - 그리기 , 스캔 , 계산 , 렌더링이 가능 수학 함수에 의해 표면의 변화를 계산하여 적용 - 연기 , 먼지 , 비누 거품 , 침식 , 요동 등에 이용
  18. 모델링과 렌더링 Wire Frame Shading Texture Mapping Surface 모델링 입체를 윤곽선에 따라 표현 렌더링 물체의 표면을 처리 ( 색상을 입힘 ) 물체에 음영처리 (ray tracing) 물체에 질감 처리 (mapping) 물체를 점으로 표현 물체를 다각형의 평면체 집합으로 표현
  19. 영화 ‘스타워즈’의 예 실사 모델링 렌더링 무비 카메라로 실사 촬영 실사 필름 (negative film) 을 디지털화 캐릭터와 환경 창조 와이어프레임 구현 ( 모델링 ) 수정 , 합성 , 변조 ( 렌더링 ) 필름으로 다시 옮김 ( 색상과 화질의 재현 ) 그래픽 도구 (graphics tool) 를 이용 실제 카메라를 들고 촬영
  20. 질감 (Texture) 주변 색상 (ambient color) 주변 광만으로 비춰진 표면 <ul><li>질감 (texture) </li></ul><ul><li>물체의 색상이나 그 물체가 갖는 고유의 재질 패턴 </li></ul>확산 색상 (diffuse color) 반사 색상 (specular color) 주변 색상 (ambient color) 물체의 표면에 빛이 직접 비추는 곳에 나타남 광원이 반사되는 곳에 나타남 재질의 색상 요소 질감의 여러 가지 예 사진이나 그림 등의 2 차원 이미지를 입체 모델 표면에 붙일 수도 있다 . 컴퓨터 그래픽에서 모델링된 3 차원 물체의 표면의 사실감을 위해 , 모델링된 물체에 질감을 표현한다 . 빛과 물체의 관계로부터 물체 표면의 밝기 , 빛의 반사 , 굴절 등을 고려하여 질감을 입힌다 .
  21. 표면 매핑 표면 (surface) 범프 (bump) 반사 (reflection) 텍스쳐 매핑 (texture mapping) 확산 요소 (diffuse component) 검경 요소 (specular component) 반사 요소 (reflection component) 범프 매핑 (bump mapping) 돌기 매핑 (roughness mapping) 조명 모델의 요소를 변형 비금속 , 비투과 물질로 분류 예 ) 피부 , 종이 , 옷감 등 강조 (highlight) 는 물체 내의 색으로 구현 예 ) 금 , 은 , 금속 등 표면에서 반사된 것처럼 표현 표면 색 외에 충돌이나 파동 등을 보완 물체 표면의 거친 정도를 조정 전송 요소 (transmitted component) 색의 패턴 변화를 강조 예 ) 건물 벽 , 얼룩진 유리 등 굴절 요소 (refraction component) 표면이나 물체를 통해 굴절 주변 요소 (ambient component) 주변 색상에 적용 확산 요소보다 어둡거나 다른 색조로 구현 <ul><li>표면 매핑 </li></ul><ul><li>3 차원 물체의 표면에 재질을 입히는 것 </li></ul>
  22. 텍스쳐 매핑 <ul><li>텍스쳐 매핑 (texture mapping) </li></ul><ul><li>사진이나 그림 등의 2 차원 이미지를 입체 모델 표면에 표현하는 렌더링 기법 </li></ul>텍스쳐 매핑의 적용 과정 Wire Frame Solid 입체를 그 윤곽선에 따라 표현 Texture Mapping 입체를 고체 모델로 표현 2 차원 이미지를 입체 표면에 입혀 질감으로 표현
  23. 텍스쳐 매핑의 적용 방법 텍스쳐 매핑의 여러 가지 적용 예 텍스쳐 맵에 의한 모델링 다면체 객체로 물체를 처리하는 이유 쉬운 렌더링 전략의 출현과 작업이 용이 바나나 사과 배 텍스쳐 맵 (texture maps) 텍스쳐 맵 부드러운 중간 객체 원하는 모양으로 모델링
  24. 광원 <ul><li>광원 (light source) </li></ul><ul><li>모든 광원은 광원 형태와 광원 색상을 갖는다 . </li></ul><ul><li>- 부가적인 정보 : 위치 , 방향 , 집중 지수 , 분산 각 , 감쇠지수 </li></ul>반사 광원 (reflecting light source) 분산 광원 (distributed light source) 명암 주위 광원과 점광원 모두를 고려 반사 빛 확산 반사 (diffuse reflection) 검경 반사 (specular reflection) 발광원 반사 광원 분산 광원 발광원 전구 , 태양 등 반사 광원 다른 물체로부터 반사되는 빛 ( 대상 물체 가까이 있는 벽 등 ) 배경 빛 주위 빛 (ambient light) 물체 주위에 있는 여러 개의 반사 광원에 의해 만들어진 하나의 빛 분산 광원 대상 물체 가까이 있는 빛 ( 형광등 등 ) 점광원 대상 물체에 비해 작은 광원
  25. 확산 반사 <ul><li>확산 반사 (diffuse reflection) </li></ul><ul><li>두 개의 광원에 의한 모든 방향에서부터의 산발된 반사 빛 ( 난 반사 ) </li></ul><ul><li>- 표면의 굴곡에서 기인 </li></ul><ul><li>- 모든 방향으로 같은 양의 반사를 일으킨다 . </li></ul>확산 반사의 빛의 강도 표면의 반사 계수 흡수  반사 광원의 밝기 광원과 물체 표면간의 거리 표면의 모든 지점 표면에서의 한 점 주위 빛과 한 점광원에 의한 전체 확산 반사량 Lambert’s law N L  표면에 직각이 되는 방향 입사 광선의 방향 입사 각도 표면 (surface)
  26. 검경 반사 <ul><li>검경 반사 (specular reflection) </li></ul><ul><li>점 광원에 의해 만들어진 표면의 밝은 점 ( 전반사 ) </li></ul><ul><li>- 거울의 표면에서 반사되는 빛의 형태 </li></ul><ul><li>- 무딘 표면보다 매끄러운 표면에 확실히 나타난다 . </li></ul>검경 반사의 빛의 강도 반사 함수 ( k s ) ( 표면의 재질 ) N L  표면에 직각 되는 방향 광원의 방향 입사 각도 표면 (surface) R  V 검경 반사의 방향 관측 방향 검경 반사 각도  매우 매끈한 표면 완전 반사경 아주 거친 표면 N L  매끄러운 표면 R  N L  무딘 표면 R 
  27. 굴절 빛 <ul><li>굴절 빛 (refracted light) </li></ul><ul><li>물체 표면을 통과한 빛 ( 통과빛 , transmitted light). </li></ul>스넬의 법칙 (Snell’s law) 유리로 만든 물체를 빛이 굴절하여 통과 매끄러운 평면에 광선이 비치면 일부는 반사하고 일부는 내부를 향해 나아간다 . 내부로 향하는 광선의 방향은 물체를 구성하는 물질의 굴절률에 따라 다르다 . N I  입사 광선 물체 표면 S  반사 광선 T 표면 밖의 물질의 굴절률 ( 예 , 공기 ) 대상 물질의 굴절률 유리 공기 공기 광원 물질 굴절률 공기 1.0 유리 1.5
  28. 그림자 영역에서의 반사광 반사광 강도에 따른 변화 그림자 영역의 반사광 강도 광원과 객체에 대응하는 그림자 / 반그림자의 효과 예 반사 계수 그림자 (umbra) 반그림자 (penumbra)
  29. 셰이딩 기법 Gouraud Phong - 점광원과 관측점이 표면으로부터 멀리 떨어져 곡면의 변화가 완만할 경우 명암 표현이 우수 - 방향 경사가 크면 사실적이지 못하다 . - 표면의 무늬나 결 , 그림자를 고려할 때 좋지 못하다 . - 빛 밝기의 차이가 부드럽지 못하다 . - 서로 이웃하는 면에서의 밝기가 연속적으로 변하지 않는 현상을 제거 - 한 물체의 명암을 유연하게 나타낸다 . - 밝거나 어두운 표면의 선인 마하선이 나타난다 . - 계산 시간이 많이 걸린다 . - 고로드 명암법을 개선 - 모든 점에서의 정규 벡터를 명암 모델에 적용 계산 - 마하선 효과를 줄일 수 있다 . 균일 광도법 고로드 (Gouraud) 명암법 퐁 (Phong) 명암법 Lambert
  30. 고로드와 퐁 셰이딩의 비교 셰이딩의 여러 가지 예 Solid Texture Mapping 예 고로드 셰이딩 퐁 셰이딩 인접 다각형들간의 표면 법선 을 평균 계산 표면 법선을 분해하여 면의 모든 픽셀에 대한 법선 을 계산 현 스캔 라인 현 스캔 라인 정점 법선 정점 법선 보간 법선 원래의 표면
  31. 광선 추적 방법   - 자연 현상을 충실하게 시뮬레이션 - 여러 방향의 광선을 모두 추적하는 비능률성 - 광원에서 출발한 광선을 무한하게 세분 필요 ( 불가능 ) - 시선 방향으로 빛을 역추적하여 광선을 추적 - 시선 경로에 따라 가다 빛을 분산 시키는 물체에 도달하면 셰이딩 모델로 광선의 밝기와 색을 결정 - 광원과 물체 표면의 각도를 이용하여 색의 밝기를 표현 - 여러 물체와의 교점 중에서 가장 가까운 교점을 시선이 도달한 곳으로 결정 정방향 광선 추적법 (forward ray tracing) 역방향 광선 추적법 (backward ray tracing) <ul><li>광선 추적법 (ray tracing) </li></ul><ul><li>관찰자의 눈에 들어오는 광선을 찾아 그 광선의 색을 화면에 표시하는 방법 </li></ul>광원이 내보내는 빛의 방향을 세분하여 추적 관찰자의 눈에서 광원 방향으로 시선을 추적 광원 픽셀 위치 투영의 중심 ( 관측점 )
  32. 그림자 생성 방법 (1) <ul><li>셰이딩 (shading) </li></ul><ul><li>3 차원 공간에서 그림자를 생성하는 방법 </li></ul>스캔라인 알고리즘을 이용한 셰이딩 그림자 입체를 이용한 셰이딩 관측점 광원 다각형 1 다각형 2 스캔라인 이미지 평면 다각형 1 로부터의 그림자 관측점 광원 다각형 이미지 평면 그림자 입체 전처리 단계 물체를 구성하는 각 평면들이 빛의 방향에서 서로 겹치는지 검사 , 저장 렌더링 단계 정보를 이용하여 그림자를 계산 ( 그림자가 없을 때는 단순하게 색칠 ) 전처리 단계 점광원 중심으로 각 평면에 대해 그림자 입체를 생성 렌더링 단계 시점 중심으로 평면을 스캔라인 알고 리즘을 이용하여 평면을 계산
  33. 그림자 생성 방법 (2) z - 버퍼를 이용한 셰이딩 레이 트레이싱을 이용한 셰이딩 관측점 광원 이미지 평면 그림자 z - 버퍼 객체 다각형 픽셀 다각형의 투영 픽셀 관측점 광원 이미지 평면 픽셀 교점 시선 광선 전처리 단계 광원을 시점으로 거리에 대한 깊이 정보를 계산하여 저장 렌더링 단계 z - 버퍼 알고리즘을 사용하여 렌더링 전처리 단계 관찰자 시점으로부터 광선을 추적하여 광선과 만나는 점을 결정 렌더링 단계 다른 물체와 만나면 그림자 영역으로 결정 ( 계산 시간이 많이 걸린다 )
  34. 레이 트레이싱 (1) <ul><li>레이 트레이싱 (ray tracing) </li></ul><ul><li>반사 , 음영 , 빛의 굴절 등을 정확히 묘사하고 , 보다 현실에 가까운 입체 표현이 가능한 </li></ul><ul><li>방법으로 가장 유효한 렌더링 방법 </li></ul>레이 트레이싱의 적용 방법 시점 물체 공간 이미지 평면 픽셀 ( m, n ) 시선 광선  m, n 의 초기값을 설정  시점으로부터 픽셀 ( m, n ) 에 광 선을 방사하고 , 모든 물체와의 교점을 구한다 .  교점이 존재하면 , 이미지 평면에 가장 가까운 교점을 구한다 . 교점이 없으면 ,  로 간다 .  3 점의 물체 그림자를 만들고 , 색을 결정하여 픽셀 ( m, n ) 에 부여한다 .  픽셀 ( m, n ) 을 배경색으로 한다 .  이를 모든 픽셀에 대해 행한다 . 알고리즘
  35. 레이 트레이싱 (2) 레이 트레이싱의 장단점  표면의 반사 , 투명도 , 굴절률 등 매우 사실적으로 물체 표현 가능  그림자 여부를 결정하기 위해 매우 복잡한 계산이 필요  픽셀 단위로 시뮬레이션하기 때문에 처리 시간이 많이 걸린다 .  우수한 이미지 획득이 가능하나 , 실시간 이미지 수행에는 부적합 때때로 빛은 객체의 모든 것을 놓친다 . 때때로 빛은 객체를 맞춘다 . 빛은 객체에 부딪쳐 반사된다 . 예 레이 트레이싱의 예 윈도 (window) 투영의 중심 (centre of projection) 장면 (scene) 현실의 빛을 거꾸로 더듬어 이미지 합성
  36. 레이 트레이싱의 여러 가지 예

×