Parrallel GPU implementation of Tessellation, free from the use of the Tessellation Stage, taking advantages of J. Dupuy's Quadtrees on GPU idea, and of the OpenGL Compute pipeline. We will propose two separate approaches to the LoD definition:
The Master's Thesis is avaialable here, and we are currently working on a publication.
Languages and tools: C++, OpenGL 4.5, Unity3D
This project left us the choice of both the scene and the rendering implementations, only the theme was mandatory (chosen by vote). As I previously approached caustics through massive optimisations and approximations, I wanted to discover how can one render them accurately with an offline approach. This pushed me to implement quite advanced algorithms, that unfortunately didn't leave me the time to perfectionate the scene itself (in particual getting sharp caustics thanks to an appropriate water surface mesh). The features implemented are:
See the full report here
Languages and tools: C++, Nori Raytracer
For this project I implemented an infinite terrain rendering program, that features:
See the blog post here
Languages and tools: OpenGL 4.x (for geometry, tesselation evaluation and tessellation control shaders), C++
Implementation of a WebGallery for RayForm to showcase the real-world effect of Rayform products.
First, I implemented the scene rendering code in ThreeJS to run on the browser in real-time, allowing the user to interact with both the caustic object and the light source.
Then, I developped a real-time ray tracer optimized for caustics computation in OpenGL and C++, that will run on an AWS G2 instance.
The browser side then connects to the AWS instance through socket.io connections, upload the parameters of the scene at each change, and then download and display the resulting light texture computed in the RayTracer.
See the first term report (focused on my implementation of the discrete caustics raytracing) here.
See the second term report (focused on my network architecture) here.
Languages and tools: ThreeJS, OpenGL, AWS G2 instances, C++, NodeJS, socket.io
Developed, implemented and conducted an experiment studying the subject's perception of the manipulation of its visual feedback during an ISO 92141-9 standard multidirectional reaching task.
The goal of this project was to find the thresshold of distortion intensity when the subject starts to notice a gap between the intended and the visible movement of his hand.
See the report here.
Languages and tools: C# scripts, Unity Game Engine, PhaseSpace Motion Capture equipment, Occulus Rift DK2
Part of the top 3 best apps developed for the course that year.
With a few classmates, we developed an Android application able to read, display and then play guitar tablatures with pre-recorded guitar sound samples.
To make this happen, we developed a website and a back-end server to be able to upload tablatures from a browser and then download and play them on a smartphone.
Creation of a custom filetype based on JSon Schema
The teachers of this course insist that the code remain on their private repository but don't hesitate to contact me for additional information.
Languages and tools: Java, Android SDK, Git, Agile method