top of page

BIENVENUE

ECO est un moteur 3d écrit en C++ pour openGL 3

Vous y trouverez un affichage en defered shader, les particules, les billboards, tous les controls pour l'interface, un chargeur obj-mtl, et tout ce qu'il faut pour commencer à apprendre la programmation (en C++).

le moteur 3d ECO

le paquet ECO 2024_05

mise à jour du mois de mai 2024.

Toutes les classes de base, gestion du système, utilitaires mathématiques, shaders, ...

> prochaine mise à jour en juin 2024 !

​

OButtonRbt Un bug mineur a été corrigé : le rectangle de destination pouvait être modifié par le OButtonRbt.

 

OUtilString La fonction ECO_utf8_to_latin a été ajoutée. Elle permet de sauvegarder correctement le nom d'un fichier avec accent (utf8) (sous windows).

​

OUtilsFile La fonction ECO_set_SeekBOM(flux, code) a été ajoutée. Elle permet d'intégrer automatiquement le bon code (utf8, utf16...).

​

OLevelbox la fonction mouseWheel() a été corrigée (comme incValue()) pour, soit animer la barre (incrément décrément progressif), soit aller directement à la valeur.

Une fonction setRange(min,max, step) permet de faire une barre qui ne commence pas à zéro.

 

OBillMsg Permet d'afficher un texte billboard dans une scène 3d.

(Remplace OFlashMsg et OFlashImg qui sont obsolètes).

 

OCamera appelle ORteNurb pour ses déplacements (nécessite de lier avec ORteNurb les anciens fichiers).

Notez que la fonction de setTarget de l'ancienne version était boguée.

 

OFonteBmp la largeur du caractère est lue automatiquement (il faut jouer sur setSpacing pour l'écartement). Il faudra modifier les fichier fonte pour enlever la ligne fuchsia.

 

OFonte L'emplacement des caractères en hauteur a été corrigé. C'est généralement transparent, sauf pour quelques fontes qui se retrouvaient anormalement basses et qui sont maintenant correctement centrées.

Dans un répertoire dédié, Placez le dossier ECO (renommé depuis ECO_2024_), avec le répertoire des bibliothèques (true_ttf, glew, et fmod)

Gardez les liens en mode relatif !

image réalisée avec OskyAstro

Je programme depuis des années, d'abord en basic, puis en C puis C++. J'ai commencé la 3d avec OpenGL 2 avant de passer à OpenGL3.3.

Je prends plaisir à comprendre les mécanismes de la programmation, à trouver des solutions. Faire un jeu n'est pas mon objectif, sans quoi je serais passé par Unity ou Unreal Engine.

Après quelques mois sans m'y intéresser, j'ai remis à jour une partie de mes codes et je les livre à ceux qui voudraient s'en servir ou s'en inspirer.

​

caractéristiques :

Je programme avec Code::blocs, sous Windows. Vous pourrez facilement adapter le code si vous utilisez Linux ou GLMF. Le dossier ECO/ contient les fonctions systèmes dans OUtilsSys.

Mon système de référence est z pour la verticale, 1 pour 1 mètre. À noter que ma matrice 4x4 est 'horizontale'.

Vous trouverez dans le main.c le mode de fenêtre (titre, fenêtré, plein écran, …).

​

Scène de test :

la scène de test présente les principales fonctions.

lancez le fichier base.exe, (dans bin/release) utilisez le pavé numérique pour vous déplacer.

8 et 2 avance recule

7 et 9 tourne

/ et * inclinaison de la tête avant arrière

+ et - monte en descend

L'interface

L'interface est la base d'un programme.

Avec ECO vous pourrez ajouter ce que vous voulez (il suffit de le programmer :) )

​

la scène de test

La scène de test permet... de tester.

Elle est affichée avec un defered shader.

Vous trouverez une carte en mode multi-texturée, une étendue d'eau, un ciel avec nuages, étoiles, un billboard animé, des particules feu et eaux, des points lights et cône light, des méca, permettant d'animer simplement un objets (y compris le perso qui met ses équipements et les enlève).

Vous verrez aussi un brouillard en post-processing et un système de pluie.

De profondis

dp_03.png
 
version 04-2024

 

Lancez vos quatre aventuriers dans l'exploration d'un donjon (il n'y a encore qu'un seul étage).

La fiche d'inventaire est quasi complète, avec la feuille des quêtes (embryonnaire) et celle des compétences, bonus et magie (à mieux définir).

 

Le barbare peut se déplacer par un clic sur le sol, et suit alors une route (courbe nurb). Reste à faire suivre ses compagnons !

 

Avec F1 vous pourrez lancer votre premier combat (selon une méthode case à case, proche du donjon de Naheulbeuk). Les routines de base sont en places, les premiers coups échangés, l'IA est basique, les bonus ne sont pas encore pris en compte, pas plus que la magie. Il reste donc encore beaucoup de travail.

 

Un programme encore en développement, avec certainement pleins de corrections à faire, mais la base est bonne. À vous de jouer !

l'IA d'un jeu

Un début de jeu 3d 2d avec une petite intelligence artificielle de jeu, permettant de déplacer les objets, les personnages.

Le dialogue

Vous verrez des personnages bouger et parler (écrit), la caméra se déplacer...

bottom of page