Open GL GLUT 라이브러리 국내 관련사이트 다운받으세요.

Slides:



Advertisements
Similar presentations
강의 내용 : 카메라 DirectX 9 을 이용한 게임 개발 기본 코스. 목 차 카메라 요구사항 구현.
Advertisements

Chapter 3. 뷰잉(Viewing).
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
Implement of Input and Interaction
순차, 조건, 반복 이점숙 농대 뒷편 언덕을 넘어가며 같은 문제 다르게 해결 순차, 조건, 반복 이점숙
순차, 조건, 반복 이점숙 같은 문제 다르게 해결하기 순차, 조건, 반복 이점숙
Chapter09 CSS3 애니메이션 HTML5 Programming.
Lab 10 Guide: 프린터 출력 예제. 한 페이지의 그림 인쇄 (교재 24장, 쪽)
5. 좌표변환과 OpenGL행렬 이론.
OpenGL 시작하기.
Image & Video processing
Lecture #8 제 5 장. 관측(viewing).
3D Project Cloud Warcraft 박 종 선.
Chap 9. 텍스쳐(Texture).
윤 홍 란 다이알로그(대화상자) 윤 홍 란
OpenGL 이란 그래픽스 하드웨어에 대한 소프트웨어 인터페이스 OpenGL의 전신은 실리콘그래픽스사의 IRIS GL
컴퓨터 프로그래밍 기초 [Final] 기말고사
Lab 2 Guide: 교재 3장 그래픽 예제 ( 쪽) - 펜과 브러시로 그리기 - 튀는 공
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
제 1 장. 컴퓨터 그래픽스 시스템과 모델 - 3D 컴퓨터 그래픽스 구조 - OpenGL API 개요
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
23장. 구조체와 사용자 정의 자료형 2.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
Hanyang University Jungsik Park
3차원 물체 그리기.
11장. 1차원 배열.
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
자바응용.
Chapter03 캔버스(1) HTML5 Programming.
광원 제어 하기.
10장 tkinter로 GUI 만들기.
Draw the basic Geometry Objects
이메일 자동 포워딩 방법 (Outlook/OWA)
2018년 11월 05일 박성진 Web & Internet [08] 레이아웃 P1 2018년 11월 05일 박성진
Lab 1 Guide: 교재 2장 DrawX ( 쪽)
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
연산자 (Operator).
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
3D 프린팅 프로그래밍 01 – 기본 명령어 강사: 김영준 목원대학교 겸임교수.
Clipping 이진학.
1차시: 낮과 밤이 생기는 원리 지구과학
PADS Logic 회로도.
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
SEOUL NATIONAL UNIVERSITY OF SCIENCE & TECHNOLOGY
컴퓨터 프로그래밍 기초 - 8th : 함수와 변수 / 배열 -
CAD 실습 2013년 2학기.
컴퓨터 계측 및 실습 디지털 출력 영남대학교 기계공학부.
MATLAB Image Processing Toolbox
Window, Viewport Window, Viewport.
OpenCV 설정 2.21 만든이 딩딩.
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
DK-128 직렬통신 실습 아이티즌 기술연구소
Homework #12 (1/2) 프로그램을 작성하고, 프로그램과 실행 결과를 프린트하여 제출한다.
공도의 실버라이트 하기 좋은 날 퍼스펙티브 3D로 깊이 있게.
컴퓨터 구성요소와 사용 컴퓨터 문서 작업 인터넷 활용
3D 프린팅 프로그래밍 03 – 도형 회전 (손잡이컵 만들기) 강사: 김영준 목원대학교 겸임교수.
가장 많이 사용 Accelerator 최상위 WM_COMMAND, OLE 메시지 관련 이벤트 처리만 가능 이 클래스를 상속받아서 다른 이벤트 처리 이벤트 처리 관련 윈도우(창) 최상위 클래스 멀티 테스킹(모듈) CFrameWnd, Cview,
9 브라우저 객체 모델.
Ⅳ. 제도의 기초 1. 물체를 나타내는 방법 3) 물체의 표현 방법 (2) 입체도법 지도학급 : 태화중학교 1학년 4반
2D Game Programming 1차 발표 배강산.
김덕용 게임 엔진론 Project 2차발표.
OPENGL PROJECT 별자리관측 이지은,정현정, 조은영, 황태량.
Web.
Power Point 예제 디자인 적용 (서식) - (디자인적용) - (원하는 디자인 선택)
BoardGame 보드게임 따라가기.
Presentation transcript:

Open GL GLUT 라이브러리 국내 관련사이트 www.opengl.org에서 다운받으세요. *.h는 Visual Studio 디렉토리의 include/gl/ 폴더에 *.lib는 Visual Studio 디렉토리의 lib 폴더에 *.dll은 윈98의 경우 windows/system 폴더 2000은 winNT/system32 폴더 국내 관련사이트 http://dip2k.coco.st/

Open GL 헤더, 전역변수, 함수 #include <gl/glut.h> #include <math.h> GLfloat Rot; //자동차의 회전량 저장 GLfloat xMove, yMove; // 자동차의 움직임량 저장 //윈도우 사이즈 변경시 호출되는 함수 void ChangeSize(GLsizei w, GLsizei h); //그림을 그리는 함수 void RenderScene(void); //키입력을 처리하는 함수 void SpecialKeys(int key, int x, int y); //바퀴를 그리는 함수 void wheel(void);

Open GL Main함수 에니메이션을 위한 더블버퍼링과, RGB컬러를 사용 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); 윈도우 이름을 Multimedia로 설정 glutCreateWindow(“Multimedia"); 키 입력에 대한 함수 SpecialKeys 연결 glutSpecialFunc(SpecialKeys); 윈도우 사이즈 변경에 대한 함수 ChangeSize 연결 glutReshapeFunc(ChangeSize); 그림을 그릴 함수 RenderScene 연결 glutDisplayFunc(RenderScene); 프로그램을 시작 glutMainLoop();

Open GL ChangeSize 함수 SpecialKeys 함수 윈도우의 크기 변경시 호출되며 전달된 윈도우의 크기에 따라 관측공간을 재설정 한다. gluPerspective함수를 사용하여 원근감이 표현되는 공간을 설정한다 SpecialKeys 함수 사용자의 입력된 키값에 따라 자동차의 회전과 이동값을 주어진다 좌우버튼 입력시 일정량의 회전값을 저장하며 앞뒤버튼 입력시 변경된 회전방향으로 전진 또는 후진되는 값을 저장한다. glutPostRedisplay 함수를 이용하여 변경된 값에 따라 화면을 다시 그린다.

Open GL glutInitDisplayMode(unsigned int mode); Glut기반의 프로그램에서 OpenGL윈도우 셋업할때 호출되어야 할 첫번째함수. Open GL에서 드로잉 연산에 사용하는 윈도우의 특성을 설정한다. 파라미터 GLUT_SINGLE 싱글버퍼 윈도우 GLUT_DOUBLE 더블버퍼 윈도우 GLUT_RGBA RGBA모드 윈도우 GLUT_DEPTH 32비트 깊이(depth) 버퍼 SLUT_STENCIL 스텐실(stencil)버퍼 GLUT_ACCUM 누적(accumulation)버퍼 GLUT_ALPHA 알파(destination alpha) 버퍼 glutSpecialFunc(void (*func)(int kye, int x, inty)); Non-ASCII키 입력시 GLUT에 위해 호출되는 콜백함수를 설정한다. (*func)(int key, int x, int y)형 : non-ASCII키 입력이 일어날때 GLUT에 의해 호출될 함수 이름

Open GL glutReshapeFunc(void (*func)(int width, int height)); 파라미터 (*func)(int width, int height) : 윈도우 사이즈 변경시 GLUT가 호출하는 함수 이름이다. glutDisplayFunc(void (*func)(void)); 현재 윈도우에 대한 디스플레이 콜백함수를 설정한다 (*func)(void) : 렌더링하는 함수의 이름이다. glutMainLoop(void); GLUT의 메인 이벤트 핸들링 루푸를 시작한다. 이벤트 루프에서 모든 키보드, 마우스, 타이머, 다시 그리기 등과 여러가지 윈도우 메시지를 처리하게 된다. 이 함수는 프로그램을 종료할 때까지 리턴하지 않는다.

Open GL glViewport(GLint x, GLint y, GLsizei width, GLsizei height); 클리핑 공간 좌표를 실제 윈도우 좌표로 매핑하기 위해 사용되는 윈도우 영역을 설정한다. 파라미터 GLint x : 윈도우의 왼쪽 모서리로부터 뷰포트의 시작점까지의 픽셀수 GLint y : 윈도우의 아래 모서리로부터 뷰포트의 시작점까지의 픽셀수 GLsizei width : 필셀 단위의 뷰포트 폭이다. GLsizei height : 픽셀 단위의 뷰포트 높이이다. gluPerspective(GLdouble fovy, GLdouble aspect, GLdouble zNear, GLdouble zFar); 관측 투시투영 행렬을 정의한다. GLdouble fovy : 각도(degree)로 나타낸 화각이다. Y축 방향이다 GLdouble aspect : 종횡비(x/y)이다 GLdouble zNear, zFar : 관측자와 near, for 절단 평면 사이의 거리이다. 이 값은 항상 양의 값을 갖는다.

Open GL glMatrixMode(GLenum mode); glLoadIdentity(void); 이 함수는 행렬 연산시 어느 행렬 스택을 사용할지 결정할 때 사용한다. 파라미터 GL_MODELVIEW 행렬 연산이 모델관측 스택에 적용된다 (장면 상에서 물체를 이동할때 사용된다) GL_PROJECTION 행렬 연산이 투영 행렬 스택에 적용된다 (클리핑 공간을 정의할 때 사용한다) GL_TEXTURE 행렬 연산이 텍스쳐 행렬 스택에 적용된다 (텍스쳐 좌표를 조작한다) glLoadIdentity(void); 이 함수는 현재 변환 행렬을 주어진 단위 행렬로 바꾼다. 이는 본질적으로 좌표계를 시각 좌표계로 초기화하는 것과 같다.

Open GL glFrontFace(GLenum mode); 폴리곤의 어느면이 앞면 혹은 뒷면인지 정의한다. 파라미터 GL_CW : 시계방향 GL_CCW : 반시계방향 glEnable(GLenum feature); / glDisable glDisable/glEnable은 Open GL 드로잉 관련 기능을 disable/ enable한다 glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampft alpha); color버퍼를 clear하기 위한 color와 alpha값을 설정한다 적새고, 녹색, 청색, 알파

Open GL glPushMatrix(void); glPopMatrix(void); glTranslate(GLdouble x, GLdouble y, GLdouble z); 현재 행렬을 이동변환 행렬과 곱한다 파라미터 : x축의 이동량, y축의 이동량, z축의 이동량 glRotate(GLdouble angle, GLdouble x, GLdouble y, GLdouble z) 현재 행렬을 회전행렬로 지정된 만큼 회전한다. 파라미터 angle : 회전각을 degree(도)단위로 나타낸다. x, y, z축을 중심

Open GL glColor(GL red, GL green, GL blue); 현재색을 각각의 적색, 녹색, 청색 성분을 명시하여 설정하도록 한다. 파라미터 적색, 녹색 청색 삽입 glVertex(GL x, GL, y, GL z); x, y, z에 해당하는곳에 점을 찍는다. glBegin(GLenum mode); glEnd와 함께 Vertex들을 이어준다 GL_POINTS : 점을 생성한다 GL_LINES : 2개의 점으로 한 개의 선분을 생성한다 GL_POLYGONE : 주어진 정점들을 이용하여 폴리곤을 생성한다 GL_TRIANGLE_FAN : 주어진 정점들을 이용하여 삼각형 팬을 생성한다. glutSolidTeapot(GLint Size) Size의 크기로 주전자를 생성한다.