C++
4dface with OSC support available here https gitlab…
3D face tracking (state-of-the-art)
I’ve spend my day testing several face tracking solutions. The idea is to generate data for Godot Engine and control the face of an avatar with mine, for a numediart project. Here is what i’ve tested: OpenPose Obviously, the famous library. Tricky to install: you need cuda toolkit & cuDNN to start compiling. As it …
Soft skin
Currently working on a library of skinning called SofSkin. It’s purpose is to make skinning in a different way: less rubberish and more mesh/geometry-oriented. The idea is to use edges of the mesh as springs that tries to recover their initial length by pulling/pushing on the vertices. The lexical field is focused on anatomy, to …
Starting godot development with a little help to…
Starting godot development with a little help to Michal Seta on his OSC addon. First impressions are fantastic! Godot’s architecture is prepared with indie programmer in mind: the engine is obviously open source, it is really easy to interact with the core classes of the engine, receive notifications of the main events, and childish to …
It has been an hardcore saturday evening i’ve…
It has been an hardcore saturday evening: i’ve struggled with Bullet for 3 hours, and, finally, i’m able to get all bullet events in my code, without having to “manually” asking to each object “are you touching somebody?”. It’s a bit weird, but to achieve this you have to plug a static method on the …
Not very sexy but very useful there are…
Not very sexy, but very useful: there are 2 new methods in the bullet wrapper that enables retrieval of an ordered list of the collisions along a ray. The job was super easy, thanks to the bullet lib consistency and documentation. The object to use is AllHitsRayResultCallback. Once processed, it returns a list of bodies …
Today certainly one of the less sexy thing…
Today, certainly one of the less sexy thing i’ve ever posted… How to create a unique key out of two pointers in C++? After some investigation and a poor attempt to use boost uint128_t, i found my way using a char array. Here is the code: SomeClass* a = new SomeClass(); SomeClass* b = new …
flat network no Z slight Z curvature strong…
flat network (no Z) slight Z curvature strong Z curvature strong Z curvature strong Z curvature After a bit of struggle with the management of a 3d grid, the advantage is there: it’s now easy to generate a road network in 3D, with automatic connection of the streets while generating them. It’s a simple brute …
Generation of a 3d grid of cells each…
Generation of a 3d grid of cells, each one of the cells knows who are the surrounding ones. This to speed up searching around the current cell. To generate a unique id for each one of the surrounding cell, and quickly find the current cell in the surrounding cell, i used a python that generates …
I’ve learned something really important today an OpenGL…
I’ve learned something really important today: an OpenGL context can be accessed by one and ONLY one thread! See Under what circumstances would glGenBuffers/glGenBuffersARB fail?. And this is the first time I feel annoyed by the singleton approach of Ogre3D. In my asset converter util, I use Ogre object, the MeshManager mainly, to convert xml …
First little game without pretention done while learning…
First little game without pretention done while learning Openframeworks and C++ during my traineeship !
Superb presentation about Common C++ Performance Mistakes…
Superb presentation about “Common C++ Performance Mistakes in Games” by Pete Isensee at GDC 4