Shader

继承: Resource < RefCounted < Object

派生: VisualShader

以i3D着色语言实现的着色器。

描述

以i3D着色语言实现的自定义着色器程序,使用. s3shader扩展名保存。

属性

方法


枚举

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

模式用于设置体积雾效果的颜色和密度。


属性说明

String code = "" 🔗

返回用户编写的着色器代码,而不是内部使用的完整生成代码。


方法说明

Texture get_default_texture_parameter(name: StringName, index: int = 0) const 🔗

返回为指定参数设置为默认值的纹理。

注意:name必须与代码中的uniform 名称完全匹配。

注意:如果使用采样器数组,请使用index访问指定的纹理。


Mode get_mode() const 🔗

返回着色器的着色器模式。


Array get_shader_uniform_list(get_groups: bool = false) 🔗

返回可以分配给ShaderMaterial的着色器统一列表,用于ShaderMaterial.set_shader_parameter()ShaderMaterial.get_shader_parameter()。返回的参数包含在字典中,格式与Object.get_property_list()返回的格式相似。

如果参数get_groupstrue,则参数分组提示也包含在列表中。


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访问指定的纹理。