Matrix 및 Rendering 파이프라인

Slides:



Advertisements
Similar presentations
학번 이름 김정현 1차 프로젝트 발표 2D 게임프로그래밍. 목차 1. 게임 컨셉 2. 게임 설명 2/10 3. 개발 범위 4. 개발 일정 5. 자체 평가.
Advertisements

멀티미디어 4 조 최종발표 팀장 : 박형민 팀원 : 김인호, 이종혁, 이준희, 허용 우 교수 : 박광훈 교수님 경희대학교 컴퓨터공학과
/11 CUDA 를 이용한 병렬 프로그래밍 DirectX 3D 를 이용한 3D 프로그래밍
Reverse Engineering (RapidForm). 실습 일정 및 프로그램  얻어낸 공간 위치 데이터를 RapidForm (Analysis software) 을 이용하여 3D 객체 생성 후 제출  시간 : 4/11 ( 수요일 ) 오후 6: 30, 오후 9:00.
1/39 8 장 그래픽과 이미지의 개념 8.1. 색의 기본 용어 8.2. 색 모델 8.3. 픽셀과 해상도 8.4. 그래픽 방식 8.5. 그래픽과 이미지의 구분 8.6. 이미지 압축 8.7. 투명 GIF 8.8. 편집 소프트웨어 8.9. 그래픽 파일의 형식.
School of Computer, Information & Communication Engineering
3D Computer Graphics 5. Viewing 동신대학교 멀티미디어컨텐츠 연구센터 Viewing Process first part : model-view in Chapter 4 second part : projection in Chapter.
정지성 Chung-buk National University, Korea
2.1 The Sierpinski Gasket.
Mathematics for Computer Graphics
영상 기반 표현 (image Based Representation)
OpenGL Programming (III) 1. Drawing in 3D 2. Manipulating 3D Space
컴퓨터 그래픽스 연구회지 2000년 5월 발표자 : 이영건 날짜 :
Chapter 10. Illumination Models and Surface-Rendering Methods
2장 렌더링 파이프라인 목표 Direct3D에서 3D 물체를 표현하는 방법을 배운다. 가상카메라를 모델링하는 방법을 배운다.
Gamma와 Linear-Color-Space
Deferred Shading (지연 세이딩)
OpenGL 발표일 : 발표자 : 조윤혜.
멀티미디어 처리 강의자료 2.4: 영상 기하학적 처리.
Lecture #7 제 4 장. 기하학적 객체와 변환 (2).
커뮤니케이션 스킬 UP -전화매너- ..
12장 MPEG 비디오 부호화 Ⅱ - MPEG-4, 7과 그 이후
축산 인식개선을 위한 농협의 추진 사례 ( ) 농협중앙회 축산지원단장 박인희.
컴포넌트 (Component)
Fourier Transform -2a -a a 2a 3a 4a 5a 6a ••• : 주기가 a인 함수 Fourier 전개.
Mesh Saliency 김 종 현.
학습목표 7장. 투상변환과 뷰포트변환 평행투상과 원근투상의 차이점을 이해한다. 가시부피 설정방식을 이해한다.
학습목표 7장. 투상변환과 뷰포트변환 평행투상과 원근투상의 차이점을 이해한다. 가시부피 설정방식을 이해한다.
OpenGL Programming (II) 3D Graphics Fundamentals
2장. UML 기본 개념.
Rendering Techniques HyoungSeok Kim
3D 캐릭터 애니메이션을 3D Studio MAX로 만들어보자
기초 이론.
학습목표 2장. 컴퓨터 하드웨어 그래픽 출력장치의 일반적인 작동원리를 이해한다.
그래픽스 시스템과 모델.
8장. 가시성 판단 학습목표 후면제거의 정의와 처리방법을 이해한다. 절단작업의 정의와 처리방법을 이해한다.
Multimedia Programming 11: Image Warping
12장 유연한 카메라 클래스 만들기 한성대학교 멀티미디어공학과 게임 프로그래밍-I 강의노트
3장 컴퓨터 그래픽스 3.1 벡터 그래픽과 비트맵 이미지 3.2 벡터와 비트맵의 통합 3.3 레이어 3.4 파일 포맷
Mobile 3D Graphics (6장 퍼포먼스와 확장성) 교과목명 : 컴퓨터 그래픽스 특론 학 번 :
Ambient Occlusion 발표자 : 정광일 일 시 :
Chapter 06. 기하학, 셰이딩, 텍스처.
Chapter 7. Three-Dimensional Viewing
GPU Gems 3 Chapter 13. Volumetric Light Scattering as a Post-Process
DirectX 3D 7개월차 김성도 3D 5인 프로젝트.
학습목표 13장. 고급 렌더링 그림자를 구현하기 위한 세 가지 방법을 이해한다. 레이트레이싱의 정의와 구현방법을 이해한다.
핸드폰 시뮬레이션 김 형 도 송 미 경.
강원대학교 지구물리학과 이 훈 열 교수 참고문헌: 이희연 2003, GIS 지리정보학, 법문사
강원대학교 공과대학 제어계측공학과 2010년도 제2학기
Draw the basic Geometry Objects
게임 || 충돌. 돼지고기(구경원) 구제역아 물러가라..
Terrain.
발표: Direct3D 10 API 개요 원저: Jack Hoxley 발표: KASA(
Guideline for Unexpected Flexion or Extension
고전에서 미래를 읽다(3) 오동누습(吾東陋習) 우리나라의 제일 나쁜 더러운 버릇을 버려라.
Chapter 4.1 종관기상학 2013년도 1학기.
Terrain 김 성 남.
게임수학 제 9 장 가시성 판단.
2장 선과 글자 모양에 따른 분류 제품 제작을 하기 위한 도면에는 제품의 정보인 형상, 치수,
Geometry and Algebra of Projective Views
②하단에 장안포털(Portal) 로 접속한다
List, ArrayList, Vector, LinkedList 가 있습니다
The Graphics Process: Summary
3차원에서 강체의 운동 : 회전축이 바뀔 수 있음 9.1. 임의의 축에 대한 강체의 회전 : 관성 모멘트, 각운동량, 운동에너지.
Ray Casting 발표자 : 박 경 와
H o l o g r a p h y.
List, ArrayList, Vector, LinkedList 가 있습니다
OpenGL Project 과 목 명 : 컴퓨터 그래픽스 E14반 담당교수님 : 이병국교수님 팀 원 : 신호환
OpenGL 프로젝트 복학생은 죽지않아!! ( 강유진, 박지혜)
Presentation transcript:

Matrix 및 Rendering 파이프라인 2017/04/28 박진호

Matrix 정의 및 연산 직사각형 모양으로 배열하여 괄호로 묶어놓은 것 표기방법 𝑞 11 𝑞 12 𝑞 13 𝑞 21 𝑞 22 𝑞 23 𝑞 31 𝑞 32 𝑞 33 N차 정사각행렬 → 행과 열의 수가 n개로 같은 행렬 상등 → 두 행렬의 모양이 같고, element가 동일 역행렬 →𝐴𝐵=𝐵𝐴=𝐸, 𝐴= 𝐵 −1 , 𝐵= 𝐴 −1 행렬 곱셈

Rendering 파이프라인 Vertex Shader Model Transformation View Transformation Fixed Pipeline → shader가 없는 상태에서 3D를 2D로 projection하는 과정 𝑥 𝑦 1 = 𝑀 𝑃𝑟𝑜𝑗𝑒𝑐𝑡𝑖𝑜𝑛 𝑀 𝑉𝑖𝑒𝑤 𝑀 𝑀𝑜𝑑𝑒𝑙 𝑥 𝑦 𝑧 1 Model Transformation → 로컬 좌표계를 월드 좌표계로 변환 View Transformation → 카메라 설정 및 카메라를 월드 좌표계의 원점으로 이동 Projection Tranformation → projection효과에 따른 변환( perspective, orthogonal ) Clipping → Viewing Frustum Culling, Back-face culling Viewport Tranfromation → 버퍼 정규화 Rasterization → Pixel 생성 Vertex Shader Model Transformation View Transformation Projection Transformation Clipping Viewport Transformation Rasterization Fragment Shader

Model Transformation 로컬 좌표계인 모델, primitive의 vertex를 월드 좌표계로 변환 검은색은 월드 좌표계 주황색은 로컬좌표계 Translation Matrix Scaling Matrix Rotation Matrix

View Transformation 𝑛= (𝑓−𝑒) |𝑓−𝑒| 카메라를 월드 좌표계의 원점으로 이동 후 각 모델과 primitive의 vertex를 camera 좌표계로 변환 ( 실제 계산은 월드좌표계의 원점을 카메라 원점으로 이동 ) 𝑉= 𝑊 −1 = ( 𝑇 𝑤 𝑅 𝑤 ) −1 = 𝑅 𝑤 −1 𝑇 𝑤 −1 e = camera의 위치, f = camera가 바라보는 위치 n = camera가 바라보는 방향, u = camer의 up 벡터 𝑛= (𝑓−𝑒) |𝑓−𝑒| 𝑣= 𝑣 0 |𝑣 0| , 𝑣 0 =𝑢−𝛼𝑛, 𝛼= (𝑢∙𝑛) |𝑛| 𝑤=𝑛×𝑣 𝑅 𝑤 = 𝑊 𝑥 𝑊 𝑦 𝑉 𝑥 𝑉 𝑦 −𝑛 𝑥 −𝑛 𝑦 0 0 𝑊 𝑧 0 𝑉 𝑧 0 −𝑛 𝑧 0 0 1 𝑇 𝑤 = 0 0 0 0 0 0 𝑒 𝑥 𝑒 𝑦 0 0 0 0 0 0 𝑒 𝑧 1

Projection Transformation 3D 오브젝트를 2D공간으로 투영 𝑀 𝑝 = −1 0 0 1 0 0 0 0 0 0 0 0 0 −1 1 𝑓𝑜𝑐𝑢𝑠 0 𝑓𝑜𝑐𝑢𝑠=𝑐𝑎𝑚𝑒𝑟𝑎에서 view plane까지 거리 𝑀 𝑝 𝑃= 𝑥 𝑦 −1 𝑧 𝑓𝑜𝑐𝑢𝑠 = 𝑥∙( 𝑓𝑜𝑐𝑢𝑠 𝑧 ) 𝑦∙( 𝑓𝑜𝑐𝑢𝑠 𝑧 ) − 𝑓𝑜𝑐𝑢𝑠 𝑧 1

Clipping Viewing frustum 밖이나 보이지 않아도 되는 triangle을 제외 - back face culling, view frustum culling, Occlusion Culling back face culling - 각 triangle의 normal vector가 camera방향이 아니면 그리지 않음 . View frustum culling - View frustum밖의 triangle은 그리지 않음. - 표시할 object를 하나의 트리 구조로 만들어 각 node의 bounding volume이 view frustum에 포함되지 않으면 하위 node도 포함되지 않음. Occlusion Culling - 벽 뒤의 object들은 view frustum에 포함되어 있더라도 많은 경우 그릴 필요 없음 - 실외의 경우 Occlusion Culling의 계산량과 그려질 triangle의 축소가 비슷비슷하여 크게 필요치 않음 - 실내의 경우 창문, 문에서 보이는 object가 전체가 아니므로 미리 PVS( potential visible set )을 계산하여 보여지지 않는 부분 을 제거한 후 사용. ( portal rendering )

Viewport Transformation & Rasterization View volume 계산 - culling이 완료된 후 view frustum을 3축이 -1에서 1사이의 cube로 변환 Rasterization - device의 좌표계( 윈도우 기준 화면 가운데가 0, 0 )로 변환 및 frame buffer( color buffer )에 저장