티스토리 뷰

교재 : OpenGL SuperBible 제 3판

OpenGL이란?
  _ "그래픽 하드웨어 제어를 위한 소프트웨어 인터페이스"
  _ 언어가 아닌 API
  _ 플랫폼 독립성을 가지고 있다.

OpenGL을 사용하기 위해서 필요한 헤더
  _ gl/gl.h , gl/glu.h (include 폴더에 없을경우 다운받아야 함..-_-..;)

데이터 타입
  _ OpenGL은 자체 데이터 타입을 정의하고 있는데 그 이유는 다양한 환경에서의 적응을 위해서임.

함수의 이름짓기 규칙
  _ <라이브러리 접두어><루트 명령어><선택적인 인자의 수><선택적인 인자의 타입>
     예) glColor3f : gl라이브러리 이며 Color값을 나타내는것이고 3개의 float형을 인자로 가진다.

GLUT의 사용.
  _ OpenGL프로그래밍을 보다 편리하게 진행하도록 하기 위해 개발된 것.
  _ 특정 운영체제에 대한 GUI프로그래밍 지식이 없어도 어떠한 운영체제에서도 사용 가능.
  _ 하지만 모든 GUI기능이 담겨져 있지는 않으므로 완전하게 GLUT에 의존하는 것은 좋지 않다.
  _ 헤더는 gl/glut.h

간단한 OpenGL프로그램

#include <OpenGL.h> // gl.h와 glut.h헤더를 포함하는것.

void RenderScene(void)
{
// 색상 버퍼 지우기. 버퍼란 이미지 정볼르 담는 공간을 의미하는것으로, 드로잉에 사용되는 적색, 녹색, 청색 요솔르 색상 버퍼 또는 픽셀 버퍼라고 한다.
  glClear(GL_COLOR_BUFFER_BIT);
  // 큐 내용의 실행. 지금까지 실행되지 않은 모든 OpenGL명령을 실행하도록 하는것.
  glFlush();
}

void SetupRC(void)
{
// 창을 지우는데 사용되는 함수.
  glClearColor(1.0f, 0.0f, 1.0f, 1.0f);
}

void main(void)
{
  //출력모드는 싱글 버퍼이며 (화면에 직접 그리기), RGB색상 모드를 사용.
  glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
  // Simple이라는 이름의 윈도우 창 생성
  glutCreateWindow("Simple");
  // 창이 처음으로 출력될 때나 창의 크기가 변경될 때, 최소화되었다가 다시 등장할 때 호출되는 콜백 함수.
  glutDisplayFunc(RenderScene);
  // 일종의 관례와도 같은 부분으로, OpenGL의 초기화 작업.
  SetupRC();
// GLUT프레임웍을 실행하는 기능을 하며, 화면 출력에 대한 콜백과 다른 함수들을 정의하는것.
  glutMainLoop();
}
TAG
댓글
댓글쓰기 폼