TSim-X

Hired to improve and optimize an already developed solution, I ended up rewriting everything from scratch, making use of the famous NVIDIA PhysX library.

The application, known as TSim-X, was a user-friendly real-time CAD which used the GPU both for visual rendering and physical simulation of indoor curtains. It was developed using both C++ and C#: the former for the engine/rendering/physics part, while the latter was used to create the UI and the business logic of the software.

tsim-software-architecture

The rendering engine was fully compatible with OpenGL 1.3 (static rendering pipeline). On capable machines, however, supported multi-pass GLSL shaders, vertex buffer objects and multiple render targets. Implemented shaders included satin and velvet-like BRDF and a bloom shader to approximate HDR glow in high-contrast zones.

velvet-satin-shaders bloom-shader

Later in the development the following technologies were implemented: touchscreen support, RFID for interactive clothing application, multi-monitor rendering, saving and reloading of scenes using XML.