| 定数 | 解説 |
|---|---|
| GL_FOG_MODE | フォグの混合要素の計算に使用される等式を指定します パラメータには GL_LINEAR、GL_EXP、GL_EXP2 のいずれかを指定します 初期値は GL_EXP です |
| GL_FOG_DENSITY | フォグの指数方程式に使用するフォグ密度を指定します パラメータには単独の整数、または浮動小数点値を指定します 初期値は 1 です |
| GL_FOG_START | GL_LINEAR で使用する近景位置を指定します パラメータには単独の整数、または浮動小数点値を指定します 初期値は 0 です |
| GL_FOG_END | GL_LINEAR で使用する遠景位置を指定します パラメータには単独の整数、または浮動小数点値を指定します 初期値は 1 です |
| GL_FOG_INDEX | フォグのカラー指標を指定します パラメータには単独の整数、または浮動小数点値を指定します 初期値は 0 です |
| GL_FOG_COLOR | フォグの色を指定します パラメータは 4 つの整数、または浮動小数点値へのポインタを指定します 初期値は (0 , 0 , 0 , 0) です |
#include <windows.h>
#include <GL/gl.h>
#include <GL/glut.h>
void disp( void ) {
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glVertex3f(0 , -0.9 , -2);
glVertex3f(3 , -0.9 , -7);
glVertex3f(0 , 0.9 , -2);
glVertex3f(0 , -0.9 , -2);
glVertex3f(-3 , -0.9 , -7);
glVertex3f(0 , 0.9 , -2);
glEnd();
glFlush();
}
int main(int argc , char ** argv) {
glutInit(&argc , argv);
glutInitWindowSize(400 , 300);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGBA | GLUT_DEPTH);
glutCreateWindow("Kitty on your lap");
glutDisplayFunc(disp);
glMatrixMode(GL_PROJECTION);
glFrustum(1 , -1 , -1 , 1 , 2 , 10);
glEnable(GL_FOG);
glFogi(GL_FOG_MODE , GL_LINEAR);
glFogi(GL_FOG_START , 2);
glFogi(GL_FOG_END , 7);
glutMainLoop();
return 0;
}
