Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Shader

Eredita: Resource < RefCounted < Object

Ereditato da: VisualShader

Uno shader implementato nel linguaggio di shading Godot.

Descrizione

Un programma di shader personalizzato implementato nel linguaggio di shading Godot, salvato con l'estensione .gdshader.

Questa classe è utilizzata da uno ShaderMaterial e consente di scrivere il proprio comportamento personalizzato per il rendering di elementi visivi o l'aggiornamento delle informazioni sulle particelle. Per una spiegazione dettagliata e l'utilizzo, consultare i tutorial collegati di seguito.

Tutorial

Proprietà

String

code

""

Metodi

Texture

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

Mode

get_mode() const

Array

get_shader_uniform_list(get_groups: bool = false)

void

inspect_native_shader_code()

void

set_default_texture_parameter(name: StringName, texture: Texture, index: int = 0)


Enumerazioni

enum Mode: 🔗

Mode MODE_SPATIAL = 0

Modalità utilizzata per disegnare tutti gli oggetti 3D.

Mode MODE_CANVAS_ITEM = 1

Modalità utilizzata per disegnare tutti gli oggetti 2D.

Mode MODE_PARTICLES = 2

Modalità utilizzata per calcolare le informazioni su ciascuna particella individualmente. Non utilizzata per il disegno.

Mode MODE_SKY = 3

Modalità utilizzata per disegnare i cieli. Funziona solo con gli shader assegnati agli oggetti Sky.

Mode MODE_FOG = 4

Modalità utilizzata per impostare il colore e la densità dell'effetto nebbia volumetrica.

Mode MODE_TEXTURE_BLIT = 5

Mode used for drawing to DrawableTexture resources via blit calls.


Descrizioni delle proprietà

String code = "" 🔗

Restituisce il codice dello shader così come è stato scritto dall'utente, non il codice generato completo utilizzato internamente.


Descrizioni dei metodi

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

Restituisce la texture impostata come predefinita per il parametro specificato.

Nota: name deve corrispondere esattamente al nome dell'uniforme nel codice.

Nota: Se viene utilizzato l'array del campionatore, usa index per accedere alla texture specificata.


Mode get_mode() const 🔗

Restituisce la modalità di shader per lo shader.


Array get_shader_uniform_list(get_groups: bool = false) 🔗

Ottiene la lista delle uniformi dello shader che è possibile assegnare a uno ShaderMaterial, per l'uso con ShaderMaterial.set_shader_parameter() e ShaderMaterial.get_shader_parameter(). I parametri restituiti sono contenuti in dizionari in un formato simile a quelli restituiti da Object.get_property_list().

Se l'argomento get_groups è true, saranno fornite indicazioni per il raggruppamento dei parametri.


void inspect_native_shader_code() 🔗

Disponibile solo quando è in esecuzione nell'editor. Apre un popup che visualizza il codice dello shader generato, incluse tutte le varianti e il codice di shader interno. Vedi anche Material.inspect_native_shader_code().


void set_default_texture_parameter(name: StringName, texture: Texture, index: int = 0) 🔗

Imposta la texture predefinita da utilizzare con l'uniforme di texture.

Nota: name deve corrispondere esattamente al nome dell'uniforme nel codice.

Nota: Se viene utilizzato l'array del campionatore, usa index per accedere alla texture specificata.