节点图连好后查看生成的HLSL代码:material editor>window>shader code>HLSL code。
// Copyright 1998-2018 Epic Games, Inc. All Rights Reserved.
/*MaterialTemplate.usf: Filled in by FHLSLMaterialTranslator::GetMaterialShaderCode for each material being compiled.*/对于每个材质,HLSLMaterialTranslator会把节点图的信息转化为函数填入模板文件Engine\Shaders\Private\MaterialTemplate.usf,生成一个包含自定义信息的shader template,用来生成最终的shader文件。如果在MaterialTemplate.usf加入了自定义函数,custom node就可调用该函数。修改Engine\Source\Runtime\Private\Materials\HLSLMaterialTranslator.h也会影响所有shader template。
B区域 输出节点的Shading Model
YivanLee:虚幻4渲染编程(材质编辑器篇)【第二卷:自定义光照模型】
[UE4] Adding a custom shading model (Part I)
reference