Question

Je sais comment dessiner des objets de base en utilisant JOGL ou LWJGL pour se connecter à OpenGL. Ce que je voudrais, c’est quelque chose qui puisse générer une sorte de géométrie pour les arbres, semblable à celle pour laquelle SpeedTree est célèbre. Évidemment, je ne m'attends pas à la même qualité que SpeedTree.

Je veux que les arbres ne semblent pas répétitifs. La vitesse n'est pas une préoccupation, je ne m'attends pas à avoir besoin de plus de 100 arbres à l'écran à la fois.

Existe-t-il des bibliothèques d'arborescence gratuites disponibles en Java? Ou un exemple de code ou des démos? Y a-t-il quelque chose dans d'autres langues que je pourrais porter ou apprendre?

Autres conseils

Il existe des milliers de méthodes. Une meilleure question définirait le mieux le mieux d'une manière plus confinée. Parlons-nous «mieux» que la vitesse de dessin (convient pour des milliers ou des millions d'arbres)? Meilleur comme plus beau? etc.

2D ou 3D?
En 2D, une méthode courante consiste à utiliser les systèmes L. J'ai également essayé une approche OO, définissant des objets pour le tronc, les branches, les feuilles, tout en étendant une classe abstraite et en implémentant une interface Genotype (pour varier le type d'arbre).
Pas sûr que ce soit efficace (beaucoup d'objets créés, surtout si j'anime l'arbre), mais intéressant à faire.

Voici quelques ressources pouvant vous être utiles:

  • le fil de discussion sur le sujet - contient des informations utiles conseils / suggestions
  • ngPlant - un outil de génération d'installations procédurales à code source ouvert. Il n’est pas écrit en Java, mais vous pourrez peut-être trouver des idées dans ses algorithmes.

Si vous utilisez eclipse / SWT, essayez de dessiner en 2D.

Si vous voulez vraiment obtenir de beaux arbres rapides, il existe une bibliothèque C ++ commerciale SpeedTree . Beaucoup de grands jeux l'utilisent (par exemple, GTA, Elder Scrolls).

Une combinaison d'OpenSceneGraph et de SpeedTree a fonctionné pour moi.

Je connais deux bibliothèques qui permettent l'utilisation d'OpenGl avec Java.

LWJGL (bibliothèque légère de jeux Java), qui est le meilleur en raison de sa simplicité et de sa similitude utiliser opengl avec c / c ++.

JOGL Si vous souhaitez mélanger des composants swing avec opengl, cela peut être le meilleur choix, je Je ne l'ai jamais utilisé, mais il y a plusieurs années, il était connu pour être assez buggy, je ne sais pas s'il a mûri depuis.

En ce qui concerne le dessin des arbres, il existe de nombreuses façons de le faire, comme l’indique l’autre affiche: vous voudrez peut-être être plus précis.

edit: Je suppose que j'ai mal compris un peu la question, ah bon: / Vous pouvez charger un modèle 3D d'arborescence et l'afficher.

http://www.codeplex.com/LTrees contient du code source à ce sujet. c ++ cependant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top