Shader¶
继承: Resource < RefCounted < Object
派生: VisualShader
以i3D着色语言实现的着色器。
描述¶
以i3D着色语言实现的自定义着色器程序,使用. s3shader扩展名保存。
属性¶
方法¶
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的着色器统一列表,用于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) 🔗
设置要与纹理统一一起使用的默认纹理。如果在ShaderMaterial中未设置纹理,则使用默认值。
注意:name必须与代码中的uniform 名称完全匹配。
注意:如果使用采样器数组,请使用index访问指定的纹理。