
عرض تفاعلي للقطعة عرضية جسدية في C ++ باستخدام OpenGL و Glut و GLEW و CMake
هذا عرض تجريبي للقطعة القائمة الجسدية باستخدام تقنيات وصفها Thomas Jakobsen في فيزياء الأحرف المتقدمة ، 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/في دليل مجاور لـ Clothdemo/.
