티스토리 뷰
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
- OpenGL
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- 341,524
- Today
- 0
- Yesterday
- 1
TAG
- GX100
- 한빛리더스
- Programming Challenges
- WIPI
- UVA
- 병역특례
- u10
- SRM
- 서태지
- 키보드
- 게임회사
- 영화감상
- 접사
- 공부
- 티크루
- LC-Display
- Topcoder
- ACM-ICPC
- Google Code Jam
- 통기타
- 프로그래머 두뇌단련 퍼즐 44제
- OpenGL
- 한빛미디어
- 알고리즘
- 한국기술교육대학교
- 게임프로그래밍전문가
- 리눅스마스터1급
- 도서감상
- 자격증
- C++