Sylvain Doremus
Strasbourg, France

C++ Software developer with a 15 year experience, motivated by working in game or 3D graphics development. Modern C++ enthusiastic, I use it widely in my personal projects.

CodersRank Score

What is this?

This represents your current experience. It calculates by analyzing your connected repositories. By measuring your skills by your code, we are creating the ranking, so you can know how good are you comparing to another developers and what you have to improve to be better

Information on how to increase score and ranking details you can find in this blog post.

CodersRank Rank
Top 1%
Top 50
Top 1
Top 100
Highest experience points: 0 points,

0 activities in the last year

List your work history, including any contracts or internships
Apr 2015 - Dec 2021 (6 years 8 months)
Senior Software Developer
Programming Research is a leader company in defects prevention. Their solutions promote safe coding practices and help ensure highest quality code for safety-critical and mission-critical systems.

Corrective and evolutive maintenance on QAC, a static code analysis software, specialized in C code parsing. This component is built using C++11.

Corrective and evolutive maintenance on dataflow component, which is used to perform deep-flow analysis, using Satisfiability Modulo Theory (SMT) solver engine. This component is built using C++11.

Build system uniformisation, using CMake.

Developments are made using VisualStudio 2015 Update 3 on Windows and GCC 4.7 on Linux.
c++ cmake python
Alpes Ingénierie Informatique
Feb 2010 - Mar 2015 (5 years 1 month)
Oraison, France
Software Developer
Developed a deliverables and documents management software, in C++. This software needed a database and had to be usable without any setup. The chosen database engine was SQLite. The GUI has been customised, to fit the client's demands, to look somehow like a web page (background image, image buttons with mouse over effects, etc.) so MFC, GDI and GDI+ have been used. A statistics module was implemented, with several display modes: pie, histogram, and table.

Created a UNIMARC (exchange data format used in bibliography) decoder, multithreaded, using C++ and ODBC. This software reads UNIMARC files, which contain from 1 to 100'000 bibliographical notes, decodes it, then pushes the retrieved data in a MSSQL database. Around 10'000'000 notes have been integrated at first, and around 5000 are integrated monthly. To be able to handle BC dates, a User Defined Type, A2iDate, has been created, in C#.

Improvements for a video capture software using Direct Show. It captured videos from PAL sources, I added the support for Full HD sources. The PAL videos was recorded in AVI files, using Xvid codec. Full HD videos are recorded in MKV files, using x264 codec. The x264 chosen encoder is nVIDIA NVENC and the chosen decoder is nVIDIA CUVID. I also implemented colour space conversions using CUDA and SSE2 instructions (RGB, ARGB, YUY2, YUV, UYVY).

Developed a flow sheet for a steam generator chemical cleaning supervisor software, in C++. The flow sheet is displayed on two 42 inches flat LCD screens. To obtain better results, with alpha blending, items positioning, and flow animations, Direct2D was chosen to render the flow sheet.

Helped developing a steam generator control supervisor software for a client, as service provision. The main objective, except for the steam generator control, is the modularity for every component, in order to be able to add new equipments with minimal new developments. It is developed using massively Boost, CMake, and Visual Studio 2012.
C++ database MSSQL
FDS SoftMedia
Oct 2006 - Dec 2009 (3 years 2 months)
Nanterre, France
Developed an Active X/Gecko plug-in named Elypse Player, using Ogre3D graphics engine, ODE physics engine, and allowing the creation of scripted 2D/3D scenes, in C++. The plug-in is able to read a scene file, to initialise the scene, then the scripts are executed, allowing interactivity with the user, automatic animations, physics management, sound management. All the developments were done using Visual Studio 2005 then VisualStudio 2008.

Developed a scene editor for Elypse Player, named Troll Editor, in C++ and using wxWidgets for GUI portability. It allows scene creation by positioning objects in the 3D world, scripts creation and compilation, scene testing. For animated scenes, a time line allows the user to insert events at specific time indexes and for a specific duration. All the developments were done using Visual Studio 2005 then VisualStudio 2008.

Created a chat and network mini games server, in C++ on GNU/Linux using Boost.Asio and Boost.Thread. This server was developed using Anjuta.

Created mini games and a 3D chat for www.kazugame.com website (doesn't exist anymore), using TrollEditor.
Installed a web, email, and DNS server, on GNU/Linux (Debian Etch).
C++ ogre3d
Add some compelling projects here to demonstrate your experience
Aug 2006 - Present
Castor3D is a 3D engine written in C++ 17.
It works on Windows and GNU/Linux.
It relies on Ashes as a rendering API, allowing Vulkan, Direct3D 11, and OpenGL.
The project itself is compilable on supported platforms using CMake (\ref build).

- Deferred rendering for opaque objects.
- Blended Weighted rendering for transparent objects.
- Normal mapping.
- Shadow Mapping (allowing to choose between Raw, PCF or Variance Shadow Maps).
- Parallax Occlusion mapping.
- Screen Space Ambient Occlusion (using [Scalable Ambiant Obscurance](https://casual-effects.com/research/McGuire2012SAO/index.html)).
- Reflection/Refraction Mapping.
- PBR rendering (Metallic and Specular workflows), and Phong/Blinn-Phong rendering.
- HDR rendering with various tone mapping operators.
- Screen Space Subsurface Scattering (without backlit transmittance yet).
- Volumetric Light Scattering for the directional light source, if it projects shadows.
- Cascaded Shadow Maps for the directional light source.
- Global Illumination, through Light Propagation Volumes (layered or non layered, with or without geometry injection), or through Voxel Cone Tracing.
- Frustum culling.
- Scene graph.
- Render graph.
- Modular architecture through plug-ins.
- Shaders are generated automatically from pipeline configuration.
- Shaders are writable directly from C++ code.
- Scenes are described using a text format easily comprehensible and extensible.
- Asynchronous (timers) or synchronour (thread) rendering.
c++ vulkan null
This section lets you add any degrees or diplomas you have earned.
University of Valenciennes
Bachelor's Degree, Computer software engineering
Jan 2004 - Jan 2005
UML analysis methodology.
Basics of C++ language.
Overview of OCaml language.

Training 04-07 2006 : In Situa (Borland C++ Builder 6) :
- Created a document and people management and monitoring application in 3D (using Digital Bird's 3D engine).
- Created Borland C++ Builder Components: a rollover button, a hide-able panel.
- Improved the 3D Studio Max ASE file exporter, to export animations.

Training 04-07 2005 : In Situa (Borland C++ Builder 5.5) :
- Created a Shape File to SVG converter ;
- Created an AutoCAD file format importer for Digital Bird ;
- Created a Shape File file format importer for Digital Bird.
University of Lens
Two-year university degree, Computer Software Engineering
Jan 2003 - Jan 2004
Learned basics of OO programmation, using Java.
Learned basics of C language.
MERISE analysis methodology.
University of Lille 1 Sciences and Technology
DEUG MIAS, Mathématiques - Informatique
Jan 1999 - Jan 2003
Functional programming, through Scheme language.
Procedural programming using ADA language.
Mathematics (algebra, analysis)

Jobs for you

Show all jobs