Nowadays graphics software require enormous amounts of computational power, but most of the times it cannot utilize the graphics processing unit for calculating the computationally intensive tasks. 3ds Max is a popular 3D computer graphics program, which suffers from the same problem. However, its modular software architecture provides an excellent opportunity to expand its functionality and usability, by adding extensions capable of utilizing the processing power of the graphics processing unit.
The first part of my thesis explains the essential theoretical knowledge needed to implement complex particle simulations. Moving on I present the underlying processor architecture of the GPU and the knowledge and approach required to program the hardware. Also I take a look at the plugin system of 3ds Max and the technologies available for plugin development.
Further on I expound the finished 3ds Max plugin module in which I realized the chosen simulation algorithm. Next, I explain in detail the parallelization process of the algorithm, as well as the implemented variants parallelized in different ways, noting strengths and weaknesses. Moreover I demonstrate the performance of these variants, the measurement results obtained during software execution and the conclusion drawn from the results. Finally I review the experiences acquired during the development process.