Open GL

Similar documents
Open GL

Microsoft PowerPoint - 13prac.pptx

<4D F736F F F696E74202D204347C3E2BCAEBCF6BEF D325FC4C4C7BBC5CDB1D7B7A1C7C8BDBA20B1E2BABBBFE4BCD22E >

Microsoft PowerPoint - lecture2-opengl.ppt [호환 모드]

컴퓨터그래픽스 기본요소

Microsoft PowerPoint - lecture3-ch2.ppt

Microsoft PowerPoint - lecture4-ch2.ppt

PowerPoint 프레젠테이션

歯Lecture2.PDF

(Microsoft PowerPoint - CNVZNGWAIYSE.ppt [\310\243\310\257 \270\360\265\345])

컴퓨터그래픽스 소프트웨어

Microsoft PowerPoint - lecture3-ch2.ppt [호환 모드]

chapter2.hwp

Microsoft PowerPoint - lecture2-opengl.ppt

Microsoft Word - cg07-midterm.doc

Microsoft Word - cg09-final-answer.doc

Microsoft Word - cg08-final-answer.doc

Microsoft Word - cg12-midterm-answer

Dialog Box 실행파일을 Web에 포함시키는 방법

Microsoft PowerPoint - Chapter 9.pptx

Microsoft Word - cg09-midterm.doc

<4D F736F F F696E74202D204347C3E2BCAEBCF6BEF D315FC4C4C7BBC5CDB1D7B7A1C7C8BDBA20B0B3B0FC2E >

PowerPoint 프레젠테이션

(Microsoft PowerPoint - FZBDPQDCSHAN.ppt [\310\243\310\257 \270\360\265\345])

2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G L

Microsoft PowerPoint cg01.ppt

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

鍮뚮┰硫붾돱??李⑤낯

쉽게 풀어쓴 C 프로그래밍

Microsoft Word - cg09-midterm-answer.doc

04_오픈지엘API.key

서강대학교 공과대학 컴퓨터공학과 CSE4170 기초 컴퓨터 그래픽스 중간고사 (1/8) [CSE4170: 기초 컴퓨터 그래픽스] 중간고사 (담당교수: 임 인 성) 답은 연습지가 아니라 답안지에 기술할 것. 있는 변환 행렬은 일반적으로 어떤 좌표계 에서 어떤 좌표계로의

Microsoft Word - cg07-final.doc

슬라이드 1

Microsoft PowerPoint - lecture15-ch6.ppt

단국대학교멀티미디어공학그래픽스프로그래밍중간고사 (2011 년봄학기 ) 2011 년 4 월 26 일학과학번이름 중간고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤

0503중간고사.dvi

BMP 파일 처리

Microsoft PowerPoint - 06-Body Data Class.pptx

VOL /2 Technical SmartPlant Materials - Document Management SmartPlant Materials에서 기본적인 Document를 관리하고자 할 때 필요한 세팅, 파일 업로드 방법 그리고 Path Type인 Ph

슬라이드 1

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

슬라이드 1

슬라이드 1

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

EEAP - Proposal Template

; struct point p[10] = {{1, 2, {5, -3, {-3, 5, {-6, -2, {2, 2, {-3, -3, {-9, 2, {7, 8, {-6, 4, {8, -5; for (i = 0; i < 10; i++){ if (p[i].x > 0 && p[i

Microsoft PowerPoint - logo_2-미해답.ppt [호환 모드]

Microsoft PowerPoint - lecture18-ch8

Speaker MVP (Visual C++) 팁스웨어대표 tipssoft.com 개발커뮤니티운영자 한이음 IT 멘토 tipsware blog.naver.com/tipsware

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

목차 제 1 장 inexio Touch Driver소개 소개 및 주요 기능 제품사양... 4 제 2 장 설치 및 실행 설치 시 주의사항 설치 권고 사양 프로그램 설치 하드웨

Jwplayer 요즘 웹에서 동영상 재생을 목적으로 많이 쓰이는 jwplayer의 설치와 사용하기 입니다. jwplayer홈페이지 : 위의 홈페이지에 가시면 JWplayer를 다운 받으실 수 있습니다. 현재 5.1버전

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

윈도우시스템프로그래밍

Google Maps Android API v2

Interstage5 SOAP서비스 설정 가이드

슬라이드 1

Facebook API

OpenGL 프로그래밍 가이드 : OpenGL 1.2 공식 학습 가이드 제3판

슬라이드 1

Microsoft PowerPoint - lecture16-ch6

Microsoft PowerPoint - lecture11-ch4.ppt

K_R9000PRO_101.pdf

슬라이드 1

PowerPoint 프레젠테이션

슬라이드 1

슬라이드 1

2005CG01.PDF

<57696E646F7773C8AFB0E6BFA1BCADC0C7204F70656E53534CBCB3C4A12E687770>

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint 프레젠테이션

단국대학교멀티미디어공학그래픽스프로그래밍기말고사 (2012 년봄학기 ) 2012 년 6 월 12 일학과학번이름 기말고사 담당교수 : 단국대학교멀티미디어공학전공박경신 l 답은반드시답안지에기술할것. 공간이부족할경우반드시답안지몇쪽의뒤에있다고명기한후기술할것. 그외의경우의답안지뒤

Microsoft PowerPoint - 1장 C 프로그래밍 시작하기 pptx

untitled

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

그래픽스 기본요소의 속성

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

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

슬라이드 1

Microsoft PowerPoint - additional01.ppt [호환 모드]

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

네이버 블로그 :: 포스트 리스트

_USB JTAG Ver1.0 User's Manual.hwp

Microsoft PowerPoint - lecture11-ch4

Title Here

Chapter_02-3_NativeApp

게임 기획서 표준양식 연구보고서

SaaS 플랫폼을 위한 Web 2.0기반 서비스 제공 미들웨어 기술 연구

PowerPoint 프레젠테이션

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

Microsoft PowerPoint - lecture17-ch8.ppt

초보자를 위한 C++

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

(Microsoft PowerPoint - JXEUOAACMYBW.ppt [\310\243\310\257 \270\360\265\345])

PRO1_02E [읽기 전용]

Microsoft PowerPoint D View Class.pptx

Transcription:

Graphics Basic Windows & OpenGL Programming 컴퓨터그래픽스연구실

OpenGL 관련참고사이트 OpenGL 공식사이트 http://www.opengl.org/ Khronos Group http://www.khronos.org/ Nehe Productions http://nehe.gamedev.net/

OpenGL 파일설정 압축을푼후다음경로로파일을복사 헤더파일 (glut.h) Microsoft Visual Studio\VC98\Include\GL (6.0) or Microsoft Visual Studio 8\VC\Include (8.0) 정적라이브러리파일 (glut32.lib & glut.def) Microsoft Visual Studio\VC98\Lib (6.0) or Microsoft Visual Studio 8\VC\Lib (8.0) 동적라이브러리파일 (glut32.dll) C:\WINDOWS\system32

프로젝트생성 [VS 6.0] (1/3) [File] [New] (Ctrl+N) [Win32 Console Application] 선택 Project Name 정한후 [OK] [An empty project] [Finish]

프로젝트생성 [VS 6.0] (2/3) [Project] [Settings ] (Alt+F7) Link 의 Object/library modules 에다음파일을추가 opengl32.lib glu32.lib glut32.lib glaux.lib

프로젝트생성 [VS 6.0] (3/3) [File] [New] (Ctrl+N) C++ Source File 선택 File 이름정한후 [OK] 완료

프로젝트생성 [VS 8.0] (1/3) [File] [New] [Project] (Ctrl+Shift+N) Visual C++ Win32 Win32 Console App 이름정한후 [OK] 빈프로젝트선택

프로젝트생성 [VS 8.0] (2/3) [Project] [ 속성 ] (Alt+F7) [ 구성속성 ] [ 링커 ] [ 입력 ] 추가종속성에다음파일을추가 opengl32.lib glu32.lib glut32.lib glaux.lib

프로젝트생성 [VS 8.0] (3/3) 소스파일선택후우클릭 새항목추가 코드 C++ 파일 (.cpp) 이름선택 추가 (A) 완료

Example 예제및실행결과

Viewing void glulookat GLdouble eyex, GLdouble eyey, GLdouble eyez, GLdouble atx, GLdouble aty, GLdouble atz, GLdouble upx, GLdouble upy, GLdouble upz eyex, eyey, eyez : Camera Position(x,y,z) atx, aty, atz : Camera Focus(x,y,z) upx, upy, upz : Camera Up-vector Default glutlookat(0.0, 0.0, 0.0, 0.0, 0.0, -100.0, 0.0, 1.0, 0.0);

Viewing void glulookat

View Volume void glortho GLdouble left, GLdouble right, GLdouble bottom, GLdouble top GLdouble znear, GLdouble zfar void glfrustum GLdouble left, GLdouble right, GLdouble bottom, GLdouble top GLdouble znear, GLdouble zfar void glperspective GLdouble fov, GLdouble aspect, GLdouble near, GLdouble fars fov : Field of View (degree : 0~180) aspect : Aspect Ratio (Width/Height) near : near clipping plane far : far clipping plane

View Volume void glfrustum

OpenGL 의그래픽기본요소 점 GL_POINTS 선 GL_LINES GL_LINE_STRIP GL_LINE_LOOP 도형 GL_POLYGON GL_TRIANGLES GL_TRIANGLE_STRIP GL_TRIANGLE_FAN GL_QUAD_STRIP

OpenGL 의그래픽기본요소 점 (GL_POINTS) glbegin(gl_points); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

OpenGL 의그래픽기본요소 선 (GL_LINES) glbegin(gl_lines); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

OpenGL 의그래픽기본요소 선 (GL_LINE_STRIP) glbegin(gl_line_strip); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

OpenGL 의그래픽기본요소 도형 (GL_LINE_LOOP) glbegin(gl_line_loop); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

OpenGL 의그래픽기본요소 도형 (GL_TRIANGLES) glbegin(gl_triangles); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glend(); v1 v2 v3

OpenGL 의그래픽기본요소 도형 (GL_QUADS) glbegin(gl_quads); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glend(); v1 v4 v2 v3

OpenGL 의그래픽기본요소 도형 (GL_POLYGON) glbegin(gl_polygon); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glvertex3f(v5x, v5y, v5z); glvertex3f(v6x, v6y, v6z); glend(); v2 v1 v3 v6 v4 v5

OpenGL 의그래픽기본요소 도형 (GL_TRIANGLE_STRIP) glbegin(gl_triangle_strip); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glvertex3f(v5x, v5y, v5z); glend(); v1 v2 v3 v4 v5

OpenGL 의그래픽기본요소 도형 (GL_TRIANGLE_FAN) glbegin(gl_triangle_fan); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); v5 v4 v3 glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); v2 glvertex3f(v5x, v5y, v5z); v1 glend();

OpenGL 의그래픽기본요소 도형 (GL_QUAD_STRIP) glbegin(gl_quad_strip); glvertex3f(v1x, v1y, v1z); glvertex3f(v2x, v2y, v2z); v1 v3 v5 glvertex3f(v3x, v3y, v3z); glvertex3f(v4x, v4y, v4z); glvertex3f(v5x, v5y, v5z); v2 v4 v6 glvertex3f(v6x, v6y, v6z); glend();

그래픽함수관련 ( 속성설정 ) glpointsize(glfloat size) 점의크기 gllinewidth(glfloat width) 선의두께 glgetfloatv(gl_line_size_range) 드라이버가지원하는최대선의두께를반환

그래픽함수관련 ( 속성설정 ) glshademodel(mode) 다각형내부채움모드설정 mode GL_FLAT : 다각형의내부를모두동일한색으로 GL_SMOOTH : 정점의색을 Weighted Average 보간 Gradation 기본값

Example

Example

Example

직교투영함수 Clipping glortho(gldouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far); left : 클리핑공간좌측끝의좌표값 right : 클리핑공간우측끝의좌표값 bottom : 클리핑공간하단끝의좌표값 top : 클리핑공간상단끝의좌표값 near : 원점과관측자사이의최대거리 far : 원점과관측자의반대편사이의최대거리 ex) glmatrixmode(gl_projection); glloadidentity(); glortho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); // 투영좌표계설정 // 초기화

직교투영함수 glortho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); Projection glortho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); Projection

직교투영함수 glortho(-1.0, 1.0, -1.0, 1.0, -1.0, 1.0); => projection glortho(-3.0, 3.0, -3.0, 3.0, -1.0, 1.0); => projection

Viewport 함수 윈도우의영역을설정한다. glviewport(glint x, GLint y, GLsizei width, GLsizei height); x : 좌하단 x좌표 y : 좌하단 y좌표 width : 너비 height : 높이 Ex) glutinitwindowsize(200, 200); glviewport(0, 0, 100, 100); (0, 200) (0, 100) (0, 0) (100, 0) (200, 0)

Example