OpenGL Programming (II) 3D Graphics Fundamentals

Slides:



Advertisements
Similar presentations
HTML.  Hyper Text Markup Language  Hyper Text : Link  Markup :  전용 브라우저 (IE, Netscape, Opera..)  프로그램 + 실행 환경 ( 실행기 )
Advertisements

2009 년 행정안전부 공직설명회 년 행정안전부 공직설명회 2 목 차 I. 개 요 II. 기능직 개편원칙 III. 정보통신현업 개편방안 IV. 주요 이슈.
/11 CUDA 를 이용한 병렬 프로그래밍 DirectX 3D 를 이용한 3D 프로그래밍
강의 내용 : DirectX 개요 DirectX 9 을 이용한 시각화. 목 차 DirectX 출현 배경 DirectX 현재 버전 DirectX 장점 DirectX 구성요소 DirectX SDK 다운로드 및 설치 DirectX SDK 폴더 구성 및 역할 샘플 코드 브라우저.
경기도 고양시 일산구 일산동 낙민프라자 2 층 전관 Tel (031) , ~4 Fax (031) 전산담당 : 선현영
미디어 프로그래밍 II 소개.
Chapter 3. 뷰잉(Viewing).
입체영상 세미나 아주대 정보통신연구소 게임애니메이션 센터 김주철
Efl을 이용한 타이젠 네이티브 웨어러블 앱 만들기
3D Computer Graphics 5. Viewing 동신대학교 멀티미디어컨텐츠 연구센터 Viewing Process first part : model-view in Chapter 4 second part : projection in Chapter.
학습목표 10장. 조명과 음영 조명과 음영의 차이점을 이해한다. 지역 조명모델과 전역 조명모델의 차이점을 이해한다.
* 07/16/96 처음으로 배우는 C 프로그래밍 제1부 기초 제1장 시작하기 *.
Computer Graphics 한신대학교 컴퓨터공학부 류승택 2017년 2학기.
Implement of Input and Interaction
Computer Graphics 한신대학교 컴퓨터공학부 류승택 2015년 2학기.
OpenGL Programming (III) 1. Drawing in 3D 2. Manipulating 3D Space
컴퓨터 그래픽스 연구회지 2000년 5월 발표자 : 이영건 날짜 :
Chapter 10. Illumination Models and Surface-Rendering Methods
10장. 조명과 음영 학습목표 조명과 음영의 차이점을 이해한다. 지역 조명모델과 전역 조명모델의 차이점을 이해한다.
학습목표 5장. 오픈지엘 기본틀 논리적 입력장치를 설정하는 이유와 종류를 이해한다. 세 가지 입력모드의 차이점을 이해한다.
Deferred Shading (지연 세이딩)
OpenGL 실습 1주차.
OpenGL 시작하기.
학습목표 10장. 조명과 음영 조명과 음영의 차이점을 이해한다. 지역 조명모델과 전역 조명모델의 차이점을 이해한다.
14주차 1교시 강화계획 [학습목표] 1. 강화계획의 정의를 안다 [학습내용] 1. 단순한 강화계획 2. 간헐적 강화 3. 복합 계획 4. 선택과 대응법칙 [사전학습] 강화계획이 일어날 수 있는 사례를 생각해본다.
3장 이미지와 그래픽 3.1 이미지와 그래픽의 기본 개념 3.2 입출력장치 3.3 이미지의 처리와 압축
연장근로와 야간·휴일근로 김영호 노무사 나눔 노사관계연구소 소장 연세대 일반대학원 박사 수료 고려사이버대 법학과 외래교수
축산 인식개선을 위한 농협의 추진 사례 ( ) 농협중앙회 축산지원단장 박인희.
건축학개론 건폐율, 용적률 부동산경영과 손진수.
1장 – 그래픽스 시스템과 모델 2장 – 그래픽스 프로그래밍 3장 – 입력과 상호작용 4장 – 기하학적 객체와 변환 5장 관측
학습목표 7장. 투상변환과 뷰포트변환 평행투상과 원근투상의 차이점을 이해한다. 가시부피 설정방식을 이해한다.
학습목표 7장. 투상변환과 뷰포트변환 평행투상과 원근투상의 차이점을 이해한다. 가시부피 설정방식을 이해한다.
Multimedia Programming 05: Point Processing
Red Color Detection Course ChanYoung Kim
3D 캐릭터 애니메이션을 3D Studio MAX로 만들어보자
모바일 햅틱 디스플레이를 위한 렌더링 시스템 Rendering System for Mobile Haptic Display
Sang Il Park Sejong University
그래픽스 시스템과 모델.
Red Color Detection Course ChanYoung Kim
8장. 가시성 판단 학습목표 후면제거의 정의와 처리방법을 이해한다. 절단작업의 정의와 처리방법을 이해한다.
3장 컴퓨터 그래픽스 3.1 벡터 그래픽과 비트맵 이미지 3.2 벡터와 비트맵의 통합 3.3 레이어 3.4 파일 포맷
openGL Project 결과보고서 야구 시구 시뮬레이션
1장 그래픽스 시스템과 모델-이미지 형성, 모델, 구조
렌더링.
Hanyang University Jungsik Park
노출영역 노출영역의 해당 배너들 클릭 시 실제 기획전 페이지로 이동됩니다..
Matrix 및 Rendering 파이프라인
학습목표 13장. 고급 렌더링 그림자를 구현하기 위한 세 가지 방법을 이해한다. 레이트레이싱의 정의와 구현방법을 이해한다.
Premiere의 개요 Adobe사에서 제작한 동영상 편집 소트프웨어로 비디오와 오디오 편집뿐만 아니라 애니매이션, 사진 및 그래픽 등을 동영상에 첨가하여 결합된 형태인 디지털 무비(Digital Movie)를 제작하는 프로그램 Premiere는 원래 매킨토시용으로 개발된.
Computer Graphics OpenGL 설치 및 설정
핸드폰 시뮬레이션 김 형 도 송 미 경.
Draw the basic Geometry Objects
Red Color Detection Course ChanYoung Kim
Elements of Image Interpretation
Digital Door Lock Design
SMIL.
Chapter 4 컬러( COLOR ).
좋은징조 담당교수 : 조성제 김도엽 김현일 이상훈.
제 8장 구조체 Hello!! C 언어 강성호 김학배 최우영.
OpenGL Introduction 컴퓨터 그래픽스 김 창 헌.
기업회생 절차.
2. 윤리학의 원리와 적용 가. 상대주의와 절대주의.
호서대학교 조교 사용자 설명(종합정보) 2014년 05월 15일.
SIMPLE CALL Client 사용설명서
Rendering Lecture 따라하기 제작:이경복(한밭대학교).
아두이노 프로그래밍 4일차 – Part1 모바일 로봇 강사: 김영준 목원대학교 겸임교수
이번 시간에는... 지난 시간까지 2회차에 걸쳐 WML의 택스트 포맷, 이미지 처리, 페이지 이동, 태스크 수행과 이벤트 처리 및 WML 사용자 Input 처리 태그 등, WML 개발에 대해서 알아보았습니다. 이번 시간에는 2회차에 걸쳐, WML 스크립트 개발에 대해서.
2장 선과 글자 모양에 따른 분류 제품 제작을 하기 위한 도면에는 제품의 정보인 형상, 치수,
The Graphics Process: Summary
HCI 입문 강의 계획 2005년2학기 김 창 헌
Presentation transcript:

OpenGL Programming (II) 3D Graphics Fundamentals 컴퓨터 그래픽스 1999. 4. 29 담당교수 : 김 창 헌

3D Perception 3D vs 3D Perception 3D 에서 실제 본다(see)는 것 깊이나 3D에 대한 환영(illusion)을 제공 3D 에서 실제 본다(see)는 것 두 눈으로 물체를 본다. 각 눈의 망막에 서로 다른 2D 이미지를 만듬. 뇌가 서로 다른 2장의 2D 이미지를 한 장의 3D 이미지로 합성. 물체가 멀리 있을수록 두 눈이 응시하는 각 작아짐.

한 장의 사진에서 3D 효과 한 장의 사진이면? Cartoon, animation등 Perspective Hidden Surface Removal Color and Shading Lights and Shadow

2D + Perspective = 3D 하나의 눈 (카메라)에서 생성된 이미지도 3D 효과를 가질 수 있다. 가까운 물체는 먼 물체보다 더 큰 것 같다. 이 특징 하나로 3D 효과 가능

Hidden Line Removal Depth Cueing Hiddein Surface removal 눈에서 거리가 멀수록 edge는 희미하게 보인다. Hiddein Surface removal surface로 된 육면체는 뒤쪽 표면이 보이지 않는다.

Colors and Shading Wireframe Texture Color 여전히 이미지는 real하지 않다. 나무 질감, 과자 상자 위의 무늬 Color 각 면의 색깔을 다르게

Lights and Shadows Light 물체의 intensity의 분포를 결정짓는다. Shadow 빛에 의한 그림자 효과

Coordinate Systems 3D 물체가 어떻게 스크린에 그려지나? 좌표계 필요 OpenGL Window가 생성되면 Coordinate system 필요 지정된 좌표계가 screen pixel상에 매핑되는 함수 지원

2D Cartesian Coordinate Clipping Area Viewport Drawing Primitive

Coordinate Clipping Window를 점유하는 Cartesian Space의 영역 명시 ( Clipping Area) 지정된 좌표를 스크린 좌표로 이동 Window Client Area

Viewport Clipping area를 그리기 위해 사용하는 window의 client area 안의 영역 Clipping area를 window 영역에 mapping ( 대개 영역 전체에 할당 ) Clipping Area Window Client Area 일부 영역 가능(Viewport

계속 Logical coordinate가 더 큰 screen coordinate에 매핑

Projections, The Essence of 3D 3D Cartesian Coordinate Orthographic Projections Perspective Projections top Clipping Volume near Viewport

Window Screen Coordinate y x (100, 100) (100, 100) y x Windows Screen Coordinate OpenGL Screen Coordinate

Drawing Shapes with OpenGL Simple Program using AUX Lib void main(void) { // AUX library window and mode setup auxInitDisplayMode(AUX_SINGLE | AUX_RGBA); auxInitPosition(100,100,250,250); auxInitWindow("My second OpenGL Program"); // Set function to call when window needs updating auxMainLoop(RenderScene); }

Rendering Function Callback 함수 예제 window가 update될 필요가 있을 때마다 부른다. void CALLBACK RenderScene(void) { }

Drawing a Rectangle 2D flat rectangle Sample 3D 상의 z=0인 평면 위에 존재 glClearColor(0.0f, 0.0f, 1.0f, 1.0f); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0f, 0.0f, 0.0f); glRectf(100.0f, 150.0f, 150.0f, 100.0f); glFlush();

Scaling to the Window Setting the Viewport and Clipping Volume window creation code auxInitPosition(100,100,250,250); viewport 와 window size viewport는 1사분면에 존재 (0, 0, 255, 255)

Reshape Function ( Aux lib ) Viewport setting Code glViewport(0, 0, w, h); Reshape Function ( Aux lib ) main( ) { . auxReshapeFunc(ChangeSize); auxMainLoop(RenderScene); }

Defining Viewport and Clipping Volume void CALLBACK ChangeSize(GLsizei w, GLsizei h) { // Set Viewport to window dimensions glViewport(0, 0, w, h); // Reset coordinate system glLoadIdentity(); // Establish clipping volume (left, right, bottom, top, near, far) if (w <= h) glOrtho (0.0f, 250.0f, 0.0f, 250.0f*h/w, 1.0, -1.0); else glOrtho (0.0f, 250.0f*w/h, 0.0f, 250.0f, 1.0, -1.0); }

Keeping a Square Square Apect ratio height/width Image distortion ex) glOrtho (0.0f, 250.0f, 0.0f, 250.0f*h/w, 1.0, -1.0); glOrtho (0.0f, 250.0f*w/h, 0.0f, 250.0f, 1.0, -1.0); Clipping Region 250 250 250 250 250 250