
منذ عام 1999 ، باستخدام C ++ و OpenGL و Glut و Cmake
بقلم ديفيد مكاليستر الإصدار 3.0.0 18 أبريل 2022
تم استضافتها في https://github.com/davemc0/particle.git. (تم استضافته مسبقًا لمدة 15 عامًا على: http://www.particlesystems.org.)
الوثائق هنا.
سجل التغيير هنا.
العمل المستقبلي هنا.
كانت واجهة برمجة تطبيقات نظام الجسيمات بمثابة مورد لبناء جميع أنواع المؤثرات الخاصة المستندة إلى نظام الجسيمات المثيرة للاهتمام ، ومعظمها للألعاب وغيرها من الرسومات ثلاثية الأبعاد التفاعلية. تم استخدام الإصدار 2.2 في المشاريع من قبل أكثر من 600 مطور. لقد أسقطت صيانة المكتبة في عام 2009 عندما تحولت حياتي إلى تتبع الشعاع ، لكنني لم أستضيف المكتبة بشكل فعال ، لذلك توفي إلى حد كبير.
لقد قمت مؤخرًا بإعادة النظر في واجهة برمجة التطبيقات وأضفت العديد من التحسينات. الأهم هو وضع الإجراء المضمون . يتم الآن تنفيذ الإجراءات في وظائف مضمنة تنطبق على جسيم واحد. يمتلك التطبيق الحلقة فوق الجزيئات ، مما يسمح بتمريرة واحدة على جسيم لأداء جميع الإجراءات. الأداء أسرع بشكل كبير بسبب هذا لثلاثة أسباب رئيسية:
بعض التحديثات البارزة الأخرى:
يمكن إنجاز بناء particlelib باستخدام هذا الرمز فقط ، cmake ، ومترجم C ++. ليس لديها تبعيات خارجية.
ومع ذلك ، فإن الأمثلة والعروض التوضيحية تعتمد أيضًا على dmctools: https://github.com/davemc0/dmctools.git
تحتوي DMCTOOLS على مجموعتي من أدوات الرسومات - فئة المصفوفة ، وأشياء الصور ، وفئة المتجهات ثلاثية الأبعاد ، والأرقام العشوائية ، وتوقيت ، وحمل النموذج ثلاثي الأبعاد ، وما إلى ذلك. إنه مطلوب فقط من خلال عرض PSPRAY و PARBENCH ، وليس واجهة برمجة التطبيقات أو العرض التوضيحي. DMCtools هو حقوق الطبع والنشر من قبلي ، وربما الآخرين.
لبناء كل ما ستحتاجه أيضًا:
قمت بتعيين متغيرات البيئة لـ GLUT_HOME و GLEW_HOME على Windows. لا ينبغي أن يكون هذا ضروريًا على Linux أو Mac.
في الدليل الرئيسي ، افعل شيئًا مثل:
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -A x64
cd ..
ثم يمكنك البناء من سطر الأوامر:
cmake --build build/ --config Release
أو إطلاق البناء/الجسيمات. sln في Visual Studio.
مثال مفتوح على أنظمة الجسيمات المستخدمة في OpenGL و GLUT.
انقر نقرًا مزدوجًا لبدء البرنامج.
اضغط على "F" لجعله ملء الشاشة.
انقر بزر الماوس الأيمن في النافذة لإطفاء القائمة. يتم سرد اختصارات لوحة المفاتيح في القائمة.
إذا لم تلمسها ، فسوف يمر بشكل عشوائي من خلال العروض التوضيحية. هذا يجب أن يوفر ساعات من المرح العائلي. إذا شعرت بالملل ، فاضغط على "مساحة" للتسبب في انفجار. اضغط على "M" لجعل طمس الحركة الرائعة. اضغط على "S" لفرز الجزيئات التي ترتفع إلى الأمام للحصول على عرض أكثر صحة ولكن أبطأ. اضغط على "P" لتغيير ما يتم تقديم كل جسيم على أنه.

يدير هذا واحد نفس التأثيرات التجريبية كما يفعل Playground ، لكنه لا يفعل أي رسومات. لا يستخدم OpenGL أو GLUT.
إذا لم تنجح العروض التوضيحية من أجلك ، سأكون سعيدًا بمحاولة المساعدة. يرجى تضمين أكبر قدر ممكن من التفاصيل حول نظامك وطبيعة المشكلة.
إذا كان لديك أي أسئلة أو مساهمات الكود أو الاقتراحات ، فاستخدم مشكلات GitHub أو اتصل بي.
