【UE4 材质编辑篇】1.0 shader编译逻辑

UE4新手,学起来()文章仅记录自己的思考。

参考:虚幻4渲染编程(材质编辑器篇)【第一卷:开篇基础】 - 知乎 (zhihu.com)


开篇基础就摸不着头脑,原因是此前完全没有摸过UE4,一点一点记录吧:

每个连连看都会编译节点后生成一个ShaderTemplate,

但是这篇文章之后的部分,我看的有点稀里糊涂的。

于是看了另一篇关于shader编译的文章:UE4 HLSL 和 Shader 开发指南和技巧 - 知乎 (zhihu.com)

蓝图里的Custom节点,其实就是自定义的一些函数,然后引擎帮你在编译shader的时候生成一个个完整的函数,比如我在UE4.3下一个默认的材质里加入一个简单的return 1的Custom节点:

我们window->HLSL code查看一下这个材质编译出来的code:

我们用VS Code打开,搜索return 1,可以定位到这一段:

没错!这就是我们刚刚加入的简单的Custom函数,并且后面还被用上了:

但还是只有自己动手才能发现,自定义的Custom只有参数遇到输出,才会被编译进HLSL code里:

这种情况下,HLSL Code里不再有我们定义的函数了。不仅仅是Custom,任何没参与的节点都不会被编译。

这下可算搞明白了ShaderTemplete的关系。

相关推荐
二狗哈5 天前
Cesium快速入门21:Primitive材质类型与设置
3d·webgl·材质·cesium·地图可视化
二狗哈5 天前
Cesium快速入门18:Entity材质设置
3d·webgl·材质·cesium·地图可视化
二狗哈6 天前
Cesium快速入门19:Entity折线材质
3d·webgl·材质·cesium·地图可视化
老贾专利烩7 天前
按摩突起结构优化:颈椎枕材质硬度与颈肩按压舒适度验证
材质·创新专利
广州明周科技8 天前
Revit 200+新功能之“类型材质批量修改”,类型材质参数族属性批量更新
ai·材质·建筑·bim·revit二次开发·revit·deepseek
在下胡三汉9 天前
glTF PBR材质 / 3ds Max设置导入导出glb/gltf
3d·材质
Kin__Zhang11 天前
随手记录 UE4/CARLA 仿真器 segmentation fault
android·java·ue4
oil欧哟11 天前
产品图质感提升指南:光影、材质、构图的底层逻辑与 AI 优化方案
人工智能·ai作画·材质·opencreator
小江村儿的文杰11 天前
UE4在MacOS上将Commit.gitdeps.xml设为Git LFS文件的潜在弊端
xml·ue4
傣味洋芋12 天前
cesium(四):Material及MaterialProperty 设置材质
材质·cesium