J'ai récemment commencé un projet, la construction d'un moteur physique. J'espérais que vous pourriez me donner quelques conseils concernant une certaine documentation et / ou les meilleures technologies pour cela.
Tout d'abord, j'ai vu que Game-Physics-Engine-Development est fortement recommandé pour la tâche à accomplir, et je me demandais si vous pouviez me donner un deuxième avis. De plus, en parcourant Amazon, je suis tombé sur Game Engine Architecture et comme je veux construire mon moteur physique pour les jeux, j'ai pensé que cela pourrait aussi être une bonne lecture.
Deuxièmement, je sais que la simulation de la physique est très exigeante en calcul, donc je voudrais utiliser CUDA ou OpenCL. Maintenant, je penche vers OpenCL, car cela fonctionnerait à la fois sur les chipsets NVIDIA et ATI.
PS: je vais l'implémenter en C ++ sur Linux.
la source
Maik a raison, les articles de Baraff sont un excellent début, mais n'oubliez pas l'article de Chris Heckers sur la dynamique du corps rigide: http://chrishecker.com/Rigid_Body_Dynamics !
De même, son conseil sur "[..] vous allez jeter votre moteur" est tout à fait vrai. Mais vous apprendrez beaucoup!
En ce qui concerne la partie CUDA / OpenCL de votre question: Si vous connaissez CUDA, le passage à OpenCL devient très facile. Je recommanderais d'abord d'apprendre CUDA, car il existe de nombreux bons tutoriels, des exemples de code et des bibliothèques de calcul. Par exemple:
Mais soyez conscient: Commencer sur CUDA est facile, se lancer dans la simulation physique est un peu plus difficile, mais combiner les deux est tout un défi!
la source
J'ai aussi commencé avec Baraff mais c'est un peu daté maintenant. Ce dont vous avez besoin, ce sont des solveurs itératifs et la meilleure imo sur papier à ce sujet est la dyanmique itérative d' Erin Catto . Vous avez tout ce dont vous avez besoin pour implémenter votre moteur physique. Vous pouvez creuser un peu dans la thèse de doctorat d'Erleben si vous avez besoin de plus de détails (comme les articulations et plus de trucs mathématiques), mais c'est à peu près tout. J'aurais aimé l'avoir trouvé depuis le début - parcourez un peu le forum Bullet, il y a beaucoup d'informations là-dedans (peut-être trop).
En ce qui concerne les livres, beaucoup de livres sont décevants, mais je recommande l'animation basée sur la physique de Kenny Erleben ou Game Physics Pearls.
Je ne connais pas beaucoup CUDA / OpenCL (bien que j'aie toujours voulu le faire) mais vous devriez certainement vérifier le travail de Takahiro Harada.
la source