HW1

그래픽스 프로그래밍(321190) 실습 #1


– 2D graphics & interaction


(321190)


강사: 박경신


2014년 3월 21일


 


제출 방법: 2014년 4월 11일(금) 밤12시까지


(e-learning 강의실에 실행파일과 소스코드와 리포트를 전부 “CG14_학번이름_숙제1.zip”으로 묶어서 제출하도록 합니다. 또한, 소스코트 폴더에 .cpp만 담지 말고 비주얼 스튜디오에서 만든 프로젝트 폴더에서 생성한 모든 것을 첨부 바랍니다.)


 


참고자료: lab2
사용자 삽입 이미지


사용자 삽입 이미지사용자 삽입 이미지
0. Display window
크기는 600 x 600로 perspective(45, 1, 1, 100)를 사용한다.


 


1. 기본 도형 (Geometry) 클래스를 만든다. (10점)


-Quad, Circle, Triangle, Hexagon, Octagon, 등등 (네모, 원, 삼각, 육각, 팔각형 모양의 카페트) 클래스들 중 본인이 새로운 도형 3개 이상 작성


-Geometry 클래스는 각 도형 클래스들에 대한 추상 클래스


-Geometry에서 상속받은 Quad, Circle, Triangle, Hexagon, Octagon, etc


클래스는 네모, 원, 삼각, 육각, 팔각형 모양을 그리는 클래스이다.


 


2. 본인의 이름으로 “꽃밭” 로고를 만든다. (40점)


–로고는 반드시 하나씩 자라나는 개체이어야 한다.


-GL_TRIANGLE_FAN, GL_TRIANGLE_STRIP, GL_LINE_STRIP 등 여러 개의


다른 기하학적 기본요소들을 반드시 사용해본다.


–다양한 기하 속성 (attributes, 즉 color, line width, etc)을 이용하여, 로고 주변에 여러 가지 재미있는 디자인을 추가한다.


–수학적인 공식 또는 기본색이나 모양을 변형하여 “날아다니는 잠자리, 나비, 풍선, 각종 캐릭터” 등을 만든다.


 


3. 메인 프로그램을 작성한다. (10점)


-keyboard


-spacebar-key를 누르면, 움직이는 로고를 다시 처음부터 볼 수 있다.


-q-key 또는 ESC-key를 누르면, 프로그램을 종료한다.


 


4. 창의성, 소스코드 주석처리, 리포트 (40점)

glm library installation

glm-0.9.5.2 라이브러리 설치
1. glm는 아래 파일을 다운 받아 unzip해 주고, glm 디렉토리안에 들어가서 glm 디렉토리를 아래와 같이 복사해줍니다.

glm-0.9.5.2.zip
사용자 삽입 이미지
2. C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include 폴더에 glm 폴더 전체를 붙혀넣기 하면 아래 그림과 같이 gl 아래에 glm이 생성됩니다.사용자 삽입 이미지3. C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\glm 내부는 아래 그림과 같습니다.사용자 삽입 이미지4. glm을 제대로 설치하지 않으면, 아래와 같은 에러가 발생합니다.사용자 삽입 이미지

OpenGL Programmable Pipeline

http://duriansoftware.com/joe/An-intro-to-modern-OpenGL.-Chapter-1:-The-Graphics-Pipeline.html


사용자 삽입 이미지

Modern OpenGL (OpenGL 3.x) 프로그래밍은 다음과 같은 단계로 진행한다.
1.Shader 프로그램을 만든다.
2.Vertex 자료를 Vertex Buffer Object (VBO)와 Vertex Array Object (VAO)를 만들고 이 자료를 쉐이더에 로딩한다.
3.이 자료의 위치와 쉐이더의 변수와 “연결(Connect)” 한다.
4.렌더링을 수행한다.