ShaderAsset
Ploy3D / ShaderAsset
Interface: ShaderAsset
着色器预制资产。
Table of contents
Properties
Properties
filtering
• Optional
filtering: number
渲染标志过滤设置,将过滤着色器永远不会用到的标志,可以显著减少分支数量。
instance
• Optional
instance: number
着色器实例ID(着色器资产装载后生成)。
name
• name: string
唯一名称。
pass
• pass: Record
<string
, ShaderPass
[]>
通道集,为多个渲染通道提供不同着色器,每个渲染通道可以执行多个着色器通道(用于实现植物生长效果)。
properties
• properties: Record
<string
, [string
, string
, number
[]]>
属性声明,如果期望材质属性能在不同着色器间正确转移,请使用标准PBR属性名称: baseColor:非金属表面的漫反射反照率,金属表面的镜面反射颜色; metallic:金属度,通常取值0表示非金属或1表示金属; roughness:粗糙度,值越大,反射波瓣越大,表面越粗糙; reflectance:反射系数,菲涅尔基础反射率(正常入射时),控制反射强度; emissiveColor:自发光颜色。追加漫反射反照率模拟表面自发光(比如霓虹灯),通常结合HDR管线中的BLOOM通道使用; emissiveIntensity:自发光颜色强度; 在代码自动补全功能中,如果发现着色器定义了以上属性,则用属性值初始化材质,否则使用默认值; 如果定义了PBR属性贴图,优先从贴图采样获取属性值: baseTex:baseColor属性贴图; metallicTex:metallic属性贴图; roughnessTex:roughness属性贴图; emissiveTex:emissiveColor属性贴图; 另外可以定义以下细节贴图: normalTex:法线贴图; light_aoTex:环境光遮蔽贴图;