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