Background. Real-time applications like video games use particle systems for special effects to add visual aesthetics and realism. However, when complex behaviour that requires interaction between particles and geometry is desired, problems arise. The developer has to choose between having consistent and precise collisions or higher performance. This thesis goes over two particle collision implementations that try to solve these problems. Objectives. The objective of this thesis is to create an application that has support for two collision methods and compare them on performance and accuracy to decide which one is more suitable for real-time applications. Methods. To answer the research questions proposed the implementation methodology was used, as a result of that, a 3D-application was created using the graphics API OpenGL to render. Two simple GPGPU implementations were made for each method, to have a more fair comparison. To be able to measure performance the application logs frame-time every frame. A fixed time-step was added in the main loop to allow the users to stop the application at a certain time to be able to capture images of the scene that will then be used for pixel comparison to measure accuracy. Results. Screen space particle collision is almost three times faster than the octree-based method. Both methods had different behavior in both the real-time simulation and at specific time-steps resulting in loss of accuracy from the screen space particle collision. Conclusions. The tests allowed the authors to show that the screen space particle collision is faster and scales better than the octree-based method. However, it did lack precision as shown by the comparison by the images taken from the test. For particle simulations that require consistent and accurate collision checks the octree-based method is better due to the fact that screen space particle collision can result in false collisions checks and has problems with hidden geometry.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:bth-17230 |
Date | January 2018 |
Creators | Kåvemark, Nils, Miloradovic, Stevan |
Publisher | Blekinge Tekniska Högskola, Institutionen för kreativa teknologier, Blekinge Tekniska Högskola, Institutionen för kreativa teknologier |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0016 seconds