OpenGL ES 1.1-水族馆的真实渲染

问题描述 投票:0回答:1

我有一些类似于水族馆的网。我可以移动附有照明灯的视角或照相机。仅前玻璃是完全透明的,应该是屏幕玻璃。

我已经尝试过使用混合器功能glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA)和一些漫反射材质的组合,但是尽管某些逼真的纹理可以帮助改善外观,但它始终看起来像是CAD图,但看起来并不正确。

我可以通过更改glBlendFuncglMaterialfv的所有可能组合来强行获得所需的结果,但是可能要花一些时间。因此,我在这里发布了问题,以查看是否有人完成了这种视觉效果,也对任何帮助或评论表示赞赏。

effect blending opengl-es-1.1
1个回答
1
投票

看起来好像没有任何反射,水和玻璃都会表现出来。在水面上使用镜面反射项可能是可以的,否则,您可能无法添加混合环境贴图。实际上,我会稍微降低水的不透明度,以使边界不那么明显,并让镜面反射显示定义。

如果您在非黑房间以外的其他地方渲染玻璃,玻璃本身也应该具有某种环境反射。同样,简单而巧妙的环境图可能就足够了。

您可能想尝试的其他方法(请记住,您在ES1.1上没有着色器:]

焦散。这些是您在游泳池底部看到的明亮的波浪线,这是由于表面的运动使光沿不同的方向散射所致。您可以伪造具有alpha纹理并围绕顶点摆动的对象。

折射。您可以将水下场景渲染到辅助缓冲区,然后将其用作纹理,使您可以对图像进行某种程度的扭曲/动画处理。鱼缸并没有表现出太多,并且您应该只从顶部看才可以看到它的晃动,但也许会很有趣。

© www.soinside.com 2019 - 2024. All rights reserved.