返回介绍

透明高光

发布于 2021-06-20 00:15:06 字数 1078 浏览 916 评论 0 收藏 0

使用此着色器的一个注意事项是基础 (Base) 纹理的 alpha 通道定义了透明 (Transparent) 区域和高光贴图 (Specular Map)。

透明属性

此着色器可通过读取主纹理的 alpha 通道使网格几何结构部分透明或全部透明。在 alpha 中,0(黑)表示完全透明,而 255(白)则表示完全不透明。如果主纹理没有 alpha 通道,则该物体看起来完全不透明。

在游戏中使用透明物体会比较麻烦,因为游戏中存在可以产生排序问题的传统图形编程问题。例如,如果同时透过两个窗口查看时发现奇怪的现象,则您遇到了使用透明度的经典问题。一般方法是要注意到一个透明物体可能以不寻常的方式绘制在另一个透明物体前面的情况,特别是在物体交叉、互为包含或者尺寸有着很大差异的情况下。因此,需要时应使用透明物体,且尝试不让它们变得过大。您还应告知设计师可能会出现此类排序问题,让他们准备在设计上做出适当更改以解决这些问题。

高光属性

与漫反射 (Diffuse) 一样,高光也计算简单的 (Lambertian) 光照,并附加一个依赖于观察者的高光亮点。这个称为 Blinn-Phong 光照模型。其具有取决于面角、光角和观察角的高光亮点。该亮点实际上只是对光源模糊反射的实时适宜模拟。亮点的模糊层次由检视器 (Inspector) 中的反光 (Shininess) 滑块控制。

此外,主纹理的 alpha 通道用作高光贴图 (Specular Map)(有时称为“光泽贴图”),用于定义对象哪些区域的反射性更强。Alpha 的黑色区域是零高光反射区域,而白色区域是全高光反射区域。这在您希望对象的不同区域反射不同级别的高光时非常有用。例如,生锈的金属使用弱高光,而抛光金属使用强高光。唇膏的高光强于皮肤,而皮肤的高光又强于棉质衣物。精致的高光贴图 (Specular Map) 可以给玩家留下一个截然不同的印象。

性能

一般而言,此着色器消耗的渲染资源较多。有关更多详细信息,请查看着色器性能页面

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文