[en] GPU-BASED PARTICLE SIMULATION WITH COLLISION HANDLING

Autor: JERONIMO SILVERIO VENETILLO
Jazyk: portugalština
Rok vydání: 2007
Předmět:
Druh dokumentu: TEXTO
DOI: 10.17771/PUCRio.acad.10474
Popis: [pt] Este trabalho apresenta uma nova proposta para a implementação de um sistema de partículas em GPU. A simulação é feita inteiramente no processador gráfico, o que elimina a transferência de dados entre a CPU e a GPU. O sistema proposto é capaz de simular partículas de diferentes diâmetros em ambientes confinados, incluindo tratamento de colisão entre partículas, restrições e colisão de partículas com o ambiente. A detecção de colisão entre as partículas é feita com base numa estrutura de subdivisão do espaço em uma grade regular de células. Em GPUs atuais, o sistema é capaz de simular um milhão de partículas a taxas iterativas. Também é proposto um método flexível para modelar os obstáculos que compõe o ambiente, permitindo a criação de diferentes cenas sem necessidade de re-codificação de shaders. O sistema é composto por diferentes shaders, responsáveis por cada etapa da simulação. Um programa de fragmentos é responsável por fazer a atualização da posição das partículas. Em seguida, um programa de vértices faz a montagem da estrutura de subdivisão espacial. As etapas seguintes (detecção e tratamento de colisão e de restrições) são efetuadas apenas por programas de fragmentos usando a técnica de relaxação.
[en] This work presents a new proposal for the implementation of a GPU-based particle system. The simulation runs entirely on the graphic processor, thus eliminating data transfer between the CPU and the GPU. The proposed system is able to simulate particles with different diameters in confined environments, including support for inter-particle collisions, constraints, and particle-obstacle collisions. Inter-particle collision detection is accomplished by subdividing the space into a regular grid of cells. On modern graphics cards, the system is able to simulate up to one million particles at interactive rate. It is also proposed a flexible approach for modeling the obstacles that define the environment, allowing the creation of different scenes without relying on shader re-coding. The system is divided in different shaders responsible for each stage of the simulation. One fragment program is responsible to advance the particles in time. After that a vertex program builds the space subdivision structure. The following stages (collision detection and response, and constraint solving) are performed only by fragment programs using the relaxation method.
Databáze: Networked Digital Library of Theses & Dissertations