美文网首页虚幻4UE4(虚幻引擎)
UE4材质是什么样的机制

UE4材质是什么样的机制

作者: 6c9572b658a2 | 来源:发表于2018-09-06 09:12 被阅读2次

    材质的机制

    写材质跟写程序非常不同,因为他们是不同的机制。

    一般情况下,程序代码是顺序执行的,有跳转有循环。

    但是材质不一样。

    材质是并行运算的

    材质是对每个像素(有时是每个顶点)并行运算的。

    一个物体表面有多少像素,这个材质就会被同时执行多少遍。

    材质没有循环

    材质里面没有循环。如果材质里加上循环,可能直接把显卡给烧掉了(哈哈,这里不严谨了~)。

    因为每个像素都要执行一遍,假设材质里有循环,每个循环的次数是100(好像并不太多),那么要执行的指令数是没有循环时的100倍(这里又不太严谨了。。)!

    材质运行时没有分支

    材质中确实可以放bool类型的参数,但是这个参数是Static的。含义就是只能在编辑期修改,运行期不能修改。

    还有switch,也是static的。

    这是官方文档:

    简单来说,编译Shader需要对每一个分支进行编译,如果运行期允许修改,那可能会导致需要编译的Shader太多,出现Shader大爆炸。

    如果你使用过StaticBoolParameter,那你可能会注意到,每次修改这个类型的变量,都会导致重新编译。

    理解这些,对你写材质有帮助。


    原文地址:原文地址

    本文首发于翰者学堂

    相关文章

      网友评论

        本文标题:UE4材质是什么样的机制

        本文链接:https://www.haomeiwen.com/subject/jtytgftx.html