• Welcome to this site showcasing the projects I’ve participated in, from the most recent (2025) to the oldest (2007). They allowed me to gain valuable experience in C++ software development and 3D visualization.

    Context :

    • In 2007, I obtained an IMAC engineering degree (Image, Multimedia, Audiovisual and Communication) from the University of Marne-la-Vallée. I then joined E-on Software (a French SME), publisher of the VUE software, which allows the creation of realistic 3D environments with plants, terrains, ecosystems, atmospheres, etc. I had the opportunity to develop various functionalities for this software and its derivative products (plugins).
    • In 2015, E-on-Software became a subsidiary of Bentley Systems, which retained the existing products until 2024, then redirected the team towards the development of another application project.
    • In 2025, I chose to go in search of a smaller structure, preferably French or European.

  • Images taken from videos on Bentley Systems’ YouTube channel.

    Digital twins with Unreal Engine

    In 2024 and 2025, I participated in a Bentley Systems application project based on Unreal Engine and the ITwin and Cesium APIs, allowing its users to present digital twins of infrastructure projects.

    I developed a C++ tool to add populations of trees, characters, and vehicles. I also worked on the back-end for data saving and retrieval (server using MongoDB and the Go language). I also implemented the addition of realistic water volumes and planes, by selecting among existing techniques those that were the most suitable for this application, while also improving them.

    This project greatly interested me because it allowed me to learn how to develop with the Unreal Engine, which is widely used today.


  • Integration of the Cycles (Blender) render engine

    During 2023, I was tasked with adding the ability to render scenes in VUE using the Cycles engine from the open-source software Blender. This required reusing and extending VUE’s export capabilities to the USD format (Pixar), to convert the scene in the background and transmit it to the engine.

    This work was particularly interesting because it allowed me to explore the workings of a popular, recent, and high-performance rendering engine (because it uses the GPU). This feature was released in the final version of Vue in 2024 (downloadable here ).

    Image taken from a video on E-on Software’s YouTube channel.


  • Realistic plant import plugins

    Another project I participated in was the development of plugins for 3ds Max / Maya / Cinema 4D allowing the loading of procedural plants from the PlantFactory software (also published by E-on Software).

    These plugins required special attention to create materials specific to each rendering engine: V-Ray, Arnold, Redshift, Cinema 4D, ART (Autodesk Real Time). I worked on graph conversion and managing various effects such as translucency, PBR properties, two-sided materials, specular effects, etc.


  • Render plugins for 3ds Max, Maya, C4D

    I participated in the development of VUE xStream, a set of plugins integrating the environment creation features of the VUE software (atmospheres, plants, terrains, ecosystems…) into several industry-standard applications (those mentioned in the title, as well as Lightwave and SoftImage).

    These plugins work on the principle of communication between VUE and the host application, both at the interface level and at the 3D renderer level (with rays being transmitted from one to the other).


  • Images from a test published by the CGPress website.

    Instantiation plugin for 3ds Max, Maya, C4D

    Another project I was involved in was the development of the Carbon Scatter plugin, which integrated VUE’s population functionality into host applications. It allowed the creation of populations containing up to several million objects, with its own editor and ecosystem painting tool.

    Unlike the rendering plugins mentioned previously, this one used native instances for each rendering engine (V-Ray and Mental Ray for Autodesk applications, and those of the Cinema 4D engine).


  • Material editor

    As part of a redesign of the VUE software user interface, my mission was to make the material editor more homogeneous and compatible with PBR (Physically Based Rendering) parameters.

    This work required a refactoring of the code, in order to use similar controls in the tabs of each component of the edited material (diffuse, alpha, normal, metalness, roughness, etc.), while retaining certain specific controls and functionalities.


  • Personal project: creating 3D images of New York

    Like many visitors, I was impressed by New York’s architecture, and in my free time I amused myself by recreating images of the city, using the capabilities of the VUE software to add cloudy and somber atmospheres. This ambiance was partly a choice but also a necessity to hide the flaws in the 3D model I had found (inconsistencies in color and insufficient geometric quality).

    I spent some time improving the model by reworking the textures, integrating some higher-quality skyscrapers downloaded from the Sketchup software library at the time or purchased from Turboquid. I also inserted building blocks captured from Google Maps using various tools.


  • Optimizations for large scenes

    I made sure to make the VUE software faster with heavy scenes containing several thousand sub-objects, using the Visual Studio profiling tool to identify the causes of slowdowns.

    The improvements focused on the user interface, saving and loading meshes, and preparing for rendering. I proposed them after using Vue for a personal project in which I generated images of New York City.


  • Comparison and post-processing tool

    I contributed to the development of a tool integrated into VUE offering various functionalities for displaying renders and multipass layers, for comparing them, and for applying post-processing and artistic effects.

    As a user of the software, I found and fixed bugs, made optimizations for the smooth display of large renderings, suggested and implemented some features (render merge, color curves, reloading camera properties…).


  • Export library for external applications

    I developed a library for exporting to VUE format for use in other applications.

    For example, it has been used by CityEngine software (Esri) to render cities with VUE, by Microstation infrastructure design software (Bentley Systems), or by Shade3D modeling software.

    This topic allowed me to collaborate with developers from different countries, which was an interesting experience.


  • 3D Import / Export

    I also worked on several 3D import and export modules to ensure VUE’s good interoperability with other software.

    This concerned formats intended to be generic that appeared successively in the 3D industry: Collada DAE (2007), FBX (2010s), USD (after 2020).

    There were also historical formats still in use that needed to be maintained and improved, such as OBJ, 3DS, LWO…


  • Artistic effects

    I worked on integrating a tool that analyzes 3D renderings and generates images in various styles: drawing, painting, cartoon, etc.
    This type of rendering is called “NPR” (Non-Photorealistic Rendering). I ensured a complete, functional, and user-friendly interface.

    This topic led me to collaborate with a Polish developer, who had designed the image processing algorithms, which was enriching.


  • Animation tools

    Upon my arrival at E-on Software, I contributed to the integration of an animation system into the VUE software, notably by adding the ability to edit the pose of models from different 3D applications (3ds Max, Maya, Daz Studio).

    I enabled the parameterization of bones in the Vue timeline using animation curves, and I improved the inverse kinematics functionality for controlling limb articulation. I optimized the OpenGL display of animated meshes for a smooth frame rate. I also contributed to the development of a 3ds Max plugin for exporting animated characters to Vue.


  • Final-year internship (2007)

    During my final internship at Silicon Worlds in 2007, I worked on the development in C++ and GLSL of a real-time 3D engine used by the ESA, based on OpenSceneGraph.

    I integrated or added new shaders for various effects: sun, lens flare, cloud layer with cast shadows, day/night transition, etc. I also generated a model of the earth with several levels of detail, and integrated specific areas in higher resolution into this model.