top of page
oskyearth_2.png

image réalisée avec OSkyEarth

ECO est moteur 3d, un ensemble de fonctions écrites en C++, pour OpenGL 3.3 et plus, destinée à ceux qui veulent comprendre comment ça marche.

J'utilise donc un minimum de Dll : TreeType et Fmod pour le son (Glew car je suis sous Windows).

Notez que ma verticale est 'z', que mon échelle est 1 pour 1 mètre, et que ma matrice est 'horizontale' (c'est important pour les shaders ; il faudra convertir si vous utilisez Glm).

 

Le code évolue constamment, il n'est donc pas exempt de bug ou de manque : à vous de le compléter !

 

Tous les exemples disposent d'un exe > base.exe, compilé sous Windows, pour visualiser le résultat.

S'il devait y avoir une licence, elle serait MIT.

version 12/2025
(mise à jour du site au début de chaque mois)

Premiers combat dans
De Profondis !

SkyEarth

OSkyEarth remplace OSkyAstro. Plus simple, plus facile à utiliser (il ne nécessite que d'indiquer l'heure !), pour un ciel satisfaisant et peu coûteux en calculs (un bon programme de base pour intégrer ECO :) !).

> gestion de la transition nuit jour, avec étoiles ; pleine lune avec halo, rétro-éclairage des nuages ; soleil rougeoyant au matin et au soir, éclairage des nuages, halo diffus sur la moitié du ciel ; couche nuageuse par une simple texture (ça vous laisse du travail ! :) ).

oskyearth_1.png
Les mises à jour

mise à jour du 12/2025

 

OMesh_gltf : le bug sur les accessoires (épée d'un guerrier par exemple), constitué de plusieurs materials, a été corrigé (fonction init_attach_axis).

 

mise à jour du 11/2025

OLevelBox reçoit une fonction setEnabled(), ce qui bloque (true) les actions sur ce control.

 

OSkyEarth remplace OSkyAstro. Plus simple, plus facile à utiliser (il ne nécessite que d'indiquer l'heure !), pour un ciel satisfaisant et peu coûteux en calculs.

 

OMesh_gltf : la fonction permettant de remettre en pose neutre après une animation a été finalisée (elle s'appelle donc m_pose_neutral et non m_anim_neutral). Il est désormais possible de faire de la fin d'une animation, la pose neutre.

mise à jour du 10/2025

* OMesh_gltf progresse encore. La recherche de la hiérarchie est améliorée, l'animation par bone est prise en charge, et le dragon peut enfin être visualisé. Passage aux buffers persistants (Persistent Mapped Buffers) pour plus de performance. Le code est amélioré, standardisé (enfin, en cours :) ).

OMesh_gltf peut charger les mesh simples, ceux avec animation, rig, axis et bone, et les morph target de base (voir De Profondis > OTL Photo pour les exemples d'utilisation).

note : cette version est destinée à des morph légers, peu nombreux. Pour améliorer les choses, il faudra passer par une procédure spéciale et des shaders adaptés aux morph targets (je ne ne sais pas quand).

 

* OShLight et OShLight_pbr voient leur fonction emissive corrigée ou ajoutée.

* OMesh_obj est enrichi et corrigé : les parties d'un mesh sont chargés selon leur material (autant de material, autant de parties). La création des faces est améliorée et les mesh non joints (plusieurs objets) sont correctement chargés.

Les fonctions get sont avec const.

La récupération des structures meshPart et material sont en fonction protégées, non en public.

 

bottom of page