Salut! J'ai corrigé plusieurs bugs, j'ai essayé un système ECS mais ayant vu que j'avais le même FPS je me suis dis que ça ne valait pas la peine de changer tout le code donc j'ai laissé tombé. J'ai changé le système d'axes en 3D l'axe y c'est l'axe en hauteur et plus l'axe z, c'est plus facile car en 2D j'utilise aussi l'axe z pour définir la profondeur d'un objet et l'axe y en hauteur comme ça je ne dois pas changer les y et les z pour passer de la 2D à la 3D.
J'ai corrigé un bug d'affichage pour les ombres, en effet, j'avais, en 3D, des pixels d'ombre qui clignotaient et qui ne s'affichait pas bien parce que la depthTexture n'était pas bonne car j'utilise une image pour générer la depthTexture et les shaders s'exécutent en parallèle du coup il fallait empêcher avec l'extension fragment shader interlock que deux invocations du fragment shader accède à l'image en même temps pour un même fragment même avec memoryBarrier et coherent ça ne marchait pas j'ai cherché pendant une semaine pourquoi ça ne fonctionnait pas.
J'ai corrigé une erreur de compilation dans le fichier fastDelegate.h quand on voulait passer un objet qui n'est pas un pointeur pour un pointeur sur fonction membre à la classe FastDelegate ça ne compilait pas maintenant ce problème est réglé. Ca m'embêtait d'être obligé d'utiliser un pointeur sur l'objet pour appeler un pointeur sur fonction membre car il faut en plus gérer la mémoire.
J'ai avancé sur l'éditeur (ODFAEG Creator) j'ai mit des widgets pour transformer les objets.
Et je ne me rappelle plus tout les autres problèmes que j'ai eu et que j'ai corrigé. L'éditeur ne gère que la 2D pour l'instant parce que mon jeux sera en 2D iso.
J'ai surtout travaillé sur l'éditeur mais je dois encore faire pas mal de chose :
-Passage du moteur sous Vulkan. (J'ai déjà commencé mais pas pour les renders mais j'ai besoin d'aider donc de recruter mais je trouve pas pour l'instant donc je continue avec opengl)
-Compatilité androïd. (Je crois que la SFML gère le développement de jeux sur Androïd mais je dois encore l'implémenté dans mon moteur de jeux car j'ai fait une interface par dessus la SFML ou je peux choisir d'utiliser la SFML ou GLFW pour le fenêtrage car la SFML ne gère pas l'api VULKAN et j'ai déjà commencé à coder la partie SFML pour gérer vulkan les classe RenderTexture, Texture, Shader et tout ça je les ai recodée avec Vulkan mais j'ai pas su coder les renderers pour les lumières, les ombres, la transparence, la réfraction et le raytracing car je manque de connaissances avec l'api vulkan et j'ai pas trouvé des tutoriels en français pour faire ça.)
-Le FPS est encore trop bas lorsque je passe à la 3D et que j'affiche tout (ombres, lumières, réfraction, transparence et surtout le raytracing) là aussi j'aurai besoin d'aide mais je n'ai pas encore trouvé, donc j'ai laissé tombé la 3D.
-Gestion des jeux sur navigateur web. (Je n'ai pas encore essayé de le faire)
-Gestion des vidéos pour les cinématiques de jeux. (Je n'ai pas encore essayé de le faire non plus)
-Gestion d'un système de voxels. (Je n'ai pas encore essayé)
Sinon ODFAEG gère déjà beaucoup de chose que la SFML ne gère pas car la SFML n'est pas un framework ni un moteur de jeux mais juste une petite lib.
Et je voulais un moteur de jeux qui fonctionne avec du code c++ compatible avec n'importe quel IDE et qui ne génère pas de code pour que tout les jeux créer avec ODFAEG ne soient pas des clônes avec juste les assets qui changent mais que le développeur peut développer plus librement. De ce fait le moteur peut intégrer des fichiers c++ créés avec code::blocks ou visual c++ et peut même créer des objets définis à l'aide de fichiers c++ à l'aide d'une interface graphique comme par exemple, des monstres, des quêtes, des pnjs, etc...
Je ferai suivre les tutoriels sur l'éditeur de niveau. (ODFAEG Creator) Je dois encore créer le premier niveau du jeux et le charger dans le jeux grâce à la sérialisation.