Install command line
$ sudo apt-get install freeglut3-dev libglew1.5-dev
$ sudo apt-get install libxmu-dev libxi-dev
$ sudo apt-get install binutils-gold
Complie command line
$ cc -I/usr/X11R6/include program.c -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm -lpthread
$ function ccgl() { cc -I/usr/X11R6/include "$@" -L/usr/X11R6/lib -lglut -lGLU -lGL -lXmu -lXi -lXext -lX11 -lm -lpthread; }
$ ccgl program.c
#
C | OpenGL |
---|---|
signed char | GLbyte |
unsigned char | GLubyte, GLboolean |
short | GLshort |
unsigned short | GLushort |
int, long | GLint, GLsizei |
unsigned int, unsigned long | GLuint, GLenum, GLbitfield |
float | GLfloat, GLclampf |
double | GLdouble, GLclampd |
Function
void glutInit(int *argcp, char **argv);
glutInitWindowPosition();
glutInitWindowSize();
glutInitDisplayMode();
- GLUT_RGBA RGBA モード
- GLUT_RGBAも GLUT_INDEX も記述されないときのデフォルト
- GLUT_RGB GLUT_RGBA と同じ
- GLUT_INDEX カラーインデックス モード
- GLUT_RGBAも記述された場合,上書きする
- GLUT_SINGLE シングルバッファ モード
- GLUT_DOUBLE もGLUT_SINGLEも記述されていない場合の デフォルトである
- GLUT_DOUBLE ダブルバッファ モード
- GLUT_SINGLE も記述されていた場合,上書きする
- GLUT_ACCUM アキュムレーション バッファ
- GLUT_ALPHA カラーバッファにアルファ成分を加えること
- GLUT_DEPTH デプス(Z)バッファを加えること
- GLUT_STENCIL ステンシル・バッファを加えること
- GLUT_MULTISAMPLE マルチサンプリングのサポート
- GLX_SAMPLE_SGIS エクステンションをサポートしていなければならない
- GLUT_STEREO ステレオ・ウィンドウビットマスク
int glutCreateWindow(char *name);
void glutDisplayFunc(void (*func)(void));
void glClear(GLbitfield mask);
void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
void glBegin(GLenum mode);
void glEnd(void);
void glFlush();
Sample
#include <windows.h>
#include <GL/gl.h>
#include <GL/glut.h>
void disp(void) {
glClearColor(1 , 1 , 1 , 0);
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glEnd();
glFlush();
}
int main(int argc , char ** argv) {
glutInit(&argc , argv);
glutInitWindowPosition(100 , 50);
glutInitWindowSize(200 , 100);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA);
glutCreateWindow("Kitty on your lap");
glutDisplayFunc(disp);
glutMainLoop();
return 0;
}