
ตั้งแต่ปี 1999 ใช้ C ++, OpenGL, GLUT และ CMAKE
โดย David McAllister เวอร์ชัน 3.0.0 18 เมษายน 2565
โฮสต์ที่ https://github.com/davemc0/particle.git (ก่อนหน้านี้โฮสต์เป็นเวลา 15 ปีที่: http://www.particlesystems.org.)
เอกสารอยู่ที่นี่
บันทึกการเปลี่ยนแปลงอยู่ที่นี่
งานในอนาคตอยู่ที่นี่
API ระบบอนุภาคได้ทำหน้าที่เป็นทรัพยากรสำหรับการสร้างเอฟเฟกต์พิเศษที่ใช้ระบบอนุภาคที่น่าสนใจทุกประเภทส่วนใหญ่สำหรับเกมและกราฟิก 3D แบบโต้ตอบอื่น ๆ เวอร์ชัน 2.2 ถูกใช้ในโครงการโดยนักพัฒนากว่า 600 คน ฉันลดการบำรุงรักษาห้องสมุดในปี 2009 เมื่อชีวิตของฉันเปลี่ยนไปใช้การติดตามเรย์ แต่ฉันไม่ได้เป็นเจ้าภาพห้องสมุดต่อสาธารณะอย่างมีประสิทธิภาพดังนั้นมันจึงตายไปแล้ว
ฉันเพิ่งกลับมาเยี่ยมชม API และเพิ่มการปรับปรุงมากมาย สิ่งที่สำคัญที่สุดคือ โหมดการกระทำแบบอินไลน์ ขณะนี้การกระทำถูกนำไปใช้ในฟังก์ชั่นอินไลน์ที่ใช้กับอนุภาคเดียว แอปพลิเคชันเป็นเจ้าของลูปเหนืออนุภาคทำให้สามารถผ่านอนุภาคได้เพียงครั้งเดียวเพื่อดำเนินการทั้งหมด ประสิทธิภาพการทำงานเร็วขึ้นอย่างมากเพราะเหตุนี้ด้วยเหตุผลหลักสามประการ:
การอัปเดตที่โดดเด่นอื่น ๆ อีกสองสามรายการ:
การสร้าง particlelib สามารถทำได้โดยใช้รหัสนี้ cmake และคอมไพเลอร์ C ++ ไม่มีการพึ่งพาภายนอก
อย่างไรก็ตามตัวอย่างและการสาธิตยังขึ้นอยู่กับ dmctools: https://github.com/davemc0/dmctools.git
DMCTOOLS มีชุดเครื่องมือกราฟิกของฉัน - คลาสเมทริกซ์, ภาพรูปภาพ, คลาสเวกเตอร์ 3D, ตัวเลขสุ่ม, ตัวจับเวลา, ตัวโหลดโมเดล 3 มิติ ฯลฯ มันเป็นสิ่งจำเป็นโดย PSPRAY และ PARBENCH DEMO ไม่ใช่ API หรือตัวอย่างตัวอย่าง 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
หรือเปิดตัว build/particlesolution.sln ใน Visual Studio
ตัวอย่าง OpenGL และ Glut-based ของระบบอนุภาคที่ใช้ในการทำให้น้ำพุ
ดับเบิลคลิกเพื่อเริ่มโปรแกรม
กด 'F' เพื่อให้เต็มหน้าจอ
คลิกขวาที่หน้าต่างเพื่อปรากฏเมนู แป้นพิมพ์ลัดอยู่ในเมนู
หากคุณไม่ได้สัมผัสมันจะสุ่มผ่านการสาธิต สิ่งนี้ควรให้ชั่วโมงความสนุกสนานกับครอบครัว หากคุณเบื่อให้กด 'Space' เพื่อทำให้เกิดการระเบิด กด 'M' เพื่อทำให้การเคลื่อนไหวเย็นเบลอ กด 's' เพื่อจัดเรียงอนุภาคกลับไปด้านหน้าเพื่อให้ถูกต้องมากขึ้น แต่ช้าลงเรนเดอร์ กด 'P' เพื่อเปลี่ยนสิ่งที่แต่ละอนุภาคจะแสดงเป็น

อันนี้ใช้เอฟเฟกต์การสาธิตทั้งหมดเช่นเดียวกับสนามเด็กเล่น แต่มันไม่ได้ทำกราฟิกใด ๆ มันไม่ได้ใช้ OpenGL หรือ GLUT
หากการสาธิตไม่ได้ผลสำหรับคุณฉันยินดีที่จะพยายามช่วย โปรดรวมรายละเอียดให้มากที่สุดเท่าที่จะทำได้เกี่ยวกับระบบของคุณและลักษณะของปัญหา
หากคุณมีคำถามใด ๆ การมีส่วนร่วมของรหัสหรือคำแนะนำใช้ปัญหา GitHub หรือติดต่อฉันอย่างไรก็ตาม
