vertex_format_add_custom(type, usage);
| Argument | La description |
|---|---|
| type | Le type de données que ces données de sommet personnalisées vont contenir (voir les constantes de type listées ci-dessous). |
| usage | L'utilisation que les données vont obtenir (voir les constantes d'utilisation énumérées ci-dessous). |
Retours: N / A
Dites à GameMaker Studio 2 d'accepter une valeur personnalisée (ou des valeurs) dans le cadre du nouveau format de vertex en cours de création. Les valeurs disponibles à utiliser sont définies par la constante de type de données que vous choisissez, répertoriée ci-dessous:
| Constant | La description |
|---|---|
| vertex_type_float1 | Une seule valeur en virgule flottante |
| vertex_type_float2 | Deux valeurs à virgule flottante |
| vertex_type_float3 | Trois valeurs à virgule flottante |
| vertex_type_float4 | Quatre valeurs à virgule flottante |
| vertex_type_colour | Quatre valeurs de composantes (r, g, b, a) |
| vertex_type_ubyte4 | Quatre valeurs d'octets non signés (de 0 à 255) |
L'utilisation de ces constantes doit également être définie afin que les valeurs puissent être "liées" correctement dans le shader créé. Ceci est nécessaire en raison du fait que DX et OpenGL ont des exigences différentes, donc si vous ne les liez pas correctement, ils ne seront pas directement dans le shader. Les constantes d'utilisation disponibles que vous pouvez choisir sont listées ci-dessous et celles que vous utiliserez dépendront des spécificités du shader en cours de création:
| Constant | La description |
|---|---|
| vertex_usage_position | valeurs de position (x, y, z) |
| vertex_usage_colour | valeurs de couleur (r, g, b, a) |
| vertex_usage_normal | vertex valeurs normales (nx, ny, nz) |
| vertex_usage_textcoord | Coordonnées UV (u, v) |
| vertex_usage_blendweight | le blendweight de la matrice d'entrée (pour l'animation squelettique, par exemple) |
| vertex_usage_blendindices | les indices des matrices à utiliser (pour l'animation squelettique, par exemple) |
| vertex_usage_depth | valeur du tampon de profondeur du sommet |
| vertex_usage_tangent | valeurs tangentes |
| vertex_usage_binormal | valeurs binormales |
| vertex_usage_fog | valeurs de brouillard |
| vertex_usage_sample | sampler index |
vertex_format_begin();
vertex_format_add_textcoord();
vertex_format_add_custom(vertex_type_float3,
vertex_usage_position);
my_format = vertex_format_end();
Le code ci-dessus va créer un nouveau format de vertex avec juste la texture et 3 valeurs à virgule flottante pour la position. Il stocke ensuite l'identifiant de format dans la variable "my_format".