Le rendu est généralement utilisé pour afficher des objets dans la vue 3D principale.
NOTE: Les fonctions de dessin peuvent être appelées uniquement pendant les événements de dessin.
Voir Events.* pour savoir comment enregistrer des callbacks de dessin.
Tacview 1.7.2
Récupérer la largeur de rendu en pixels ou nil en dehors d’un événement de dessin.
Tacview 1.7.2
Récupère la hauteur du moteur de rendu en pixels ou nil en dehors d’un événement de dessin.
Tacview 1.7.3
Tacview 1.7.3
wrapRepeat = doit être défini sur true si vous souhaitez que la texture soit répétée (par défaut = true)
compressed = doit être défini sur true si vous souhaitez que la texture soit compressée (recommandé) (par défaut = true)
Chargez un fichier png ou jpg et compilez-le en tant que texture.
Seuls les formats 24 bits et 32 bits sont pris en charge.
Le format 32 bits peut être utilisé pour dessiner des textures translucides.
Les textures sont directement utilisées par UI.Renderer.CreateRenderState
Les textures sont utilisées indirectement (dans les états de rendu) par UI.Renderer.DrawObjectVertexArray et UI.Renderer.DrawUIVertexArray.
Les textures sont automatiquement déchargées lorsque le module complémentaire est libéré.
Valeur retournée :
Le handle de texture ou nil si le fichier n’a pas été trouvé ou invalide.
Tacview 1.7.2
Tacview 1.7.2
Les tableaux de vertex sont une liste de points 3D utilisés pour afficher des bandes de triangle, qui à leur tour représentent des objets 3D à l’écran.
Les matrices de vertex sont automatiquement libérées lorsque l’addon est déchargé.
Typiquement:
Chaque fois que le tableau de vertex n’est plus requis, vous pouvez libérer la ressource associée en appelant UI.Renderer.ReleaseVertexArray().
vertexArray = { x, y, z, … }
Valeur retournée :
handle (entier) du tableau compilé ou nil si le tableau n’est pas valide.
Tacview 1.7.3
Tacview 1.7.3
Les tableaux de coordonnées de texture sont une liste de coordonnées 2D utilisées pour texturer des bandes de triangle.
Ils sont automatiquement libérés lorsque l’addon est déchargé.
textureCoordinateArray =
{
u, u,
...
}
Valeur retournée :
handle (entier) du tableau compilé ou nil si le tableau n’est pas valide.
Tacview 1.7.2
Tacview 1.7.2
L’état de dessin décrit les constantes qui seront utilisées pour un ou plusieurs appels à dessin.
Généralement utilisé pour spécifier une couleur unique pour un modèle 3D complet, ainsi qu’une liste de textures utilisées lors des opérations de dessin.
Vous pouvez utiliser à tout moment UI.Renderer.ReleaseRenderState() pour libérer la ressource associée à un état de dessin précédemment compilé.
Les états de dessin sont automatiquement libérés lorsque l’addon est déchargé.
renderState =
{
-- Couleur OPTIONNELLE (blanc opaque par défaut)
-- Rouge opaque : 0xff0000ff
-- Vert opaque : 0xff00ff00
-- Bleu opaque : 0xffff0000
[color = 32_bit_rgba_color_code,]
-- Texture OPTIONNELLE chargée avec UI.Renderer.LoadTexture()
[texture = textureHandle,]
-- Mode de fusion OPTIONNELLE (pour les phases de rendu transparentes)
[
blendMode =
Tacview.UI.Renderer.BlendMode.Normal
Tacview.UI.Renderer.BlendMode.Additive
]
}
Valeur retournée :
handle (entier) du tableau compilé ou nil si le tableau n’est pas valide.
Tacview 1.7.2
Tacview 1.7.3
renderStateHandle est un entier précédemment renvoyé par UI.Renderer.CreateRanderState()
vertexArrayHandle est un entier précédemment renvoyé par UI.Renderer.CreateVertexArray()
textureCoordinateArrayHandle est un entier optionnel précédemment renvoyé par UI.Renderer.CreateTextureCoordinateArray()
transform =
{
-- Si la position cartésienne xyz dans l'espace global terrestre n'est pas fournie, elle sera calculée en fonction de la position sphérique (longitude, latitude, altitude).
x = nombre,
y = nombre,
z = nombre,
-- Si la position sphérique n'est pas fournie, elle sera calculée en fonction de la position cartésienne xyz.
longitude = radian,
latitude = radian,
altitude = meters,
-- Infor de rotation optionnelle
roll = radian,
pitch = radian,
yaw = radian,
-- Echelle optionnelle
scale = nombre
}
Dessinez le modèle 3D donné (à partir d’un précédent appel à UI.Renderer.CreateVertexArray) en utilisant l’état donné (à partir d’un précédent appel à UI.Renderer.CreateRenderState) à l’emplacement/la rotation/l’échelle donné(e) dans la vue 3D.
Les tableaux state et vertex doivent être créés uniquement UNE FOIS.
NE re-déclarez PAS l’état et/ou le tableau de vertex à chaque appel de dessin, cela entraînerait une fuite des ressources.
Tacview 1.7.2
Tacview 1.7.3
renderStateHandle est un entier précédemment renvoyé par UI.Renderer.CreateRenderState()
vertexArrayHandle est un entier précédemment renvoyé par UI.Renderer.CreateVertexArray()
textureCoordinateArrayHandle est un entier optionnel précédemment renvoyé par UI.Renderer.CreateTextureCoordinateArray()
transform =
{
-- Coordonnées d'écran obligatoires
x = nombre,
y = nombre,
z = nombre, -- 0 par défaut
-- Orientation optionnelle
roll = radian,
pitch = radian,
yaw = radian,
-- Echelle uniforme optionnelle
scale = number
-- Echelle non uniforme optionnelle
-- Tacview 1.8.0
scaleX = number
scaleY = number
}
Lors du passage de l’interface utilisateur, les coordonnées 2D sont comme en suivant :
UI.Renderer.GetHeight()
^
|transform.Y
|
|
| transform.x
+------------------> UI.Renderer.GetWidth()
0,0
Dessine le modèle 2D / 3D donné (à partir d’un précédent appel à UI.Renderer.CreateVertexArray) en utilisant l’état donné (à partir d’un précédent appel à UI.Renderer.CreateRenderState()) à la position donnée/rotation/échelle par dessus la vue 3D.
Les tableaux state et vertex doivent être créés uniquement UNE FOIS.
NE re-déclarez PAS l’état et/ou le tableau de vertex à chaque appel de dessin, cela entraînerait une fuite des ressources.
Tacview 1.7.2
Tacview 1.7.2
Fonction de haut niveau pour dessiner les parties opaques ou transparentes de l’objet de télémétrie correspondant dans la vue 3D.
Ces fonctions utiliseront automatiquement la forme et la couleur de l’objet actuel pour afficher correctement le modèle 3D dans la vue 3D.
UI.Renderer.DrawOpaqueObject() est généralement appelé dans les rappels Events.DrawOpaqueObjects pour dessiner le corps de l’objet principal.
UI.Renderer.DrawTransparentObject () est généralement appelé dans les rappels Events.DrawTransparentObjects pour dessiner les parties transparentes restantes des objets (par exemple, les aptitudes correctes).
transform =
{
-- Si la position sphérique n'est pas fournie, Tacview utilisera la position cartésienne xyz dans l'espace global terrestre
x = nombre,
y = nombre,
z = nombre,
-- La position sphérique sera utilisée en priorité pour rendre l'objet
longitude = radian,
latitude = radian,
altitude = meters,
-- Info de rotation optionnelle
roll = radian,
pitch = radian,
yaw = radian,
-- Echelle optionnelle
scale = nombre
}
Vous pouvez redimensionner l'objet ou définir l'échelle sur -1 pour une mise à l'échelle automatique (en fonction des paramètres utilisateur)
Vous pouvez forcer la transparence de l'objet ou définir alpha sur -1 pour le mode automatique (selon le statut mort/vivant)
Tacview 1.7.3
Imprimer le texte donné aux coordonnées x, y correspondantes.
Devrait être utilisé uniquement lors d’opérations d’interface utilisateur transparente en 2D.
Vous pouvez définir renderState.blendMode sur Tacview.UI.Renderer.BlendMode.Additive pour afficher le texte de style HUD.
transform =
{
-- Si la position cartésienne xyz dans l'espace global terrestre n'est pas fournie, elle sera calculée en fonction de la position sphérique (longitude, latitude, altitude).
x = nombre,
y = nombre,
-- Echelle optionnelle
scale = nombre
}
Tacview 1.7.6
Utilisez cette fonction pour enregistrer un rappel et ajouter des options au menu contextuel que Tacview affichera par clic droit dans la vue 3D.
Juste avant d’afficher le menu contextuel de la vue 3D, Tacview appellera la fonction suivante pour vous permettre d’ajouter une option personnalisée :
function( contextMenuId , objectHandle )
-- **contextMenuId** (entier) : Id du menu contextuel dans lequel vous pouvez ajouter des options.
-- **objectHandle** (entier) : objet associé au menu contextuel (0 si aucun objet n'est lié au menu)
Utilisez les fonctions UI.Menus avec parentMenuId défini sur contextMenuID pour ajouter vos propres options au menu contextuel en fonction de l’objet sélectionné.
Le menu contextuel est volatile et sera automatiquement détruit dès sa fermeture par l’utilisateur.
Chaque fois que votre rappel est appelé, vos options seront ajoutées à un tout nouveau menu.