OPENGL里雾的使用,求指导,该如何解决
OPENGL里雾的使用,求指导
我在我的程序里添加了如下代码
static GLint fogMode;
glEnable(GL_FOG);
{
GLfloat fogColor[4] = {0.8, 1.0, 0.6, 1.0};
fogMode = GL_EXP;
glFogi (GL_FOG_MODE, GL_LINEAR);
glFogfv (GL_FOG_COLOR, fogColor);
//glFogf (GL_FOG_DENSITY, 0.35);
//glHint (GL_FOG_HINT, GL_DONT_CARE);
glFogf (GL_FOG_START, 0.5);
glFogf (GL_FOG_END, 2.0);
}
结果我创建的几个模型表面上都有了雾的颜色,但是我愿本的意思是想让空间里充满雾的效果,求指导!
------解决方案--------------------
在代码大括号"}"外面添加:
glClearColor(0.8, 1.0, 0.6, 1.0); /* fog color */
即:
我在我的程序里添加了如下代码
static GLint fogMode;
glEnable(GL_FOG);
{
GLfloat fogColor[4] = {0.8, 1.0, 0.6, 1.0};
fogMode = GL_EXP;
glFogi (GL_FOG_MODE, GL_LINEAR);
glFogfv (GL_FOG_COLOR, fogColor);
//glFogf (GL_FOG_DENSITY, 0.35);
//glHint (GL_FOG_HINT, GL_DONT_CARE);
glFogf (GL_FOG_START, 0.5);
glFogf (GL_FOG_END, 2.0);
}
结果我创建的几个模型表面上都有了雾的颜色,但是我愿本的意思是想让空间里充满雾的效果,求指导!
------解决方案--------------------
在代码大括号"}"外面添加:
glClearColor(0.8, 1.0, 0.6, 1.0); /* fog color */
即:
- C/C++ code
static GLint fogMode; glEnable(GL_FOG); { GLfloat fogColor[4] = {0.8, 1.0, 0.6, 1.0}; fogMode = GL_EXP; glFogi (GL_FOG_MODE, GL_LINEAR); glFogfv (GL_FOG_COLOR, fogColor); //glFogf (GL_FOG_DENSITY, 0.35); //glHint (GL_FOG_HINT, GL_DONT_CARE); glFogf (GL_FOG_START, 0.5); glFogf (GL_FOG_END, 2.0); } glClearColor(0.8, 1.0, 0.6, 1.0); /* fog color */