java - openGL 中的雾取决于相机位置

标签 java opengl

我正在尝试使用 OpenGL 制作一个简单的游戏。我已经对 3D 场景进行了建模。现在我想添加一些雾,让它看起来像恐怖的。我使用了下面的代码

gl.glEnable(GL2.GL_FOG);
gl.glFogi(GL2.GL_FOG_MODE,GL2.GL_LINEAR);
gl.glFogi(GL2.GL_FOG_START,(int)1);
gl.glFogi(GL2.GL_FOG_END,(int)5);

但是,这只会创建具有一些随机坐标的静态雾。如何让它依赖于相机的运动?那么玩家只有在设定的距离内才能看得清楚?

最佳答案

您可以在 www.opengl.org 上找到 glFog(以及所有其他 OpenGL 命令,甚至是经典命令)的定义。雾总是根据距眼睛/相机/视点坐标的距离来计算,因此您不需要做任何特殊的事情。

请注意,glFog 是旧的经典 OpenGL API 的一部分,可能无法在现代 3D 系统上可靠地工作。

关于java - openGL 中的雾取决于相机位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49742621/

相关文章:

c++ - OpenGL 程序只显示屏幕后面的内容

opengl - TriangleList 与 TriangleStrip

Java数组特定行的总和

java.lang.ClassCastException : com. sun.proxy.$Proxy29 无法转换为 com.frodo.questionbank.service.impl.QuestionService

java - Eclipse 是否可以自动插入常见类的导入

python - 使用 CUDA 在 python 中展开一个简单的可并行化 for 循环

python - Pyglet OpenGL绘图抗锯齿

java - 这会导致可变参数造成堆污染吗?

java - 如何使用 Java 在 Google App Engine 中发送电子邮件

c++ - 无法编译wxWidget 3.0.5,OpenGL库不可用