J'ai une application openGL (JOGL, mais les mêmes concepts s'appliquent ici) où j'ai une scène qui rend environ 10k triangles sur chaque passe de rendu. L'échelle et l'angle des triangles doivent être calculés sur chaque rendu puisque les triangles doivent rester à une taille et une rotation constantes par rapport à l'emplacement de la caméra.Java OpenGL rendant plusieurs triangles
J'ai essayé d'utiliser une liste d'affichage, puis d'effectuer une mise à l'échelle/une rotation avant chaque appel à glCallList
. Cela fonctionne, mais cela amène le système à une exploration. J'ai cherché dans l'utilisation de tampons de vertex pour cela, mais je ne suis pas sûr que ce soit la manière appropriée de le faire puisque j'ai besoin de tourner/mettre à l'échelle sur chaque rendu. Est-ce que quelqu'un peut m'aider dans la bonne direction pour rendre autant de triangles dans chaque scène?
EDIT - Cela fournit un contexte supplémentaire au problème.
L'application est une application cartographique montrant une vue 3D du monde. Il y a certaines formes qui doivent être dessinées sur la surface pointant dans une direction par rapport à une boussole, c'est-à-dire à 30 degrés. L'utilisateur peut faire pivoter la vue 3D, mais les formes doivent rester à plat sur la surface de la terre et également pointer dans la direction spécifiée.
, merci Jeff
Donc les objets sont: a) identiques, et b) tournés par rapport à la boussole, de sorte qu'ils tournent exactement de la même manière que le monde lorsque l'utilisateur tourne la vue (plus un peu de leur propre rotation constante)? Aussi, quelle version d'OpenGL utilisez-vous? – Kos
Ce sont les mêmes objets, oui. Ils ne tournent pas exactement de la même manière que le monde car ils doivent tourner pour être à plat sur la surface de la Terre. J'utilise JOGL 2.0. –