My name is Ilja (pronounced as Ilya) Gubins. I'm a y.o. aspiring programmer. Most of my life I've spent in Riga, Latvia, where I've graduated University of Latvia with BSc Computer Science degree. After getting bachelors, I've started MSc Game and Media Technology at Utrecht University in Utrecht, Netherlands.
Currently, I'm in Rennes, France at Techicolor R&D France in Immersive Lab, doing internship and writing master thesis in "3D facial acquisition and animation for VR content". The internship is going to end in September 2017, and I expect to defend the thesis back in Utrecht before October 2017.
For 2 years I've worked as a backend Java developer at Exigen Services Latvia and half a year as a frontend developer at Tawk.to. In summer 2016 I've interned at Moving Picture Company as a FX Software Developer Intern.
You can find my full resume here: PDF
Feel free to contact me by any means listed in the sidebar.
Facebook Messenger history visualization (D3.js, SVG, HTML/CSS)
Interactive real-time OpenCL (incl. GPU) ray-tracer (C++, OpenCL)
As a part of Advanced Graphics course I've been given a task of creating interactive real-time OpenCL ray-tracer. Final version has:
- interactive real-time movable camera and lights
- triangle primitives
- flat and Blinn-Phong lighting
- reflections, refractions and shadows
- .obj (with .mtl materials) file loading
- GUI to be able to change most of the parameters in run-time
- multiple BVH builders, including implementing “Efficient BVH Construction via Approximate Agglomerative Clustering" (Gu et al. 2013)
- naive supersampling
Optimization of MCMAP (C++, SIMD)
During Optimization and Vectorization course we’ve received assignment to find an open-source project and optimize it. By applying various optimization techniques like changing algorithms, as well as applying SIMD and tuning compilation settings, we’ve made the application on average 306% faster comparing to original version.
Heartbeat monitor (Arduino/C, Node.js)
Participating in health related Garage48 Tallinn hackathon, our team created an Arduino-based heart monitor, that sends data via Bluetooth and stores it in a database, accessible through a web-based real-time dashboard, allowing remote monitoring and potential diagnosing.
Character animation motion capture (Vicon Blade, Autodesk Motionbuilder)
Final assignment of Computer animation course was to create a short CGI movie with the requirement of using motion capture for character animation in groups. Me and two of my coursemates have captured motion data in VHTLab mocap lab with 14 MX40 Vicon IR cameras and Vicon Blade software. After that, it was my responsibility to clean-up animations in Autodesk MotionBuilder and retarget them to the character in Unreal Engine 4. In the images below can be seen one of resulting animation, a character standing and looking up around holding the torch vertically.