Shader

Inherits: Resource < Reference < Object

Inherited By: VisualShader

自定义着色器程序。

描述

此类允许您定义一个 ShaderMaterial 可以使用的自定义着色器程序。着色器允许您编写自己的自定义行为来渲染对象或更新粒子信息。有关详细说明和用法,请参阅下面链接的教程。

教程

属性

String

code

“”

String

custom_defines

“”

方法

Texture

get_default_texture_param ( String param ) const

Mode

get_mode ( ) const

bool

has_param ( String name ) const

void

set_default_texture_param ( String param, Texture texture )

枚举

enum Mode:

  • MODE_SPATIAL = 0 —- 用于绘制所有 3D 对象的模式。

  • MODE_CANVAS_ITEM = 1 —- 用于绘制所有 2D 对象的模式。

  • MODE_PARTICLES = 2 —- 用于基于每个粒子计算粒子信息的模式。不用于绘图。

属性说明

Default

“”

Setter

set_code(value)

Getter

get_code()

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


Default

“”

Setter

set_custom_defines(value)

Getter

get_custom_defines()

返回该着色器的自定义。自定义可以在Godot中用于添加着色器逻辑所需的GLSL预处理指令(例如:扩展)。

注意: 自定义没有经过Godot着色器解析器的验证,所以使用时要注意。

方法说明

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

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


  • Mode get_mode ( ) const

返回着色器的着色器模式,MODE_CANVAS_ITEMMODE_SPATIALMODE_PARTICLES


如果着色器在其代码中把这个参数定义为uniform,则返回true

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


  • void set_default_texture_param ( String param, Texture texture )

设置默认纹理,以用于纹理 uniform。如果 ShaderMaterial 中没有设置纹理,则使用默认值。

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