我正在尝试制作一个插件,该插件采用选定的着色器并从选定的类型(从所有着色器的列表中)创建另一个。
创建一个新的着色器并命名它并在对象上替换它不是问题,但我也在尝试重新连接它的所有属性,我遇到了一个真正的问题。
如果源着色器是 aPhong
并且目标类型是Blinn
重新连接它们的所有公共属性没有问题(我在循环中列出了我的目标着色器的所有属性,我将它们全部比较并尝试连接如果有类似那些)。
Blinn
并且Phong
凹凸属性被命名为: .normalCamera
。
但我的问题是:
对于 a
PxrDisney
,例如,bump 属性被命名为:.bumpNormal
。对于 a
PxLMPlastic
,凹凸被命名为:.diffuseNn
。
关于如何绕过这个问题的一些想法?