Rendering Techniques HyoungSeok Kim

Slides:



Advertisements
Similar presentations
Term project. Touch-screen 활용 그림판 –Touch-screen 을 입력장치로 하여 LCD 상에 그림을 그리는 프로그램 – 터치 입력을 절대 좌표로 받는 디바이스 /dev/touch 를 만들어 응용 프 로그램에서 수행하도록 함. –User interface.
Advertisements

적외선으로 감지하는 추적 카메라 조원 : 최승호, 백진영, 이현지.
3D Computer Graphics 5. Viewing 동신대학교 멀티미디어컨텐츠 연구센터 Viewing Process first part : model-view in Chapter 4 second part : projection in Chapter.
Skeletal LoD in bone-based animation
스테레오 비젼을 위한 3장 영상의 효율적인 영상정렬 기법
OpenGL Programming (III) 1. Drawing in 3D 2. Manipulating 3D Space
제 5 장 스테레오.
컴퓨터 그래픽스 연구회지 2000년 5월 발표자 : 이영건 날짜 :
Snake : Active Contour Model Computer Vision & Pattern Recognition
제14장 동적 메모리.
Entity Relationship Diagram
Virtual Reality Introduction HyoungSeok Kim
Mesh Saliency 김 종 현.
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
Open Graphics Library 팀 명 : Spes 송정웅 김정환
On the computation of multidimensional Aggregates
Vector Bubble 충돌 검출 게임 설계 3조 강준순, 김훈석, 복현태.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
8장. 가시성 판단 학습목표 후면제거의 정의와 처리방법을 이해한다. 절단작업의 정의와 처리방법을 이해한다.
학습목표 8장. 가시성 판단 후면제거의 정의와 처리방법을 이해한다. 절단작업의 정의와 처리방법을 이해한다.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
OPERA V13 OPERA-3D (전계 해석 예제)
Raster 애니메이션은 GIF Animator로 만들면 쉽다
SELECT empno, ename, job, sal, dname FROM emp, dept
26. 매크로와 전처리기.
for Robust Facial Landmark Localization
제 3 장 Memory - SRAM.
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
보조저장장치 구조(Secondary Storage Structure)
발명의 명칭 IR LED Auto Control 발명의 목적
Matrix 및 Rendering 파이프라인
학습목표 13장. 고급 렌더링 그림자를 구현하기 위한 세 가지 방법을 이해한다. 레이트레이싱의 정의와 구현방법을 이해한다.
파이프라이닝.
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
메모리 관리 & 동적 할당.
Takeo Igarashi The University of Tokyo
Draw the basic Geometry Objects
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Red Color Detection Course ChanYoung Kim
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
텍스트 분석 기초.
3D Shapes 3개 핵심 Properties가 존재 1.Material 표면의 재질을 설정합니다.
CAD 실습 2013년 2학기.
Real time Interaction HyoungSeok Kim
알고리즘 알고리즘이란 무엇인가?.
Terrain 김 성 남.
가상현실의 활용 HyoungSeok Kim
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
Word2Vec.
Word Embedding.
1. 정투상법 정투상법 정투상도 (1) 정투상의 원리
쉽게 배우는 알고리즘 2장. 점화식과 점근적 복잡도 분석
12 그리드 시스템.
New Themes in Computer Graphics
우선 각 평면도에서 점선으로 강조한 직육면체 형상의 피처를 생성한다. 여기서 컴퓨터응용가공산업기사 준비를
컴퓨터공학과 손민정 Computer Graphics Lab 이승용 교수님
.Net FrameWork for Web2.0 한석수
트리 (Logical) Data Structures Linear list Tree Graph Linear structures
자료구조 자료구조의 개요 배열 선형 리스트 스택 큐 트리.
RPTree 코드분석 (월) Dblab 김태훈.
공학논문작성법 (8강) 영문 공학논문 작성법 2016년 1학기 Outline version 1 피드백
2011학년도 졸업작품 주제 발표 -카메라 기반 제스처 인식 UI-
[CPA340] Algorithms and Practice Youn-Hee Han
Ray Casting 발표자 : 박 경 와
7 생성자 함수.
6 객체.
Lecture #6 제 4 장. 기하학적 객체와 변환 (1).
Presentation transcript:

Rendering Techniques HyoungSeok Kim Multimedia Workshop Rendering Techniques HyoungSeok Kim

VR Rendering Techniques 가시성 처리 Dongeui University

가상현실 렌더링 기술 가시성 처리 영상 기반 모델링 & 렌더링 다중 해상도 기법 보이지 않는 부분에 대한 불필요한 계산을 제거하기 위해 영상 기반 모델링 & 렌더링 복잡한 모델을 텍스처로 대치 다중 해상도 기법 복잡한 물체에 대한 여러 개의 모델을 미리 생성한 후 시점에 따라 적당한 크기의 모델을 사용 Dongeui University

가시성 처리 Why? 앞, 뒤에 있는 물체간의 가림을 제대로 표현하기 위해 렌더링 속도 향상 보이지 않는 부분에 대한 불필요한 계산을 제거 Dongeui University

가시성 문제 현재 시점으로부터 보이는 물체만 선택 가상환경에 따라 전체 모델은 보이는 부분에 비해 매우 큰 경우 존재 Dongeui University

가시성 문제 어느 쪽 ? viewer 가 볼 수 없는 face를 제거하는 algorithm 물체를 화면에 표시할 때, 해결책 ? hidden-surface elimination algorithm 물체의 숨은 면을 제거 = visible-surface detection algorithm 어느 쪽 ? Dongeui University

Hidden-Surface Removal Algorithms Back-face elimination Object-space approaches 3D 에서 face 간의 순서를 부여 painter’s algorithm Binary Space Partition Trees Image-space approaches pixel 마다 보이는 물체를 찾음 Z-buffer Ray Casting Dongeui University

Back Face Culling Front face : camera 쪽으로 향한 face –90    90 화면에 나와야 한다 Back face : camera 반대 쪽을 향한 face  < –90,  > 90 화면에 나오면 안 된다  Nfront V : view vector Nback Dongeui University

Back Face Culling back face front face view coordinate system 에서는 back-face를 화면에 표시할 필요가 없다 다른 면에 의해서 가려지므로 back face front face Dongeui University

Back Face Culling 문제점 front face Dongeui University

Depth Sort Algorithm sorting (C,B,A) painting Painter’s Algorithm y -z 모든 물체를 카메라에서 먼 것부터 정렬 view coordinate system 에서 정렬 멀리 있는 것부터 그린다. 가려진 부분은 자동적으로 지워진다 A B C y x z -z sorting painting (C,B,A) Dongeui University

depth-sort (Newell의 방법) Polygon P와 Q가 X-Y평면에서 겹치지 않으면 그리는 순서는 무관 P의 z값 범위가 Q 앞에 있으면 P를 Q보다 나중에 그림 Dongeui University

Depth Sort Algorithm P를 Q보다 먼저 그릴 조건 Does the order exist always ? Z-extent of Q is wholly in front of P or Y-extent of Q does not overlap P or X-extent of Q does not overlap P or All points on P lie on the opposite side of Q than the COP or All points on Q lie on the same side of P as the COP or The projections of P and Q on the XY plane do not overlap (full 2D polygon overlap test) Does the order exist always ? No. What is a counterexample ? Dongeui University

Depth Sort Algorithm 문제점 B A B A C (C, A, B) 순서 순서대로 정렬할 수 없는 경우도 있다 해결책 : 물체를 2개 이상으로 분리 B A B A C (C, A, B) 순서 Dongeui University

Z-buffer Algorithm z1 아이디어 화면 상의 pixel 하나를 그릴 때 마다 z 좌표도 함께 기억 Dongeui University

Z-buffer Algorithm 초기 : 모든 pixel 의 z-좌표는 – pixel 을 그릴 필요가 있으면, if (zpixel < zobject) then update zpixel = zobject update a new color at the pixel else ignore Dongeui University

Z-buffer Algorithm Coherence pixel 단위 처리일 때, 매번 다시 계산하지 않음 two points on a polygon (x1, y1, z1), (x2, y2, z2) a x + b y + c z + d = 0 plane equation x = x2 – x1, y = y2 – y1, z = z2 – z1 a x + b y + c z = 0 바로 옆 pixel 로 이동시, x = 1, y = 0 z = –(c/a) x Dongeui University

Z-buffer Algorithm Image space algorithm 모든 물체는 일단 화면까지 projection 된다 Simple & efficient 대부분의 video card 가 채택 OpenGL에서도 사용 단점 : 메모리가 많이 필요 pixel 하나 마다 (R, G, B, Z) 로 저장 Z 좌표를 저장하기 위한 메모리 필요 Dongeui University

Z-buffer Algorithm Original Mesh Backface culling Z-buffer algorithm Dongeui University

Rasterize the polygon scan line by scan line Scan-line Algorithm Rasterize the polygon scan line by scan line determine the visible polygon by incremental depth calculation used by Macintosh 3D video cards Dongeui University

Ray Casting Algorithm Rendering + visibility ALGORITHM loop y loop x shoot ray from eye point through pixel (x,y) into scene intersect with all surfaces, find first one the ray hits shade that point to compute the color of pixel (x,y) Dongeui University

Ray Casting Algorithm Dongeui University

Comparison Z-buffer Scanline initialize z-buffer loop objects loop y loop x if z(x,y) < zbuf[x,y] zbuf[x,y] = z(x,y) write image pixel; Scanline sort objects by y loop y sort active objects by x; loop x find active object with min z; write pixel; Dongeui University

Comparison Painter’s Ray Casting sort objects by z (back-to-front) loop objects loop y loop x write pixel Ray Casting loop y loop x loop objects find object with min z; write pixel; Dongeui University

BSP Trees Binary Space Partition Trees 기존의 list ordering 방법은 일반적이지 못함 제대로 표현하지 못하는 경우 발생 BSP tree는 일반적인 방법 자동화된 방법 Shooting 게임 등에서 사용 두 단계 시점에 독립적인 BSP tree 생성 재귀적 또는 순차적 생성 현 시점으로부터 BSP tree를 방문하면서 가시성 순서 결정 Dongeui University

재귀적 BSP Tree 생성 BSP tree ? {1, 2, 3, 4, 5, 6} A set of polygons Dongeui University

재귀적 BSP Tree 생성 Select one polygon and partition the space and the polygons Dongeui University

재귀적 BSP Tree 생성 Recursively partition each sub-tree until all polygons are used up Dongeui University

재귀적 BSP Tree 생성 방법 공간을 구분하는 polygon의 집합과 빈 BSP tree로부터 시작 하나의 polygon을 임의로 선택하고 root로 설정 선택한 polygon으로부터 나머지 전체 polygon들을 세 그룹으로 나눔 : 앞, 뒤, 동일 평면 선택된 polygon과 교차하는 polygon은 분할 위의 작업을 “앞”, “뒤”로 나뉜 집합에 따라 재귀적으로 적용 두개의 subtree를 생성: 앞/뒤 집합에 대해 Dongeui University

BSP 생성의 예 각 노드는 분할된 영역을 표시 (중간/최종) root는 전 영역 Leaf 노드들은 동일 영역에 해당 Dongeui University

Polygons을 BSP tree로 표현한 예 Dongeui University

Back-to-Front Traversal Algorithm BSP 노드 방문 알고리즘 Back-to-Front Traversal Algorithm void traverse_btf(Tree *t, Point vp) { if (t = NULL) return; else { if (vp in-front of plane at root of t) { traverse_btf (t->back, vp); draw polygons on node of t; traverse_btf (t->front, vp); } traverse_btf(t->front, vp); traverse_btf(t->back, vp); Dongeui University

Interactive BSP tree demo http://symbolcraft.com/graphics/bsp/bsptreedemo_korean.html Dongeui University

VR Rendering Techniques 영상 기반 모델링 & 렌더링 Dongeui University

개요 2D images  3D model 방법 복잡한 모델을 실사의 텍스처로 대치 Photogrammetry (사진계측) Disparity 를 이용 Stereo camera Solve Correspondence problem 소실점 이용 상세한 표현이 어려움 Dongeui University

종류 Image-based Modeling Image-based Rendering Image-based Acceleration 여러 시점의 2차원 영상을 이용하여 3차원 모델 생성 Image-based Rendering 2차원 영상의 조합으로부터 새로운 시점의 영상 생성 Image-based Acceleration 물체가 가까이 있을 때는 geometric model 사용, 멀리 있을 때는 영상으로 대체 Image-based lighting 2차원 영상으로부터 조명정보를 추출 새로운 광원을 부여 Dongeui University

기술 및 장단점 장점 문제점 Computer Vision + Computer Graphics 영상의 복잡도에 독립적 사실감이 높은 영상 생성 문제점 동적 환경에는 적용하기 어려움 영상 왜곡현상 부정확한 영상 (근접 영상) Dongeui University

예시 UC Berkeley campus 영화: 매트릭스 http://whatisthematrix.warnerbros.com/dld/NUMBER_THREE.mov UC Berkeley campus 영화: 매트릭스 Dongeui University

예시 http://hyomin.deu.ac.kr/~hskim/hskim-lec/hskim-lec.html Dongeui University

VR Rendering Techniques 다중 해상도 기법 Dongeui University

개요 Multi-resolution representation 시점으로부터 멀리 있는 물체는 보이는 정도의 복잡도만을 표현 복잡한 물체에 대한 여러 개의 모델을 미리 생성한 후 시점에 따라 적당한 크기의 모델을 사용 Dongeui University

LOD 선택의 기준 거리 크기 시각 속도 Dongeui University

Distance LOD 계산이 쉽다 (3-D Euclidean distance) Scale dependent Resolution dependent Field of View dependent d1 d2 Dongeui University

Size LOD 3D  2D projection 필요 Scale invariant Resolution invariant Field of View invariant Bounding Box Bounding Spheres Bounding ellipsoids Dongeui University

Eccentricity LOD  Visual periphery(시각)에 따라 결정 사용자가 정면으로 보고 있는 것을 고해상도로 표현 인간의 시각적 감지를 근거로 사용 옆에 있는 물체는 잘 감지하지 못함 Eye tracking system을 사용  Dongeui University

Velocity LOD 사용자를 지나는 각속도에 근거 빠르게 지나는 물체는 저해상도로 표현 빠르게 지나는 물체는 사람의 눈에 흐리게 보임 Eye tracking 장비를 사용하지 않고 각속도를 추정하여 사용 20 deg/s 1 deg/s Dongeui University

LOD 기법 Static LOD (Level of Detail) Dynamic LOD 시점에 무관 미리 다중 모델 생성 실시간으로 모델 변형 Dongeui University

Static LOD 미리 여러 가지 해상도의 모델 생성 실행 중, 물체와의 거리에 따라(또는 이와 유사한 기준) 모델을 선택 LOD가 정해진 해상도로 미리 만들어 지므로 Static LOD라 부름 Dongeui University

Static LOD 장점 단점 간단하다 실시간으로 모델을 변형시킬 필요가 없으므로 계산이 용이하다 모델이 갑자기 바뀌는 효과 복잡한 물체의 경우 부품마다 독립적으로 다루어져야 한다 Dongeui University

Dynamic LOD 실행 중 적당한 LOD를 계산하고 생성 시점에 따라 적당한 모델을 실시간으로 생성 Dongeui University

Dynamic LOD 장점 리소스의 효율적 사용 향상된 성능 모델이 갑자기 바뀌는 효과를 줄일 수 있음 view-dependent LOD (시점 종속적인 LOD) 구현이 가능 11,726 triangles 34,321 triangles Dongeui University