Material

Inherits: Resource < RefCounted < Object

Inherited By: BaseMaterial3D, CanvasItemMaterial, FogMaterial, PanoramaSkyMaterial, ParticlesMaterial, PhysicalSkyMaterial, PlaceholderMaterial, ProceduralSkyMaterial, ShaderMaterial

Abstract base Resource for coloring and shading geometry.

Description

Material is a base Resource used for coloring and shading geometry. All materials inherit from it and almost all VisualInstance3D derived nodes carry a Material. A few flags and parameters are shared between all material types and are configured here.

Tutorials

Properties

Material

next_pass

int

render_priority

Methods

bool

_can_do_next_pass ( ) virtual const

bool

_can_use_render_priority ( ) virtual const

Mode

_get_shader_mode ( ) virtual const

RID

_get_shader_rid ( ) virtual const

void

inspect_native_shader_code ( )

Constants

  • RENDER_PRIORITY_MAX = 127 --- Maximum value for the render_priority parameter.

  • RENDER_PRIORITY_MIN = -128 --- Minimum value for the render_priority parameter.

Property Descriptions

Setter

set_next_pass(value)

Getter

get_next_pass()

Sets the Material to be used for the next pass. This renders the object again using a different material.

Note: This only applies to StandardMaterial3Ds and ShaderMaterials with type "Spatial".


  • int render_priority

Setter

set_render_priority(value)

Getter

get_render_priority()

Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects.

Note: This only applies to StandardMaterial3Ds and ShaderMaterials with type "Spatial".

Note: This only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority).

Method Descriptions

  • bool _can_do_next_pass ( ) virtual const


  • bool _can_use_render_priority ( ) virtual const


  • Mode _get_shader_mode ( ) virtual const


  • RID _get_shader_rid ( ) virtual const


  • void inspect_native_shader_code ( )