<4D F736F F F696E74202D B30395FBAEDB7BBB5F95FBDBAC5D9BDC7B9F6C6DB5FB1D7B8B2C0DA2E >

Similar documents
Microsoft PowerPoint - Week04_DirectX9 프로그래밍의 기초2.pptx

Microsoft PowerPoint - lecture12-ch5.ppt [호환 모드]

guidebook_P _K_n.indd

Microsoft PowerPoint - Week04_Rendering Pipeline.pptx

<4D F736F F F696E74202D20C1A63037B0AD202D20B1A4BFF8B0FA20B1D7B8B2C0DA>

Microsoft PowerPoint - chap02.ppt

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

Microsoft PowerPoint - GameProgramming23-PixelShader.ppt

6 강남구 청담지구 청담동 46, 삼성동 52 일대 46,592-46,592 7 강남구 대치지구 대치동 922번지 일대 58,440-58,440 8 강남구 개포지구 개포동 157일대 20,070-20,070 9 강남구 개포지구중심 포이동 238 일대 25,070-25,

27집최종10.22

황룡사 복원 기본계획 Ⅵ. 사역 및 주변 정비계획 가. 사역주변 정비구상 문화유적지구 조성 1. 정비방향의 설정 황룡사 복원과 함께 주변 임해전지(안압지) 海殿址(雁鴨池)와 분황사 등의 문화유적과 네트워크로 연계되는 종합적 정비계획안을 수립한다. 주차장과 광장 등 주변

Act84_

*논총기획(1~160)

Microsoft PowerPoint - lecture19-ch8.ppt

(Microsoft PowerPoint - \301\24608\260\255 - \261\244\277\370\260\372 \300\347\301\372)

Łø·ŸÕ=¤ ¬ ÇX±xÒ¸ 06 - Èpº– 1

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

Microsoft PowerPoint - NV40_Korea_KR_2.ppt

PowerPoint Presentation

PowerPoint 프레젠테이션

SubSurfaceScattering

서피스셰이더프로그램 셰이더개발을쉽게! Thursday, April 12, 12

Microsoft PowerPoint - Week03_DirectX9 프로그래밍의 기초.pptx

슬라이드 1

(Microsoft PowerPoint - \301\24613\260\255 - oFusion \276\300 \261\270\274\272)

Microsoft PowerPoint - Class10_LOD와자료구조.pptx

Microsoft Word - cg12-midterm-answer

Sequences with Low Correlation

농어촌여름휴가페스티벌(1-112)

디지털영상처리3

히스토그램구하기 사전준비 : 히스토그램을저장할메모리가필요함 필요한메모리개수 à 전체영상의픽셀은그값이 0 ~ 255이므로 256 개의메모리필요함 영상을구성하는픽셀의개수는매우크므로메모리형식은 unsigned long으로해야함 ( unsigned 란 +/- 를고려하지않는다는

<4D F736F F F696E74202D20C1A63130B0AD202D20C1F6C7FCB0FA20C7CFB4C3C0C720B7BBB4F5B8B5>

Microsoft Word - cg11-midterm-answer.doc

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

PowerPoint 프레젠테이션

adfasdfasfdasfasfadf

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

슬라이드 1

Microsoft PowerPoint - chap04-연산자.pptx

문제지 제시문 2 보이지 않는 영역에 대한 정보를 얻기 위하여 관측된 다른 정보를 분석하여 역으로 미 관측 영역 에 대한 정보를 얻을 수 있다. 가령 주어진 영역에 장애물이 있는 경우 한 끝 점에서 출발하여 다른 끝 점에 도달하는 최단 경로의 개수를 분석하여 장애물의

PowerPoint Presentation

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

API 매뉴얼

Microsoft Word - cg07-final.doc

벡터(0.6)-----.hwp

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

Microsoft PowerPoint - CinematicEffectsII_KR_6.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

API 매뉴얼

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

Microsoft PowerPoint - chap03-변수와데이터형.pptx

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

Microsoft PowerPoint - lecture16-ch6

UI TASK & KEY EVENT

슬라이드 1

Microsoft PowerPoint - Next generation Shading&Rendering_KR_4.ppt

Microsoft PowerPoint - C++ 5 .pptx

01이국세_ok.hwp

λx.x (λz.λx.x z) (λx.x)(λz.(λx.x)z) (λz.(λx.x) z) Call-by Name. Normal Order. (λz.z)

<C3D6C0E7C3B528BAB8B5B5C0DAB7E1292D322E687770>

Microsoft PowerPoint Predicates and Quantifiers.ppt

Microsoft PowerPoint - Chapter_04.pptx

Microsoft Word - cg07-midterm.doc

<BABBB9AE2DC7D5C3BC2E687770>

Observational Determinism for Concurrent Program Security

Microsoft PowerPoint - GameProgramming16-Camera.ppt

pdf

책1.pdf

ps

ps

ps

ps

ps

ps

ps

3D Game Programming Note

슬라이드 1

4.1 힘의모멘트 스칼라공식 4.1 힘의모멘트 스칼라공식 모멘트크기 (resultant moment) 2

장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

슬라이드 1

이미지 워핑과 모핑

Python과 함께 배우는 신호 해석 제 5 강. 복소수 연산 및 Python을 이용한 복소수 연산 (제 2 장. 복소수 기초)

Microsoft PowerPoint - chap06-1Array.ppt

서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 (1/7) [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 답 안지 공간이 부족할 경우, 답안지 뒷면에 기술 하고, 해당

OCW_C언어 기초

Microsoft Word - game08-midterm.doc

Chapter_06

KPS-19MA-1.hwp

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

PowerPoint 프레젠테이션

슬라이드 1

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

Microsoft PowerPoint - ch07 - 포인터 pm0415

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

Microsoft PowerPoint - lecture11-ch5.ppt [호환 모드]

Microsoft PowerPoint - GameDesign6-Graphics.ppt [호환 모드]

Transcription:

블렌딩, 스텐실버퍼, 그림자

목 차 블렌딩 스텐실버퍼 그림자 블렌딩방정식 블렌딩인수 투명 알파채널만들기 스텐실버퍼 반사 거울 그림자 평면투영그림자 애니메이션및게임실습 2

블렌딩

블렌딩방정식 블렌딩 애니메이션및게임실습 4

블렌딩방정식 블렌딩 현재계산되고있는픽셀 ( 원본픽셀 ) 을앞서쓰여진픽셀값 ( 목적지픽셀 ) 과결합 후면버퍼 + 전면버퍼 그리기순서 블렌딩을이용하지않는물체그리기 블렌딩을이용할물체들을거리에따라정렬 블렌딩을이용할물체들을뒤에서앞순서로그리기 애니메이션및게임실습 5

블렌딩방정식 블렌딩방정식 OPixel = SPixel SBledFactor + DPixel DBledFactor 블렌딩활성화 상당한작업필요 필요한경우에만사용 Device->SetRederState(D3DRS_APHABENDENABE, true); 애니메이션및게임실습 6

블렌딩인수 블렌딩인수 Device->SetRederState(D3DRS >SetRederState(D3DRS_SRCBEND, SRCBEND Source); Device->SetRederState(D3DRS_DESTBEND, Destiatio); D3DBEND_ZERO = (,,, ) D3DBEND_ONE = (1, 1, 1, 1) D3DBEND_SRCCOOR = (r s, g s, b s,a s ) D3DBEND_INVSRCCOOR = (1-r s,1-g s,1-b s,1-a s ) D3DBEND_SRCAPHA = (a s, a s, a s, a s ) D3DBEND_INVSRCAPHA = (1-a s s,,1-a s s,,1-a s s,,1-a s s) 애니메이션및게임실습 7

블렌딩인수 블렌딩인수 Device->SetRederState(D3DRS >SetRederState(D3DRS_SRCBEND, SRCBEND Source); Device->SetRederState(D3DRS_DESTBEND, Destiatio); D3DBEND_DESTAPHA = (a d, a d, a d, a d ) D3DBEND_INVDESTAPHA=(1-a d,1-a d,1-a d,1-a d ) D3DBEND_DESTCOOR DESTCOOR = (r d, g d, b d,a d ) D3DBEND_INVDESTCOOR=(1-r d,1-g d,1-b d,1-a d ) D3DBEND_SRCAPHASAT = (f, f, f, 1) f = mi(a s, 1-a d ) D3DBEND_BOTHINVSRCAPHA S : (1-a s,1-a s,1-a s,1-a s ), D : (a s, a s, a s, a s ) 애니메이션및게임실습 8

투명 알파채널 ~ 255 : % ~ 1% 셰이딩에서계산된알파성분이용 텍스처의알파채널 애니메이션및게임실습 9

투명 알파채널원본지정하기 텍스처의알파채널 Device->SetTextureStageState(, D3DTSS_APHAARG1, D3DTA_TEXTURE); Device->SetTextureStageState(, D3DTSS_APHAOP, D3DTOP_SEECTARG1); 정점색상에서알파획득 Device->SetTextureStageState(, D3DTSS_APHAARG1, D3DTA_DIFFUSE); DIFFUSE); Device->SetTextureStageState(, D3DTSS_APHAOP, D3DTOP_SEECTARG1); 애니메이션및게임실습 1

알파채널만들기 DDS DirectX 애플리케이션과텍스처 애니메이션및게임실습 11

투명 블렌딩이용과정 블렌딩인수 D3DRS_SRCBEND 와 D3DRS_DESTBEND 를지정 알파성분을이용한다면원본지정 : 재질, 알파채널 알파블렌딩렌더상태활성화 애니메이션및게임실습 12

투명 예제 애니메이션및게임실습 13

투명 예제 애니메이션및게임실습 14

스텐실버퍼

스텐실버퍼 스텐실버퍼 특수한효과를위한오프스크린버퍼 후면버퍼및깊이버퍼와동일한해상도 스텐실효과 후면버퍼의일정부분이렌더링되는것을막는효과 애니메이션및게임실습 16

스텐실버퍼 스텐실버퍼 응용분야 그림자볼륨 분해효과, 희미해짐효과 깊이복잡성의시각화 외곽선과실루엣 구조적으로채워진기하정보 동일면기하물체에의한 z-fightig 해결 애니메이션및게임실습 17

스텐실버퍼 스텐실버퍼이용하기 스텐실버퍼활성화및비활성화 Device->SetRederState(D3DRS_STENCIENABE, true); Device->SetRederState(D3DRS_STENCIEABE, false); 스텐실버퍼초기화 Device->Clear(,, D3DCEAR_TARGET D3DCEAR_ZBUFFER D3DCEAR_STENCI, xff, 1.f, ); 애니메이션및게임실습 18

스텐실버퍼 스텐실버퍼요청하기 깊이버퍼생성시같이생성 깊이버퍼와동일한오프스크린표면버퍼공유 D3DFMT_D24S8 32 비트깊이 / 스텐실버퍼생성 깊이버퍼 : 24비트, 스텐실버퍼 : 8비트 D3DFMT_D24X4S4D24X4S4 32비트깊이 / 스텐실버퍼생성 깊이버퍼 : 24비트, 스텐실버퍼 : 4비트 D3FMT_D15S1 16비트깊이 / 스텐실버퍼생성 깊이버퍼 : 15 비트, 스텐실버퍼 : 1 비트 애니메이션및게임실습 19

스텐실버퍼 스텐실테스트 ( 참조 & 매스크 ) 비교연산자 ( 값 & 매스크 ) 참조 & 매스크 애플리케이션이정의한스텐실참조값과매스크값의 AND 연산 값 & 매스크 현재테스트하려는픽셀의스텐실버퍼와애플리케이션이정의한매스크값의 AND 연산 표현식이 true 인경우후면버퍼의픽셀을출력 표현식이 false 인경우해당픽셀미출력 애니메이션및게임실습 2

스텐실버퍼 스텐실테스트제어하기 유연성제공을위해스텐실테스트변수설정가능 스텐실참조값 default : Device->SetRederState(D3DRS_STENCIREF, x1); 스텐실매스크 default : xffffffff Device->SetRederState(D3DRS_STENCIMASK, xffff); 애니메이션및게임실습 21

스텐실버퍼 스텐실테스트제어하기 비교연산자 Device->SetRederState(D3DRS_STENCIFUNC, value); typedef eum _D3DCMPFUNC { D3DCMP_NEVER = 1, D3DCMP_ESS = 2, D3DCMP_EQUA = 3, D3DCMP_ESSEQUA = 4, D3DCMP_GREATER = 5, D3DCMP_NOTEQUA = 6, D3DCMP_GREATEREQUA = 7, D3DCMP_AWAYS = 8, D3DCMP_FORCE_DWORD DWORD = x7fffffff } D3DCMPFUNC; 애니메이션및게임실습 22

스텐실버퍼 스텐실버퍼갱신하기 ij 번째픽셀에서스텐실테스트실패 Device->SetRederState(D3DRS_STENCIFAI, StecilOperatio); ij 번째픽셀에서깊이테스트실패 Device->SetRederState(D3DRS_STENCIZFAI, StecilOperatio); ij 번째픽셀에서깊이테스트및스텐실테스트성공 Device->SetRederState(D3DRS_STENCIPASS, StecilOperatio); 애니메이션및게임실습 23

스텐실버퍼 스텐실버퍼갱신하기 StecilOperatio D3DSTENCIOP_KEEP : 현재값유지 D3DSTENCIOP_ZERO : D3DSTENCIOP_REPACE : 스텐실참조값으로대체 D3DSTENCIOP_INCRSAT : 스텐실버퍼항목증가, 최대치 D3DSTENCIOP_DECRSAT : 스텐실버퍼항목감소, 최소치 D3DSTENCIOP_INVERT INVERT : 스텐실버퍼항목반전 D3DSTENCIOP_INCR : 스텐실버퍼항목증가, D3DSTENCIOP_DECR : 스텐실버퍼항목감소, 최대치 애니메이션및게임실습 24

스텐실버퍼 스텐실쓰기매스크 스텐실버퍼에쓰여지는모든값을매스크 default : xffffffff Device->SetRederState(D3DRS_STENCIWRITEMASK, xffff); 애니메이션및게임실습 25

반사 반사 사실감과공간감 입사각과반사각은같다 z 애니메이션및게임실습 26

반사 평면반사 후면 -> 전면 스텐실버퍼의사용 애니메이션및게임실습 27

반사 반사를위한수학 N V V ( N V ) N ( N V ) N V V ' = V 2[ V ( N V ) N] = 2( N V ) N V 애니메이션및게임실습 28

반사반사에서 로의변환행렬 v 에서 v 로의변환행렬 + + = 2 1 2 2 2 2 1 2 R y z y y y x x z x y x x + = 1 2 2 2 1 2 2 2 d d d R z y x z z z y z x 1 1 1 = = = 1 1 1 1 1 1 1 1 1 xy xz yz R R R 1 1 1 애니메이션및게임실습 29

반사 D3DXMatrixReflect t D3DXMATRIX* D3DXMatrixReflect( D3DXMATRIX* pout, // 결과반사행렬 CONST D3DXPANE *pplae // 반사할평면 ) 애니메이션및게임실습 3

거울 순서 전체장면렌더링 스텐실버퍼초기화 거울을구성하는기본형을스텐실버퍼에렌더링 스텐실테스트가항상성공하도록 : 1 거울만 1 나머지는 반사된주전자를후면버퍼와스텐실버퍼로렌더링 스텐실버퍼항목이 1 인경우에만통과 애니메이션및게임실습 31

거울 예제 애니메이션및게임실습 32

그림자

그림자 사실감과분위기 Bioware Neverwiter Nights 애니메이션및게임실습 34

그림자 사실감과분위기 Codemasters & Robel Act Blade of Darkess 애니메이션및게임실습 35

그림자 Spatial relatioships Orietatio & gameplay 애니메이션및게임실습 36

그림자 Basic Defiitios iti ight source Creator Creator ad receiver Receiver 애니메이션및게임실습 37

그림자 ight source types poit source area source 암영부 반암부 암영부 애니메이션및게임실습 38

그림자 Hard vs soft shadow 애니메이션및게임실습 39

그림자 그림자생성 별도의개체 : 텍스처 공간볼륨 장면에서조명의영향을받지않는부분 애니메이션및게임실습 4

그림자 미리생성된텍스처이용하기 Kasper Hoy Nielse 애니메이션및게임실습 41

그림자 그림자매핑 Pixar s rederig software 조명의관점에서렌더링 가까운것은백색, 먼것은검은색 애니메이션및게임실습 42

그림자 그림자매핑 애니메이션및게임실습 43

그림자 스텐실버퍼를이용한그림자볼륨 NVIDIA Ic 애니메이션및게임실습 44

그림자 투영텍스쳐그림자 애니메이션및게임실습 45

평면투영그림자 Plaar Projected Shadow 광원으로부터정점을통과하는직선을연장해서평면과교차하는위치에새로운정점을만들어그림자가되는모델을그리는방법 물체의형태를실시간에표현가능 평면렌더링 그림자모델의폴리곤수간략화가능 그림자텍스처미사용 애니메이션및게임실습 46

평면투영그림자평면투영그림자평행그림자 평행그림자 d t p t p t r = + + + = ) ( ) ( p d t d t p d t p = = + = + + ) ( ) ( ) ( p = + d p p d t p d t = = ) ( s p d p s + = 애니메이션및게임실습 47

평면투영그림자 점조명그림자 r( t) = p + t( p ) p p + d = s 애니메이션및게임실습 48

평면투영그림자평면투영그림자그림자행렬 그림자행렬 평면의방정식의계수 : ( x, y, z, d) 조명의위치벡터 ( ) 조명의위치벡터 : = ( x, y, z, w ) w= : 평행조명의방향 w 1 : 점조명의위치 w=1 : 점조명의위치 w z z y y x x w z y x z y x d d k + + + = = ),,, ( ),,, ( + k + + + = k k k S w y z y y y x y w x z x y x x x + + k d d d d k w z y x w z z z y z x y 애니메이션및게임실습 49

평면투영그림자 그림자행렬 D3DXMATRIX *D3DXMatrixShadow ( D3DXMATRIX *pout, CONST D3DXVECTOR4 *pight, // CONST D3DXPANE *pplae // 그림자평면 ) 애니메이션및게임실습 5

평면투영그림자 예제 애니메이션및게임실습 51

Questio? 애니메이션및게임실습 52