
Uma demonstração de pano interativa e baseada fisicamente em C ++ usando o OpenGL, Glut, Glew e Cmake
Esta é uma demonstração de pano baseado fisicamente usando técnicas descritas por Thomas Jakobsen em Física de Caracteres Avançada, GDC 2001. Ele usa a integração verlet e múltiplas iterações de satisfação de restrições, com restrições de haste, deslizamento e ponto e colisão com objetos em movimento. https://www.gpgstudy.com/gpgiki/gdc_2001:_advanced_character_physics
Ultimamente, eu só construí isso no Windows no Visual Studio 2019. Esperançosamente, o Linux funcionará.
Esse código central foi originalmente escrito por colegas de graduação da UNC Chapel Hill em 2001 ou 2002. Provavelmente Paul Rademacher ou Mark Harris, mas não tenho certeza. Eu o tomei nos últimos vinte anos e decidi fazer funcionar ontem como parte de outro projeto.
Melhorei enormemente o código, corrigindo vários bugs, adicionando novos modos, adicionando um objeto de colisão AABB em funcionamento, melhorando bastante os gráficos e aumentando todas as constantes para níveis adequados para 60 fps na minha máquina, um 2021 Dell XPS 17 com um NVIDIA RTX 3060.
Paralizei o código na CPU simplesmente usando o std :: for_each (std :: execution :: par_unseq, ...). Parallelize a computação de restrição faz uma grande diferença.
Construa para mim usando o CMake 3.20, Visual Studio 2019, Freeglut-3.2.2, GLEW-2.2.0.
Isso também depende da minha biblioteca DMCTools. Esta é a minha ferramenta gráfica que eu uso e evoluindo nos últimos 25 anos. Pegue -o em https://github.com/daveMc0/dmctools.git e coloque DMCtools/em um diretório adjacente ao ClothDemo/.
