
Desde 1999, usando C ++, OpenGl, Glut e Cmake
Por David McAllister versão 3.0.0 18 de abril de 2022
Hospedado em https://github.com/daveMc0/particle.git. (Anteriormente hospedado por 15 anos em: http://www.particlesystems.org.)
A documentação está aqui.
Alterar log está aqui.
Trabalho futuro está aqui.
A API do sistema de partículas serviu como um recurso para a criação de todos os tipos de efeitos especiais interessantes baseados no sistema de partículas, principalmente para jogos e outros gráficos 3D interativos. A versão 2.2 foi usada em projetos por mais de 600 desenvolvedores. Deixei a manutenção da biblioteca em 2009, quando minha vida mudou para o rastreamento de raios, mas não recebi efetivamente a biblioteca publicamente, então ela desapareceu em grande parte.
Recentemente, revisei a API e adicionei muitos aprimoramentos. O mais importante é o modo de ação em linha . As ações agora são implementadas em funções embutidas que se aplicam a uma partícula. O aplicativo possui o loop sobre as partículas, permitindo que um único passe sobre uma partícula execute todas as ações. O desempenho é massivamente mais rápido por causa disso por três razões principais:
Algumas outras atualizações notáveis:
A construção de partleLibe pode ser realizada usando apenas este código, cmake e um compilador C ++. Não tem dependências externas.
No entanto, os exemplos e demos também dependem do DMCTools: https://github.com/daveMc0/dmctools.git
O DMCTools possui minha coleção de ferramentas gráficas - classe de matriz, material de imagem, classe vetorial 3D, números aleatórios, timer, carregador de modelo 3D, etc. É necessário apenas para o PSPray e o Parbench Demo, não pela API ou pelo exemplo de demonstração. DMCTools é direitos autorais de mim e talvez por outros.
Para construir tudo o que você também precisa:
Defino variáveis de ambiente para glut_home e glew_home no Windows. Isso não deve ser necessário no Linux ou Mac.
No diretório principal, faça algo como:
mkdir build
cd build
cmake .. -G "Visual Studio 16 2019" -A x64
cd ..
Então você pode construir a partir da linha de comando:
cmake --build build/ --config Release
ou inicie a construção/partícula.Sln no Visual Studio.
Um exemplo de sistema de partículas baseado em OpenGL e Glut usado para renderizar uma fonte
Clique duas vezes para iniciar o programa.
Pressione 'f' para torná -lo tela cheia.
Clique com o botão direito do mouse na janela para aparecer no menu. Os atalhos do teclado estão listados no menu.
Se você não tocar, ele passará aleatoriamente pelas demos. Isso deve proporcionar horas de diversão em família. Se você ficar entediado, pressione 'espaço' para causar uma explosão. Pressione 'm' para fazer um desfoque de movimento frio. Pressione 's' para classificar as partículas de volta à frente para uma renderização mais correta, mas mais lenta. Pressione 'P' para alterar o que cada partícula é renderizada como.

Este executa os mesmos efeitos de demonstração que o Playground, mas não faz nenhum gráfico. Não usa OpenGL ou Glut.
Se os demos não funcionarem para você, ficaria feliz em tentar ajudar. Inclua o máximo de detalhes possível sobre o seu sistema e a natureza do problema.
Se você tiver alguma dúvida, contribuições de código ou sugestões, use problemas do GitHub ou entre em contato comigo.
