새 프로젝트를 만드는 방법 정도야 아실것이구요, 콘솔 클릭하시고 솔루션 이름을 정합니다.
역시 빈파일 하나 만드는 정도는 읽으시는 분에 대한 예의가 아니므로 패스
코드를 작성해보겠습니다
#include <gl/glut.h>
void DoDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
// 그리기 시작!glVertex2f(0.0, 0.5);
glVertex2f(-0.5, -0.5);
glVertex2f(0.5, -0.5);
// 정점정의 : 아래서 따로 설명드리겠습니다glEnd();
// 그리기 끝!glFlush();
// 그래픽카드로 그린내용을 보낸다!}
void main()
{
glutCreateWindow("OpenGL");
// OpenGL 윈도우 생성 (인수는 타이틀바 제목)glutDisplayFunc(DoDisplay);
// 그리기 전달함수 (인수는 그리기메서드)glutMainLoop();
// 프로그램이 종료될 때까지 루프}
이게 다입니다.
코드도 짧으니 당연히 결과물도 짧겠죠? (모두가 그런것은 아니지만요)
2. 윈도우
윈도우라고 콘솔에 비해서 크게 다를건 없지만 어쨋든 다르긴 다릅니다.
당연히 Win32 윈도우 프로젝트를 만들어주고......
비어있는 c++파일 만들어주고,,
코드를 작성합니다.
#include <windows.h>
#include <gl/glut.h>
void DoDisplay()
{
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_TRIANGLES);
glVertex2f(0.0, 0.5);
glVertex2f(-0.5, -0.5);
glVertex2f(0.5, -0.5);
glEnd();
glFlush();
}
int APIENTRY WinMain(HINSTANCE hinstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdParam, int nCmdShow)
{
glutCreateWindow("OpenGL");
glutDisplayFunc(DoDisplay);
glutMainLoop();
return 0;
}
다른점이 있다면 핵심 코드는 같고, 윈도우를 사용하기 위해서
진입점이 WinMain으로 바뀌고, WinMain을 사용하기 위해서 windows.h 헤더를 추가한것밖에 다른게 없습니다.
콘솔로 하면 창이 두개(콘솔 + 결과창)뜨는데, 윈도우프로젝트로 하면 결과창 하나만 뜨니까 어쨋든.
윈도우는 윈도우에서만 사용되는거니까, 리눅스나 매킨토시에서는 WinMain을 Main으로 바꿔주면 됩니다, 저는 안드로이드용 증강현실을 위해 공부하는 것이니 앞으로는 콘솔로 하게 될 것 같아요.
그렇다고 윈도우에서 못하는건 아닙니다!!ㅋㅋ
화면의 정중앙이 0.0이고요
X축은 오른쪽으로, Y축은 위쪽으로 증가합니다
Vertex2f로 정의한 세개의 점이 정의되어 있구 이 세 점을 연결하여 삼각형을 그려줍니다.
'Graphics > OpenGL' 카테고리의 다른 글
OpenGL 기초 - 상태머신, 버전조사 (0) | 2014.05.16 |
---|---|
OpenGL 기초 - 색상변경 (0) | 2014.05.16 |
OpenGL 기초 - 기본타입, 함수형식 (0) | 2014.05.16 |
OpenGL 라이브러리 설치 (0) | 2014.05.16 |
OpenGL과 OpenGL ES (0) | 2014.05.16 |