• 검색 결과가 없습니다.

OpenGL 세미나

N/A
N/A
Protected

Academic year: 2022

Share "OpenGL 세미나"

Copied!
30
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

1

13장. 고급 렌더링

OpenGL 세미나

김형욱

(2)

2

13장. 고급 렌더링

학습목표

• 그림자를 구현하기 위한 세 가지 방법을 이해한다.

• 레이트레이싱의 정의와 구현방법을 이해한다.

• 레디오서티의 정의와 구현방법을 이해한다.

• 레이트레이싱과 레디오서티의 장단점을 비교하여 이해한다.

(3)

3

그림자

셰이드(Shade)

• 셰도우(Shadow)와 구별

• 상대적으로 단순한 연산으로 매우 사실적인 효과

• 조명과 별도로 취급 그림자

• 그림자 없음: 공중에 떠있는 인상

• 광원특성: 방향성 그림자. 위치성 그림자

(4)

4

반영과 본영

본영(本影, 본 그림자, Umbra, Hard Shadow) 반영(半影, 반 그림자, Penumbra, Soft Shadow) 그림자

• 광원의 빛이 직접 닿지 않는 곳에 있음에도 주변광에 의해 보임

• 산란으로 인해 본영과 반영의 경계선이 흐려져 보임

(5)

5

소프트 셰도우 기법

면적 광원의 근사화

• 교집합: 본영

• 합집합 – 교집합: 반영(Soft Shadow)

(6)

6

지면 그림자(Ground Shadow)

지면 그림자(Ground Plane Shadows)

• 투상 그림자(Projection Shadows)

• 바닥에 투상된 그림자만을 고려. 물체면 간의 그림자는 고려치 않음

• 물체공간 알고리즘

(7)

7

지면 그림자

(8)

8

셰도우 맵(Shadow Map)

화소 단위의 영상공간 알고리즘

1. 광원기준 가장 가까운 물체면과의 거리(A)를 셰도우 지-버퍼에 저장 2. 은면제거를 위해 시점기준 가장 가까운 물체면 화소를 구함

3. 해당 화소 물체면으로부터 광원(B)까지의 거리를 구함.

4. B가 A보다 크면 해당 화소는 그림자 영역 내부에 존재함.

(9)

9

셰도우 맵(Shadow Map)

if (Zmap + Bias) < Zpixel

the Pixel Is in the Shadow;

else the Pixel Is Not in the Shadow;

• Bias: Zmap과 Zpixel이 정확히 일치하지 않을 때에 대비 광원기준 셰도우 맵, 시점 기준 물체 렌더링

(10)

10

그림자 부피(Shadow Volume)

가시부피와 그림자 부피가 중첩되는 곳이 그림자 영향권

(11)

11

지 패스 알고리즘(Z-Pass Algorithm)

다수개의 다각형에 의한 그림자

• 그림자 부피 안으로 들어갈 때 + 1, 나갈 때 -1

• 결과적인 카운트 값이 0보다 크면 그림자 색

(12)

12

지-페일 알고리즘(Z-Fail Algorithm)

전방절단면 앞쪽이 이미 그림자 부피이면 지-패스는 오류 지-페일 알고리즘

• 무한대 거리에서 시점을 향해 오면서 카운트 값을 계산

• 그림자가 후방절단면 뒤쪽에 걸칠 때엔 이 역시 오류

(13)

13

지역조명모델과 전역조명모델

레이 트레이싱(광선 추적, Ray Tracing)

• 대표적인 전역조명모델(Global Illumination Model)

• 순방향 레이트레이싱(順方向)

▪ 광원에서 나온 모든 광선을 추적. 너무 많은 계산을 요함.

• 역방향 레이트레이싱(逆方向)

▪ 우리 눈에서 광선이 발사된다고 가정하고 추적.

(14)

14

레이 트레이싱

광선의 방향

• 화면에 수직

• 평행투상, 원근투상 모두 정규화 가시부피에서는 평행투상

• 광선의 방향은 서로 독립적. 병렬처리(Parallel Processing)에 유리

(15)

15

레이 트레이싱

가) 지역 조명모델에 의한 세기 (광원과 물체 사이) 나) 반사 광선에 의한 세기 (다른 물체 사이)

다) 굴절 광선에 의한 세기 (다른 물체 사이)

지역 조명모델에 의한 세기

• 그림자 광선과 다른 물체가 만나면 C = 0 , Ambient = 주변광

(16)

16

레이 트레이싱

반사 광선

• 입사각과 반사각이 동일한 경면 반사만을 추적 굴절 광선

• 물체면이 투명한 경우에 추적

• 스넬의 법칙(Snell's Law)

▪ 굴절광선의 진행방향

(17)

17

경면계수와 굴절계수

(18)

18

레이 트레이싱

재귀적 광선추적과 레이트리

(19)

19

레이 트레이싱

다각형 사이의 상호작용

• 이면 제거(Backface Culling)를 허용하지 않음.

• 은면 제거(Hidden Surface Removal)를 허용하지 않음.

• 그림자 연산이 자동으로 이루어짐.

2개의 광원에 의한 하이라이트, 하드 셰도우

(20)

20

레이트레이싱

레이트레이싱

• 모든 화소에 대해 광선을 추적

• 각각의 광선과 마주치는 모든 면을 발견

• 이 모든 면에 대해 반사광과 굴절광의 세기를 계산 연산의 가속

• 빛의 세기가 일정 한도에 다다르면 추적을 끝냄: 임계치 설정

• 다각형과의 교차점 계산에 BV 활용: BV Test

(21)

21

교차점 계산

평면과의 교차점: Ax + By + Cz = D로 표현되는 평면

원구와의 교차점: 중심 반지름 r인 원구

• 2개의 실근, 중근, 허근

(22)

22

레디오서티(Radiosity)

레디오서티

• 전역 조명모델:물체면 상호간의 빛의 움직임을 조명모델에 반영

• 확산광만을 추적 cf. 레이트레이싱: 경면광과 굴절광을 추적

• 시점의 위치에 무관 cf. 레이트레이싱: 시점에 따라 달라짐 물체면 사이에 교환되는 빛 에너지의 양을 추적

• 빛은 일종의 에너지이며 에너지 보존 법칙이 성립

(23)

23

레디오서티(Radiosity)

Bi = i 번 다각형에서 나오는 빛의 밀도. 레디오서티(Radiosity) Ai = i 번 다각형의 면적

Ei = 스스로 발하는 빛의 밀도 ρi = i 번 다각형의 반사계수

(24)

24

레디오서티(Radiosity)

형상인수(Form Factor) Fij

• j 번 다각형에서 출발한 빛의 몇 %가 i 번 다각형에 도달하는가.

• 면들 사이의 기하학적 관계에 따라 결정

• 마주 볼수록, 거리가 가까울수록 높음.

(25)

25

레디오서티(Radiosity)

형상인수 연산

dAi, dAj로 분할: 분할면마다 서로 바라보는 각도가 달라짐 Vji = 가시성 변수(Visibility Variable)

• j에서 i를 바라보았을 때 중간에 가리는 물체가 없으면 1, 있으면 0

(26)

26

레디오서티(Radiosity)

역 정리(逆, Reciprocity Law)

• j에서 i를 향한 형상인수에 j의 면적을 곱한 것은 i에서 j를 향한 형상인수에 i의 면적을 곱한 것과 같다

• 두 개의 면 사이에 교환되는 빛의 양이 동일함

(27)

27

레디오서티(Radiosity)

빛 에너지의 교환: Solve for Bi !

(28)

28

조명 비교

지역조명모델과 레디오서티

• 레디소서티: 간접반사로 인해 전반적으로 밝은 모습

(29)

29

레이트레이싱과 레디오서티

(30)

30

참조

관련 문서

그러나, 제안한 방법에 의한 칼라영상 복원방법은 영 상에 백색점이 없는 경우에도 명도값이 가장 큰 화소를 이용하기 때문에 적합한 물체 표면반사함수를 구할 수

이러한 문제점을 개선하기 위해 3 차원 곡선 및 곡면을 수학적으로 잘 표현해 주는 가장 진보된 곡면 표현 기술인 NURBS(Non-uniform rational B-spline)

 OpenGL is an acronym for Open Graphics Library5.  OpenGL Architecture

특히 지역주민과 가장 가까운 곳에서 가장 활발하게 금연 사업을 추진하고 있는 보건소 금연클리닉의 서비스 이용자의 금연을 시도한 개인의 경험이 무엇인지 살펴보고,

• 태양계의 전반적인 위치와 공전 및 자전을 구현하고 텍스쳐 맵핑을 태양계의 전반적인 위치와 공전 및 자전을 구현하고 텍스쳐 맵핑을 이용하여 실제

https://quizlet.com/_8gkp6x?x=1qqt&amp;i=2tig8t 첨부한 프린트 자ㅊ ㄹㅎ료를 미리 부모님들께보내주세요.. 온라인 수업에 아이들 이

-카메라의 경우 뚜렷한 상을 얻기 위해 렌즈와 CCD칩(필름) 사이의 거리를 조절해야한다.. -눈의 경우 뚜렷한 상을 얻기 위해 수정체의

그 중에서도 가장 알기 쉬운 방법은 달에 레이저를 쏘아서 돌아오는 시간을 측정하여 달 까지의 거리를 계산할 수 있습니다... 미리 측정 장비에 대한