Ash*_*ary 1 opengl transparency
Dunno如何表达我的困惑,但这就是我的想法:一个透明(或半透明)边的立方体不是一个坚固的(填充的,填充的)立方体.它更像是一个空的玻璃立方体.现在我想要的是一个坚固的填充玻璃立方体.就像一个水晶球,但立方体形状.它们背后的东西看起来有所不同.我如何告诉OpenGL我的几何体被塞满了?我如何实现从一层非常厚的玻璃后面看一些场景的效果?
正确的术语是"坚实的".而你的问题是一个非常重要的问题,并没有简单的原位解决方法.对于简单的假折射而言,最好的方法是渲染一个立方体贴图,其原点位于对齐体积中心的对象上,并使用该立方体贴图将对象法线缩放为纹理坐标.如果您希望它看起来更准确,您需要了解光物质相互作用.重新创建光物质相互作用效果的唯一完美准确的方法是通过光线追踪(如果使用差分光线元素,可以称之为光子映射).
如果要实时渲染结果,使用OpenGL可以得到粗略的近似值.
渲染半透明实体需要以某种方式类似于光学效应
在大多数情况下,足以伪造折射和吸收.玻璃可以非常有效地呈现.渲染折射吸收固体有3个重要变量:
有几种方法可以获得这些:
那么如何在OpenGL中实现它呢?我担心Stackoverflow上的答案将无法覆盖它,除非它成长为一张完全成熟的论文.因此,我将向您介绍GPU Gems 2的第19章,其中涵盖了基础知识http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter19.html
| 归档时间: |
|
| 查看次数: |
1371 次 |
| 最近记录: |