Constantes de shader

Cette section répertorie les constantes spécifiques à GameMaker Studio 2 utilisées pour créer des shaders.

Outre les fonctions de shader et les constantes définies dans les pages de référence du langage GLOB ES (OpenGL ES Shading Language), vous disposez également d'un certain nombre de constantes de shader propres à GameMaker Studio 2.

Matrices

Les constantes de matrice d'affichage suivantes peuvent être utilisées comme indices de tableau lors de l'utilisation de la constante du tableau de shaders gm_Matrices:

Constant La description
MATRIX_VIEW Cette constante d'index de tableau conserve l'index dans la matrice de vue actuelle. L'index retourné serait utilisé comme une valeur de tableau lors de l'appel du gm_Matrices constante dans le code du shader.
MATRIX_PROJECTION Cette constante d'index de tableau maintient l'index dans la matrice de projection courante. L'index retourné serait utilisé comme une valeur de tableau lors de l'appel du gm_Matrices constante dans le code du shader.
MATRIX_WORLD Cette constante d'index de tableau contient l'index de la matrice du monde en cours. Cela peut être utilisé pour des choses comme l'éclairage si vous avez des informations légères dans l'espace-monde. L'index retourné serait utilisé comme une valeur de tableau lors de l'appel du gm_Matrices constante dans le code du shader.
MATRIX_WORLD_VIEW Cette constante d'index de tableau maintient l'indice au résultat du monde et les matrices de vue sont multipliées ensemble. Ceci est souvent utilisé pour des choses comme le brouillard. L'index retourné serait utilisé comme une valeur de tableau lors de l'appel du gm_Matrices constante dans le code du shader.
MATRIX_WORLD_VIEW_PROJECTION Cette constante d'index de tableau maintient l'index au résultat des matrices de monde, de vue et de projection multipliées ensemble. C'est la matrice de transformation normale utilisée pour les positions de vertex. L'index retourné serait utilisé comme une valeur de tableau lors de l'appel du gm_Matrices constante dans le code du shader.
MATRIX_MAX Ce n'est pas un index de tableau, mais plutôt la taille du tableau matriciel dans le vertex shader.
MAX_VS_LIGHTS Ce n'est pas un index de tableau, mais plutôt le nombre de lumières dans le vertex shader.

Autres constantes

Les uniformes et les constantes de matrice prédéfinis suivants peuvent être utilisés dans votre shader pour accéder aux valeurs spécifiques de GameMaker Studio 2:

Constant La description
gm_Matrices[matrix] Cette constante tableau renvoie une matrice de transformation et est l'un des uniformes prédéfinis disponibles que GameMaker Studio 2 crée pour vous permettre d'utiliser l'éditeur de code de shader. L'index du tableau est choisi parmi l'une des constantes listées ci-dessus.
gm_BaseTexture Ceci est une constante de l'échantillonneur 2D qui renvoie la texture de l'objet actuel, tel que défini par GameMaker Studio 2. Il s'agirait donc de l'image-objet, de la surface ou de la texture courante qui serait normalement utilisée lors du dessin sans que le shader ne soit appelé.
gm_LightingEnabled Ceci peut être utilisé pour obtenir ou définir l'éclairage de GameMaker Studio 2 lors de l'utilisation de la 3D.
gm_FogStart Ceci peut être utilisé pour obtenir la distance où les polygones commencent à être mélangés avec la couleur du brouillard.
gm_RcpFogRange Cela peut être utilisé pour obtenir la distance à laquelle le brouillard est maximal et rien ne peut plus être vu.
gm_PS_FogEnabled Cela reviendra true ou false si le GPU est activé ou non.
gm_FogColour Ceci peut être utilisé pour obtenir la couleur de brouillard utilisée par GameMaker Studio 2.
gm_VS_FogEnabled Cela reviendra true ou false si le GPU a vertex fog activé ou non.
gm_AlphaTestEnabled Cela peut être utilisé pour obtenir des tests alpha dans le shader. Voir gpu_set_alphatestenable pour plus d'informations sur les tests alpha.
gm_AlphaRefValue Cela peut être utilisé pour obtenir la valeur de référence du test alpha en cours. Voir gpu_set_alphatestref pour plus d'informations sur la référence du test alpha.


Dos: Shaders
© Copyright YoYo Games Ltd. 2017 Tous droits réservés