Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
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 |
|
void |
set_default_texture_parameter(name: StringName, texture: Texture, 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
用于设置体积雾效果的颜色和密度的模式。
属性说明
返回用户编写的着色器代码,而不是内部使用的完整生成代码。
方法说明
Texture 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 inspect_native_shader_code() 🔗
仅在编辑器中运行时可用。打开一个弹出窗口,其中可视化生成的着色器代码,包括所有变体和内部着色器代码。另见 Material.inspect_native_shader_code()。
void set_default_texture_parameter(name: StringName, texture: Texture, index: int = 0) 🔗
设置要与纹理 uniform 一起使用的默认纹理。如果未在 ShaderMaterial 中设置纹理,则使用该默认值。
注意:name
必须与代码中的 uniform 名称完全匹配。
注意:如果使用采样器数组,则使用 index
访问指定的纹理。