Visual C 용으로 OpenGL 용 소스를 작성할 떼는 헤더 파일 gl.h 와 glu.h 는 사용하지 않아도 된다. glut.h 하나만 사용하면 된다. 컴파일할 때는 헤더 파일을 위한 경로나 라이브러리 파일을 위한 경로를 별도로 지정하지 않아도 된다. 즉, 명령
cl 소스파일명
으로 소스파일이 컴파일되어 실행파일이 생성된다. 아래 예제는 OpenGL Redebook 에 소개되어 있는 cube 예제 소스이다.
// Filename: cube.c
//
// See: http://www.glprogramming.com/red/chapter03.html
// #include <GL/gl.h> // Commented out for Visual C
// #include <GL/glu.h> // Commented out for Visual C
#include <GL/glut.h>
void init(void)
{
glClearColor (0.0, 0.0, 0.0, 0.0);
glShadeModel (GL_FLAT);
}
void display(void)
{
glClear (GL_COLOR_BUFFER_BIT);
glColor3f (1.0, 1.0, 1.0);
glLoadIdentity (); /* clear the matrix */
/* viewing transformation */
gluLookAt (0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
glScalef (1.0, 2.0, 1.0); /* modeling transformation */
glutWireCube (1.0);
glFlush ();
}
void reshape (int w, int h)
{
glViewport (0, 0, (GLsizei) w, (GLsizei) h);
glMatrixMode (GL_PROJECTION);
glLoadIdentity ();
glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
glMatrixMode (GL_MODELVIEW);
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode (GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize (500, 500);
glutInitWindowPosition (100, 100);
glutCreateWindow (argv[0]);
init ();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}
컴파일하기: cl cube.c
실행하기: cube
실행 결과:
'프로그래밍 > C' 카테고리의 다른 글
이진 파일을 읽어서 16진수로 보여주는 HexView 소스 with C (0) | 2013.08.05 |
---|---|
Visual C 2010 으로 컴파일하여 실행해 본 OpenGL 예제: Redbook 의 Teapots (0) | 2013.05.17 |
gcc 와 g++ 의 log 계산 오류 (0) | 2013.02.25 |
부정확한 부동소수점수 계산에 대하여 (0) | 2013.01.22 |
(C 언어로 구현해 보는) 십진법의 신비: 숫자 계산 피라미드 세 가지 (0) | 2013.01.22 |