首页 > 解决方案 > 光仅在 2D 网格的一侧反射,在 Qt3D 中禁用剔除

问题描述

作为这个问题的后续问题,我有以下情况:

我有一个 2D 对象(为简单起见,我们说一个平面),我想在 Qt3D 中从两侧渲染。提到的问题为禁用剔除提供了一个惊人的答案,这确实使对象从两侧都可见。然而,我注意到光线只在实体的一侧反射,这使得纯漫反射颜色在未照明的一侧看起来是黑色的。

这是顶视图(如预期的那样): 顶视图

然而,从下面看,网格只是吞噬了所有的光和颜色,看起来是黑色的: 底视图

那么,我怎样才能在两边都有光反射呢?

它应该适用于使用 2D 网格完成的更复杂的 3D 形状,因此我无法创建对象的镜像网格。

注意:在材质中添加 Ambient 组件会使颜色在底视图上有点可见,但由于缺少光反射,它仍然很暗。

标签: c++qtrenderingqt3d

解决方案


推荐阅读