J'essaie de rendre des effets de particules sous Android en utilisant OpenGL. Chaque particule sera un quad texturé avec panneau d'affichage et chaque particule est rendue avec une rotation (c'est-à-dire autour de l'axe z). Je suis limité à l'utilisation d'OpenGL ES 1.1, donc les sprites de points et les pixels shaders ne sont pas une option. Qu'est-ce qu'une manière rapide de rendre et de mettre à jour les positions de nombreuses particules (par exemple 100 à 5000)? Je sais que l'utilisation d'un appel de dessin OpenGL pour chaque particule va être très lente, mais je suis confus sur la façon d'utiliser des choses comme les VBO quand j'ai besoin de mettre à jour mes positions de particules à chaque image.Dessiner rapidement de nombreuses particules texturées dans OpenGL ES 1.1
1
A
Répondre
1
Idée aléatoire. Peut ou peut ne pas bien fonctionner. Utilisez un appel de dessin, ou au moins des particules de lot dans des groupes (disons, 32 par groupe). Vous pouvez construire chaque groupe par image sur le CPU, puis l'envoyer. Construisez simplement un grand tableau avec GL_TRIANGLE_FAN (IIRC vous un fan de "terminer" en ajoutant deux fois le même sommet).
L'un des défis, je crois, est de créer ce tampon. Est-ce Java ou JNI? Utilisez-vous un tampon java.nio? D'après ce que j'ai lu dans les forums, la modification de ces tampons en Java peut être terriblement lente. (Btw - Je ne suis pas si familier avec la gestion de tampon interne sur Android, vous pouvez ou ne pas besoin de double-buffer les.)
Questions connexes
- 1. Dessiner une flèche dans opengl ES
- 2. OpenGL ES 1.1 signalant l'erreur 0x0500
- 3. OpenGL ES - Comment dessiner un polygone rempli?
- 4. Comment dessiner un rectangle de couleur dans OpenGL ES?
- 5. Comment implémenter l'effet de surface océanique avec OpenGL ES 1.1?
- 6. Rotation d'image OpenGL ES 1.1 à partir de son centre
- 7. Spinning globe dans Opengl-es
- 8. OpenGL ES 1.1: Comment changer la couleur de la texture sans perdre de luminance?
- 9. Aide pour dessiner une sphère dans OpenGL ES
- 10. Grand fond de défilement dans OpenGL ES
- 11. Comment dois-je structurer mon jeu iPhone OpenGL ES 1.1?
- 12. OpenGL ES iPhone Textures
- 13. comment spécifier les coordonnées de texture de sprite point dans OpenGL ES 1.1?
- 14. glBindTexture Problème avec OpenGL ES sur iPhone
- 15. Comment dessiner un cercle anti-aliasé avec l'iPhone OpenGL ES
- 16. Dessiner un tissu ou des surfaces en openGL ES?
- 17. OpenGL 2.0 ES coordonnées
- 18. OpenGL à OpenGL-ES - glBegin();
- 19. Cercle et Sphère dans OpenGL ES
- 20. Points texturés dans OpenGL ES 2.0?
- 21. Gomme dans OpenGL ES iPhone
- 22. Transformations vectorielles dans OpenGL ES
- 23. Spinning globe dans Opengl-es
- 24. OpenGL ES: Est-il plus efficace d'allumer et d'éteindre les lumières ou d'attribuer simplement l'émissivité à mes particules?
- 25. système de particules: génération de particules
- 26. Skybox OpenGL ES iPhone et iPad
- 27. OpenGl ES scrollable ListBox problème de clipping
- 28. OpenGL ES profondeur tampon
- 29. OpenGL ES 2.0 multithreading
- 30. Fonction OpenGL ES
Attention avec VBO - de nombreux téléphones, même le Droid d'origine, ne prennent pas nécessairement en charge leur. – EboMike
Vraiment? J'utilise les VBO sur un Milestone en ce moment. Je pensais que les VBO étaient nécessaires pour le support OpenGL 1.1? N'est-il pas vraiment impossible d'obtenir des performances OpenGL rapides si vous avez beaucoup d'objets dynamiques et pas de VBO? – RichardNewton
Découvrez cette question: http://stackoverflow.com/questions/2093594/opengl-extensions-available-on-different-android-devices. Le Droid ne liste pas GL_ARB_vertex_buffer_object. La chose amusante est la réponse de Lance Nanek où il souligne que cela semble être un problème dans le rapport de capacité, puisque le Droid devrait avoir VBO (que vous venez de confirmer). – EboMike