首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Phong着色中组合材质系数和纹理

在Phong着色中组合材质系数和纹理
EN

Stack Overflow用户
提问于 2018-01-28 23:25:11
回答 1查看 336关注 0票数 0

我正在尝试实现一个简单的Phong着色器,它支持非基于物理的材质和纹理。即使材质对于每个光组件都有一个纹理,我仍然希望相应的材质系数有一些影响。我的疑问是如何处理这两个问题。我应该对它们进行混合、相乘还是求和?现在我已经将它们相乘:

代码语言:javascript
复制
ambient  = material.ambient_color  * light.ambient  * texture_ambient;
diffuse  = material.diffuse_color  * light.diffuse  * diffuse_strength  * texture_diffuse;
specular = material.specular_color * light.specular * specular_strength * texture_specular;

它看起来有点暗,这是结合材料系数和纹理的正确方式吗?

EN

回答 1

Stack Overflow用户

发布于 2018-02-01 19:50:51

这要视情况而定。最终还是要由你来决定。如果太暗了,试试别的。

您只需将材质系数应用于您的纹理。我猜大多数时候都是这样做的。但正如BDL提到的:这不是基于物理的,所以这真的取决于你,没有对或错。

也就是说:如果你想让它保持独立,你可以尝试使用高(呃)材料系数。如果它们只在0.9到1的范围内,它们不会使对象变暗太多。如果它们的范围从0到1,你可以使用smoothstep(0.9, 1, material.coefficient)或类似的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48487933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档