首页 > 解决方案 > 我们可以在着色器中编写自己的采样和包装逻辑吗?可能是什么问题?

问题描述

我想在着色器中做一些想法,这些想法需要我制作一个奇怪的纹理拓扑,例如纹理图集打包。不能用普通的包边方式包边,UV接缝边缘会出现毛刺或渗色

所以我想,如果我只是使用tex2D()tex2Dlod()用于点过滤的纹理查找,然后在着色器本身中重写所有采样和混合逻辑,用自定义包装器查找许多点并将它们与着色器代码混合

是否有可能,这种方法可能存在什么问题或缺点?

标签: unity3dshaderfragment-shadertexture-mappingcg

解决方案


是的,这是可能的并且很常见。您需要在项目中设置纹理资产本身的过滤器和/或环绕模式。(如果使用着色器图,您可以选择在着色器本身内指定自定义样本状态)。您当然可以修改传递给着色器的 UV 坐标,并使用这些修改后的值对纹理进行采样。


推荐阅读