Une primitive est un type de dessin effectué à l'aide de points pour définir ce qui est affiché à l'écran. Ils peuvent être constitués de points uniques, de lignes ou de triangles et peuvent être colorés, avoir un alpha-blending et même recevoir une texture, ce qui signifie qu'ils peuvent être utilisés pour créer des effets très excitants dans un jeu en 2D! Par exemple, vous pouvez créer un rectangle en utilisant plusieurs primitives triangulaires, puis le texturer avec un sprite d'indicateur et dans l'événement draw d'une instance avoir ce drapeau "wave" dans le vent et déformer le sprite que vous avez utilisé en modifiant simplement les points qui forment le primitif.
Vous trouverez des informations sur les primitives de dessin sur les pages suivantes:
GameMaker Studio 2 vous permet de définir vos propres formats de sommet à partir desquels vous pouvez créer vos propres primitives personnalisées. Cela peut grandement accélérer les opérations de shader ou peut être utilisé pour étendre leurs capacités et créer des effets surprenants. Vous pouvez trouver des informations à ce sujet dans les sections suivantes:
- vertex_format_begin
- vertex_format_add_colour
- vertex_format_add_position
- vertex_format_add_position_3d
- vertex_format_add_textcoord
- vertex_format_add_normal
- vertex_format_add_custom
- vertex_format_end
- vertex_format_delete
Pour un aperçu de la façon de créer des formats de vertex en utilisant les fonctions ci-dessus, voir:
Une fois que vous avez créé votre format de vertex (voir la section ci-dessus), vous pouvez l'utiliser pour créer les primitives que vous voulez dessiner en utilisant les fonctions suivantes:
- vertex_create_buffer
- vertex_create_buffer_ext
- vertex_create_buffer_from_buffer
- vertex_create_buffer_from_buffer_ext
- vertex_get_buffer_size
- vertex_get_number
- vertex_delete_buffer
- vertex_begin
- vertex_colour
- vertex_normal
- vertex_position
- vertex_position_3d
- vertex_argb
- vertex_texcoord
- vertex_float1
- vertex_float2
- vertex_float3
- vertex_float4
- vertex_ubyte4
- vertex_end
- vertex_freeze
- vertex_submit
Pour une vue d'ensemble de la création de primitives à l'aide des fonctions de vertex, voir: