J'ai actuellement deux programmes, un programme pour les lignes pleines et les remplissages avec un vertex-shader-for-solides et un fragment-shader-for-solides et un second programme pour les textures avec un vertex-shader-for-textures et un fragment-shader-for-textures. J'échange les deux programmes en utilisant glUseProgram en fonction de ce que je dessine. Est-ce une bonne solution? Ou devrais-je glAttachShader/glDetachShader à partir d'un seul programme?OpenGL ES 2.0 - Programmes ou shaders multiples
1
A
Répondre
2
Certainement, vous utilisez la bonne solution. La liaison d'un programme différent doit être faible. Vous ne voulez évidemment pas le faire plus que nécessaire, comme n'importe quel changement d'état. Par exemple, si vous le pouvez, restituez tout ce qui utilise un programme en premier, puis liez l'autre programme et restituez toutes les primitives qui l'utilisent, ce qui serait préférable à la liaison plus fréquente d'un shader différent. Attacher un shader différent à un programme signifie que vous devrez le relier, ce qui est beaucoup plus cher que de simplement lier un programme différent.
Questions connexes
- 1. Shaders dans OpenGL ES 2.0 pour Android
- 2. Comment visualiser OpenGL ES 2.0 Fragment Shaders
- 3. Comment traiter NaN ou inf dans OpenGL ES 2.0 shaders
- 4. OpenGl ES 2.0 et GLKit: des shaders GLKBaseEffect à OpenGl
- 5. OpenGl es 2.0 GLSL fragmentColor textures multiples
- 6. Android OpenGL ES 2.0 objets multiples
- 7. OpenGL ES Exécuter plusieurs shaders
- 8. Portage Orange Book shaders à OpenGL ES 2.0
- 9. Ligne lisse texturée avec shaders OpenGL ES 2.0
- 10. OpenGL ES 2.0 ne peut pas compiler les shaders Android
- 11. Choisissez OpenGL ES 1.1 ou OpenGL ES 2.0?
- 12. Shaders compatibles OpenGL ES et OpenGL
- 13. OpenGL ES 2.0 rectangle coloré
- 14. Antialiasing dans OpenGL ES 2.0?
- 15. OpenGL es 2.0 couleurs
- 16. OpenGL ES 2.0: glReadPixels() avec des textures float ou half_float
- 17. Android OpenGL-ES-2.0 Cercle ou disque
- 18. Shader plasma OpenGL ES 2.0
- 19. OpenGL ES 2.0 multithreading
- 20. OpenGL 2.0 ES coordonnées
- 21. openGL ES 2.0 hexagone
- 22. Utiliser différents programmes de shaders dans OpenGL?
- 23. OpenGL ES 2.0: sources lumineuses multiples: problème Shader
- 24. Prise en charge d'Android 2.0 et OpenGL ES 2.0
- 25. Moving object Opengl Es 2.0
- 26. GPUImage personnalisés shaders OpenGL ES résultant en image en noir
- 27. OpenGL ES performance 2.0 vs 1.1 (iPad)
- 28. OpenGL ES 2.0 Tampon Configuration
- 29. iPhone iOS 5.0 OpenGl ES 2.0
- 30. iOS - Décodage vidéo avec OpenGL ES 2.0