Je charge mes fichiers de modèle 3D et charge leur vertex, texture et normal lors du lancement de l'application dans un thread d'arrière-plan. Ces modèles sont utilisés par 2 GLKViewControllers. Ce que je veux faire est de lier les données aux VBO et de libérer les données. Ensuite, je veux utiliser ces bind à ces VBOs chaque fois que nécessaire afin que je réduise le temps de chargement et de minimiser l'utilisation de la mémoire.Partage de VBO entre plusieurs GLKViewControllers?
0
A
Répondre
0
Il y a plusieurs façons de faire cela, la meilleure étant de créer un graphe de scène complet. Mais l'approche la plus basique serait de créer une classe (appelée, par exemple, 'Mesh') qui stocke vos VBO GLuints comme variables de classe, et qui crée et lie tout sur init.
Ensuite instancier simplement la classe Mesh quelque part qui peut être consulté par les deux contrôleurs de vue, idéalement en utilisant une sorte de wrapper global comme un singleton.
Questions connexes
- 1. Partage de VBO sur plusieurs objets maillés
- 2. Partage de FlowDocuments entre plusieurs RichTextBoxes
- 3. Structure de partage C# entre plusieurs classes
- 4. Partage de DLL entre plusieurs services WCF?
- 5. Partage de données entre plusieurs sites Web
- 6. Eclipse: partage de code entre plusieurs projets
- 7. Partage de vues entre plusieurs contrôleurs
- 8. Partage de routes entre plusieurs préfixes
- 9. Partage de variables entre plusieurs sous-modules
- 10. Partage de cookies entre plusieurs pages?
- 11. Comment rendre plusieurs VBO/IBO?
- 12. Partage config entre plusieurs applications dans codeigniter
- 13. Partage des préférences d'application entre plusieurs projets
- 14. Partage du cache entre plusieurs sites Web
- 15. Core Data - partage NSManagedObjects entre plusieurs threads
- 16. C# app.config partage entre plusieurs projets
- 17. Partage d'un fichier entre plusieurs emplacements
- 18. Partage d'un objet entre plusieurs threads java
- 19. VBO Différences entre OS X et Win7?
- 20. Modules de nœuds de partage entre plusieurs projets ioniques
- 21. Partage de fichiers xml et de données entre plusieurs projets
- 22. Python: Partage des variables de classes entre plusieurs classes
- 23. Hadoop - partage de fichiers entre plusieurs tâches dans une chaîne
- 24. Code de partage entre plusieurs projets Xcode + PhoneGap
- 25. Partage d'une connexion Oracle entre plusieurs gestionnaires de données
- 26. Partage d'une file d'attente de résultats entre plusieurs processus
- 27. vb.net - partage de connexion d'accès mdb entre plusieurs formulaires
- 28. État de partage entre JButtons
- 29. Partage de filtres entre applications
- 30. partage curseur entre Activités
J'ai fait exactement cela, mais l'application se bloque sans aucun rapport d'erreur pour mon application. J'ai un singleton qui init un EAGLContext, le définit comme le contexte actuel et lie les tampons. Le premier contrôleur de vue se charge bien, le second se charge bien aussi .. mais en répétant cela bloque l'application. Je ne libère le contexte nulle part. –
Chargez-vous les deux contrôleurs de vue simultanément? Est-ce que vous allouez/init le contexte dans l'init du singleton? Avez-vous essayé d'effectuer alloc/init du contexte dans un VC, en le passant comme une propriété à un singleton, puis en accédant à cette propriété à partir du second VC? – AlunAlun
Juste essayé, se bloque toujours. Je me demande si cela a à voir avec GCD. Mais j'ai vérifié plusieurs fois pour m'assurer que toutes les commandes OpenGL sont émises dans la file d'attente principale. –