J'utilise GLFW pour créer un contexte OpenGL et capturer l'entrée de l'utilisateur et je voulais capturer des actions d'entrée entières à partir d'un autre thread que le contexte OpenGL a été initialement créé. Suis-je capable de réaliser cela en utilisant GLFW, SDL ou une bibliothèque similaire ou ai-je besoin, par exemple, d'utiliser un libraray différent pour chaque tâche? Et si oui, quelle bibliothèque recommanderiez-vous pour capturer l'entrée? (Il doit être multi-plateforme). Merci d'avance.Jouer avec OpenGL et entrer des threads séparés
Répondre
GLFW a une bonne API d'entrée et vous n'avez pas vraiment besoin de traiter l'entrée dans un thread séparé. Si votre framerate est suffisamment élevé, vérifier l'entrée une fois par image devrait être suffisant (si vos images prennent quelques secondes à rendre, ce n'est peut-être pas le cas).
Mettre une entrée sur un thread séparé n'est certainement pas pour l'optimisation des performances. :) Comme je me suis rapproché du problème, j'ai réalisé que ce n'était pas une bonne idée de le faire. – erjot
OpenGL et les threads ne se mélangent pas très bien. Si vous avez vraiment besoin de plus de threads, le mieux serait d'envoyer des messages (contenant des informations d'entrée utilisateur) du thread opengl au thread où vous faites quelque chose avec cette information.
Comment pouvez-vous capturer des données d'entrée avec OpenGL? – erjot
Je sais comment le faire pour GLUT. Pour la surabondance, vous devez utiliser les fonctions glutMouseFunc et glutKeyboardFunc, et enregistrer toutes les coordonnées des clics de souris et de tous les types d'utilisation sur le clavier. –
Utilisez-vous réellement plusieurs plates-formes dans votre développement? – MSN
Yup, travaillant sur Windows à l'école et sur Linux à la maison. Il fonctionne principalement sous Windows, mais en raison de la nature académique de ce projet, il fonctionnera également sous Linux. :) – erjot