Documentation
¶
Overview ¶
A custom shader program implemented in the Godot shading language, saved with the .gdshader extension.
This class is used by a ShaderMaterial and allows you to write your own custom behavior for rendering visual items or updating particle information. For a detailed explanation and usage, please see the tutorials linked below.
Index ¶
- type Advanced
- type Any
- type Expanded
- type Extension
- type ID
- type Instance
- func (self Instance) AsObject() [1]gd.Object
- func (self Instance) AsRefCounted() [1]gd.RefCounted
- func (self Instance) AsResource() Resource.Instance
- func (self Instance) AsShader() Instance
- func (self Instance) Code() string
- func (self Instance) GetDefaultTextureParameter(name string) Texture.Instance
- func (self Instance) GetMode() Mode
- func (self Instance) GetShaderUniformList() []struct{}
- func (self Instance) ID() ID
- func (self Instance) InspectNativeShaderCode()
- func (self Instance) MoreArgs() MoreArgs
- func (self Instance) SetCode(value string)
- func (self Instance) SetDefaultTextureParameter(name string, texture Texture.Instance)
- func (self *Instance) SetObject(obj [1]gd.Object) bool
- func (self Instance) Virtual(name string) reflect.Value
- type Mode
- type MoreArgs
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Advanced ¶
type Advanced = class
Advanced exposes a 1:1 low-level instance of the class, undocumented, for those who know what they are doing.
type Extension ¶
Extension can be embedded in a new struct to create an extension of this class. T should be the type that is embedding this Extension
func (*Extension[T]) AsRefCounted ¶
func (self *Extension[T]) AsRefCounted() [1]gd.RefCounted
func (*Extension[T]) AsResource ¶
type ID ¶
ID is a typed object ID (reference) to an instance of this class, use it to store references to objects with unknown lifetimes, as an ID will not panic on use if the underlying object has been destroyed.
type Instance ¶
Instance of the class with convieniently typed arguments and results.
var Nil Instance
Nil is a nil/null instance of the class. Equivalent to the zero value.
func (Instance) AsRefCounted ¶
func (self Instance) AsRefCounted() [1]gd.RefCounted
func (Instance) AsResource ¶
func (Instance) Code ¶
Returns the shader's code as the user has written it, not the full generated code used internally.
func (Instance) GetDefaultTextureParameter ¶
Returns the texture that is set as default for the specified parameter.
Note: 'name' must match the name of the uniform in the code exactly.
Note: If the sampler array is used use 'index' to access the specified texture.
func (Instance) GetShaderUniformList ¶
func (self Instance) GetShaderUniformList() []struct{}
Returns the list of shader uniforms that can be assigned to a ShaderMaterial, for use with ShaderMaterial.SetShaderParameter and ShaderMaterial.GetShaderParameter. The parameters returned are contained in dictionaries in a similar format to the ones returned by Object.GetPropertyList.
If argument 'get_groups' is true, parameter grouping hints are also included in the list.
func (Instance) InspectNativeShaderCode ¶
func (self Instance) InspectNativeShaderCode()
Only available when running in the editor. Opens a popup that visualizes the generated shader code, including all variants and internal shader code. See also Material.InspectNativeShaderCode.
func (Instance) MoreArgs ¶
MoreArgs enables certain functions to be called with additional 'optional' arguments.
func (Instance) SetDefaultTextureParameter ¶
Sets the default texture to be used with a texture uniform. The default is used if a texture is not set in the ShaderMaterial.
Note: 'name' must match the name of the uniform in the code exactly.
Note: If the sampler array is used use 'index' to access the specified texture.
type Mode ¶
type Mode int //gd:Shader.Mode
const ( // Mode used to draw all 3D objects. ModeSpatial Mode = 0 // Mode used to draw all 2D objects. ModeCanvasItem Mode = 1 // Mode used to calculate particle information on a per-particle basis. Not used for drawing. ModeParticles Mode = 2 // Mode used for drawing skies. Only works with shaders attached to [Sky] objects. // // [Sky]: https://pkg.go.dev/graphics.gd/classdb/Sky ModeSky Mode = 3 // Mode used for setting the color and density of volumetric fog effect. ModeFog Mode = 4 )
type MoreArgs ¶
MoreArgs is a container for Instance functions with additional 'optional' arguments.
func (MoreArgs) GetDefaultTextureParameter ¶
Returns the texture that is set as default for the specified parameter.
Note: 'name' must match the name of the uniform in the code exactly.
Note: If the sampler array is used use 'index' to access the specified texture.
func (MoreArgs) GetShaderUniformList ¶
Returns the list of shader uniforms that can be assigned to a ShaderMaterial, for use with ShaderMaterial.SetShaderParameter and ShaderMaterial.GetShaderParameter. The parameters returned are contained in dictionaries in a similar format to the ones returned by Object.GetPropertyList.
If argument 'get_groups' is true, parameter grouping hints are also included in the list.
func (MoreArgs) SetDefaultTextureParameter ¶
Sets the default texture to be used with a texture uniform. The default is used if a texture is not set in the ShaderMaterial.
Note: 'name' must match the name of the uniform in the code exactly.
Note: If the sampler array is used use 'index' to access the specified texture.