RIHEN
AccueilServices
PortfolioProjetsLabs
Formations
Retour aux labs
Projets R&D

Nkentseu

Un écosystème logiciel écrit intégralement de zéro en C++, sans bibliothèque standard : un socle de modules, un moteur temps réel, et les applications qui en vivent — le système de construction Jenga, l'environnement de développement NKCode, le modeleur NK3DModeler, les décodeurs NKMedia, la réalité mixte NKXR. Plus de 800 000 lignes réparties en une cinquantaine de modules, et cinq backends de rendu qui affichent la même scène.

Statut : Alpha
Nkentseu

Nkentseu est construit en couches, et chaque couche est un module que l'on peut lire seul. Les fondations tiennent les types, les mathématiques, la mémoire et les conteneurs, tous écrits à la main pour ne dépendre d'aucune bibliothèque standard. La couche système ajoute journalisation, fils d'exécution, fichiers, réseau, réflexion et sérialisation. Le cœur temps réel porte les modules que l'on voit à l'œuvre : NKWindow ouvre les fenêtres sur chaque système, NKEvent achemine clavier, souris, tactile et manettes, NKRHI parle à Vulkan, OpenGL, DirectX 11, DirectX 12 et à un rastériseur logiciel écrit de zéro, NKSL est notre propre langage de shaders et son compilateur, NKRenderer assemble le tout en un graphe de rendu avec éclairage physique, ombres, réflexions et post-traitement, NKCanvas fait le même travail en deux dimensions, NKImage et NKFont décodent images et polices sans dépendance, NKAudio mixe jusqu'à 256 voix, NKCollision et NKPhysics simulent le contact et le corps rigide, NKECS organise les entités, NKGui dessine les interfaces d'outils. Rien de tout cela n'est assemblé à partir de briques existantes : c'est la contrainte que le projet s'est donnée, et c'est ce qui en fait un laboratoire autant qu'un moteur. Les jeux et les outils listés à côté sont ce qu'il a déjà produit.

Ce que porte l'écosystème

Jenga est son système de construction, écrit en Python : un fichier de projet y est un programme, pas une configuration.

NKCode est l'environnement de développement, bâti sur le moteur, et qui se compile lui-même avec Jenga.

NkRef est la planche de références : une toile infinie où l'on dispose ses images et où on les compare côte à côte.

NKMedia porte les décodeurs audio et vidéo, écrits sans FFmpeg : H.264, HEVC, VP8, VP9, AV1, Theora et MPEG-2.

NK3DModeler est le modeleur, avec son édition de maillage par demi-arêtes et l'import de sept formats.

NKXR ouvre la réalité virtuelle et augmentée, sans intergiciel.

Autour d'eux viennent l'éditeur de scènes, l'éditeur d'animation et l'atelier d'interfaces.

Construisons ensemble

Envie de collaborer sur la recherche ?

Nous sommes ouverts aux partenariats avec les universités, hubs technologiques et centres d'innovation.

Nkentseu | RIHEN