Loading Now

Empty3 Library (empty3-library-mp)

Empty3 Library (empty3-library-mp)

Framework polyvalent pour le rendu 3D, la modélisation paramétrique et la vision par ordinateur.

Présentation

Empty3 est une bibliothèque de classes Java/Kotlin puissante et flexible conçue pour simplifier la création d’applications 3D, le traitement d’images et la génération de contenu média. Que ce soit pour l’éducation, la recherche ou le développement d’outils de visualisation complexes, Empty3 propose une approche mathématique et paramétrique rigoureuse.

  • Java 21/22
  • Kotlin 2.1
  • OpenGL (JOGL)
  • Google Cloud Functions
  • OpenCV
  • Maven / Gradle

Fonctionnalités Clés

Moteur de Rendu 3D

Un pipeline complet incluant :

  • Rendu par Z-Buffer optimisé
  • Textures riches : couleurs, images, flux vidéo et textures algorithmiques
  • Gestion avancée des caméras et de l’éclairage
  • Support des shaders GLSL

Modélisation Géométrique

Une approche paramétrique unique :

  • Formes de base : points, triangles, polygones, polyhèdres
  • Surfaces et courbes de Bézier et NURBS
  • Mesh Editor intégré
  • Analyseur de formules algébriques
  • Exportateurs standards (STL, OBJ)

Vision & IA

Capacités d’analyse d’image intégrées :

  • Filtres d’images variés (Gauss, Sobel, Harris, etc.)
  • Détection de contours et de features 2D/3D
  • Détection faciale et masques
  • Réseaux de neurones pour la classification

Vidéo & Cloud

Génération de média à grande échelle :

  • Génération de séquences d’images pour vidéos MPEG
  • Intégration native avec Google Cloud Functions
  • Déploiement facile via Docker et Google Cloud SDK

Démarrage Rapide (Java)

Voici comment créer et rendre une sphère simple en quelques lignes :

// 1. Initialiser la scène
Scene scene = new Scene();

// 2. Ajouter un objet avec une texture
Sphere sphere = new Sphere(new Point3D(0, 0, 0), 1.0);
sphere.texture(new ColorTexture(Color.RED));
scene.add(sphere);

// 3. Configurer la caméra
Camera camera = new Camera(new Point3D(0, 0, -5), new Point3D(0, 0, 0));
scene.cameraActive(camera);

// 4. Effectuer le rendu
ZBufferImpl buffer = new ZBufferImpl(800, 600);
buffer.scene(scene);
buffer.draw();

Ressources & Liens

Accédez au code source et à la documentation étendue :Projet GitLabSite Officiel (empty3.one)Documentation (Google Drive)

Archive & Historique

Note : Cette section conserve des traces de l’évolution du projet.

Le projet Empty3 (anciennement EmptyCanvas) a débuté vers 2014 comme un exercice de logique sur les structures de matrices d’images. Depuis, il a traversé de nombreuses phases, intégrant progressivement le raytracing (aujourd’hui remplacé), le support NURBS (finalisé après 2018), et plus récemment les technologies Cloud et IA (2024-2026).

Dernière mise à jour majeure du README : 18/04/2020 | Révision globale : 19/03/2026.

Licence Apache 2.0 | © 2026 Manuel Daniel Dahmen
Développé avec passion pour les mathématiques et le graphisme

Share this content:

Laisser un commentaire