Shader
继承: Resource < RefCounted < Object
派生: VisualShader
用 Godot 着色语言实现的着色器。
描述
用 Godot 着色语言实现的自定义着色器程序,使用 .gdshader
扩展名保存。
这个类由 ShaderMaterial 使用,能够让你编写渲染可视项目或更新粒子信息时的自定义行为。详细解释和用法请参考下列教程链接。
教程
属性
|
方法
get_default_texture_parameter(name: StringName, index: int = 0) const | |
get_mode() const | |
get_shader_uniform_list(get_groups: bool = false) | |
void | set_default_texture_parameter(name: StringName, texture: Texture2D, index: int = 0) |
枚举
enum Mode: 🔗
Mode MODE_SPATIAL = 0
用于绘制所有 3D 对象的模式。
Mode MODE_CANVAS_ITEM = 1
用于绘制所有 2D 对象的模式。
Mode MODE_PARTICLES = 2
用于基于每个粒子计算粒子信息的模式。不用于绘图。
Mode MODE_SKY = 3
用于绘制天空的模式。仅适用于附加到 Sky 对象的着色器。
Mode MODE_FOG = 4
用于设置体积雾效果的颜色和密度的模式。
属性说明
返回用户编写的着色器代码,而不是内部使用的完整生成代码。
方法说明
Texture2D get_default_texture_parameter(name: StringName, index: int = 0) const 🔗
返回被设置为指定参数的默认值的纹理。
注意:name
必须与代码中的 uniform 名称完全匹配。
注意:如果使用采样器数组,则使用 index
访问指定的纹理。
返回着色器的着色器模式。
Array get_shader_uniform_list(get_groups: bool = false) 🔗
获取可以赋值给 ShaderMaterial 的着色器 uniform 列表,可用于 ShaderMaterial.set_shader_parameter 和 ShaderMaterial.get_shader_parameter。返回的参数包含在字典内,与 Object.get_property_list 返回的格式类似。
如果参数 get_groups
为 true,则会提供参数分组提示。
void set_default_texture_parameter(name: StringName, texture: Texture2D, index: int = 0) 🔗
设置要与纹理 uniform 一起使用的默认纹理。如果未在 ShaderMaterial 中设置纹理,则使用该默认值。
注意:name
必须与代码中的 uniform 名称完全匹配。
注意:如果使用采样器数组,则使用 index
访问指定的纹理。