
Интерактивная демонстрация ткани на основе физически в C ++ с использованием OpenGL, GLUT, GLEW и CMAKE
Это демонстрация физической ткани с использованием методов, описанных Томасом Якобсеном, в «Усовершенствованной физике символов», GDC 2001. Она использует интеграцию Verlet и множественные итерации удовлетворенности ограничениями, с помощью стержня, слайдера и точечных ограничений и столкновения с движущимися объектами. https://www.gpgstudy.com/gpgiki/gdc_2001:_advanced_character_physics
Я построил это только в Windows на Visual Studio 2019 в последнее время. Надеюсь, Linux просто сработает.
Этот основной код был первоначально написан коллегами -аспирантами в UNC Chapel Hill в 2001 или 2002 годах. Вероятно, Пол Радемахер или Марк Харрис, но я не уверен. Я уберегал его в течение последних двадцати лет и решил, что вчера он работал как часть другого проекта.
Я значительно улучшил код, исправляя несколько ошибок, добавляя новые режимы, добавляя работающий объект столкновения AABB, значительно улучшив графику и увеличивая все константы до уровней, подходящих для 60 кадров на моей машине, 2021 Dell XPS 17 с NVIDIA RTX 3060.
Я параллелизировал код на процессоре, просто используя std :: for_each (std :: execution :: par_unseq, ...). Параллелизация вычисления ограничений имеет большое значение.
Сборка для меня с использованием Cmake 3.20, Visual Studio 2019, FreeGlut-3.2.2, GLEW-2.2.0.
Это также зависит от моей библиотеки DMCTools. Это мои графические инструменты, которые я использовал и развивался в течение последних 25 с лишним лет. Возьмите его с https://github.com/davemc0/dmctools.git и поместите dmctools/в каталог, прилегающий к ClateDemo/.
