OpenGL/GLSL光纤陀螺应用程序

OpenGL/GLSL光纤陀螺应用程序,opengl,glsl,Opengl,Glsl,我了解简单的GLSL雾着色器是如何工作的,但如何应用它?将其直接应用于地形网格不会产生所需的“雾”结果。如何使用着色器模拟OpenGL的内置雾效果?我能想到的唯一一件事就是将着色器应用到相机周围的一系列封闭球体上,但对于一些雾来说,这似乎是一个很大的工作 更新: 一些图片需要进一步解释 这是我应用于地形网格的着色器,结果不是我想要的: 这就是我希望复制的效果: 必须将雾色和背景色设置为相同。否则,效果看起来很奇怪。雾的作用是使远处的物体“淡入背景”。你的图像的问题是你的背景是明亮的蓝色,好像你

我了解简单的GLSL雾着色器是如何工作的,但如何应用它?将其直接应用于地形网格不会产生所需的“雾”结果。如何使用着色器模拟OpenGL的内置雾效果?我能想到的唯一一件事就是将着色器应用到相机周围的一系列封闭球体上,但对于一些雾来说,这似乎是一个很大的工作

更新: 一些图片需要进一步解释

这是我应用于地形网格的着色器,结果不是我想要的:

这就是我希望复制的效果:


必须将雾色和背景色设置为相同。否则,效果看起来很奇怪。雾的作用是使远处的物体“淡入背景”。你的图像的问题是你的背景是明亮的蓝色,好像你希望它是一个阳光明媚,晴朗的日子。但是场景中的对象正在淡入白色,就好像有非常浓雾一样。我建议你找到一些折衷办法——两者都使用灰蓝色。

半真实大气渲染是一个复杂的问题,许多(正在进行的)研究都致力于此。在你的参考照片中,基本上有三个主要因素可以促成特定的构图:i。雾/霾ii。大气散射iii.高度

简单地说,仅在地形等对象上应用雾是一个固有的缺陷概念,因为雾会遮挡/模糊光的透射率。这包括来自天空的光线。因此,为了覆盖雾被应用到“天空”的场景,需要另一种方法,包括后处理。基本上,每个像素的位置都需要在3d空间中重建,fog算法需要在每个像素上运行


根据具体的艺术风格,这可能足以满足您的需要,但它更复杂。本文档为大气渲染(包括体积雾)提供了一个很好的起点。

它如何不产生所需的结果?你有截图吗?关于你想让它看起来怎么样?格里米,看看我更新的帖子。那么你想要体积雾吗?@格里米,是的,如果这是准确描述我试图实现的目标的话。“简单”雾,顾名思义,是简单的。现实并不简单。