
Desde 1999, usando C ++, OpenGL, GLUT y CMake
Por David McAllister Versión 3.0.0 18 de abril de 2022
Organizado en https://github.com/davemc0/particle.git. (Anteriormente alojado durante 15 años en: http://www.particlesystems.org.)
La documentación está aquí.
Cambiar el registro está aquí.
El trabajo futuro está aquí.
La API del sistema de partículas ha servido como un recurso para construir todo tipo de interesantes efectos especiales basados en el sistema de partículas, principalmente para juegos y otros gráficos 3D interactivos. La versión 2.2 fue utilizada en proyectos por más de 600 desarrolladores. Dejé el mantenimiento de la biblioteca en 2009 cuando mi vida cambió a Ray Tracing, pero no albergé de manera efectiva la biblioteca públicamente, por lo que se extendió en gran medida.
Recientemente revisé la API y he agregado muchas mejoras. Lo más importante es el modo de acción en línea . Las acciones ahora se implementan en funciones en línea que se aplican a una partícula. La aplicación posee el bucle sobre las partículas, lo que permite un solo pase sobre una partícula para realizar todas las acciones. El rendimiento es masivamente más rápido debido a esto por tres razones principales:
Algunas otras actualizaciones notables:
El edificio ParticLelib se puede lograr utilizando solo este código, CMake y un compilador C ++. No tiene dependencias externas.
Sin embargo, los ejemplos y las demostraciones también dependen de dmcTools: https://github.com/davemc0/dmctools.git
DMCTOOLS tiene mi colección de herramientas de gráficos: clase de matriz, material de imagen, clase vectorial 3D, números aleatorios, temporizador, cargador de modelos 3D, etc. Solo es necesario por PSPray y la demostración de Parbench, no la API o la demostración de ejemplo. DMCTOOLS es derechos de autor para mí, y tal vez otros.
Para construir todo lo que también necesitará:
Establecí variables de entorno para GLUT_HOME y GLEW_HOME en Windows. Esto no debería ser necesario en Linux o Mac.
En el directorio principal, haz algo como:
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -A x64
cd ..
Entonces puedes construir desde la línea de comando:
cmake --build build/ --config Release
o lanzar Build/Partencleolution.sln en Visual Studio.
Un ejemplo de OpenGL y GLUT basado en sistemas de partículas utilizados para representar una fuente
Haga doble clic para comenzar el programa.
Presione 'F' para que sea pantalla completa.
Haga clic derecho en la ventana para aparecer en el menú. Los atajos del teclado se enumeran en el menú.
Si no lo tocas, pasará al azar las demos. Esto debería proporcionar horas de diversión familiar. Si se aburre, presione 'espacio' para causar una explosión. Presione 'M' para que se desenfoque el movimiento frío. Presione 's' para ordenar las partículas de regreso a front para obtener una representación más correcta pero más lenta. Presione 'P' para cambiar lo que se representa cada partícula.

Este ejecuta los mismos efectos de demostración que el patio de recreo, pero no hace ningún gráfico. No usa OpenGL o GLUT.
Si las demostraciones no funcionan para usted, estaría encantado de tratar de ayudar. Incluya la mayor cantidad de detalles que pueda sobre su sistema y la naturaleza del problema.
Si tiene alguna pregunta, las contribuciones o sugerencias de código usan problemas de GitHub o contácteme.
