+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Expert éminent

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    juin 2005
    Messages
    1 697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2005
    Messages : 1 697
    Points : 8 811
    Points
    8 811
    Billets dans le blog
    3

    Par défaut Castor3D - Version 0.9.0

    Présentation
    Ce moteur 3D (ce n'est pas un moteur de jeu!!) a l'ambition d'être multiplateforme.
    Pour l'instant, le développement sous Windows et Linux est complètement exploitable. Pour Linux, la distribution testée est une Archlinux amd64.
    Support de nombreux formats de fichiers en utilisant ASSIMP.

    Version 0.9.0
    Au programme : améliorations des performances, systèmes de particules, Skybox, FXAA.



    Modifications
    CastorUtils
    • Abandon de libzip et intégration de minizip aux sources.
    • Ajout des classes WorkerThread et ThreadPool.
    • Amélioration de la classe Signal, grâce à l'ajout de la classe Connection, permettant de se déconnecter du signal sans en avoir l'instance, et permettant au signal de déconnecter tous les slots à sa destruction.
    • Ajout des classes Range et RangedValue, pour utiliser facilement ces concepts.
    • Ajout d'une classe de récupération des informations CPU : CpuInformations.
    • Déplacement du code spécifique aux plateformes dans le sous dossier Platform/<nom plateforme>, pour faciliter l'ajout de nouvelles plateformes.
    • Compile maintenant sur ARM (pour un futur port sur Android).


    Castor3D
    • Revue complète de la boucle de rendu : RenderPipeline n'est désormais plus une instance unique, il contient maintenant toutes les informations nécessaires au rendu d'un type d'objet (états, programme, liaisons avec les UniformBuffers, ...).
      Ce changement a eu lieu pour préparer l'arrivée de Vulkan, dans lequel le pipeline de rendu ne peut plus être modifié après sa création, ce qui est maintenant le cas dans Castor3D.
    • Le rendu a été dispatché dans des RenderPass, qui ont chacune une ou plusieurs RenderQueues, qui sont mises à jour de manière asynchrone sur le CPU, en utilisant un pool de threads.
      Cela permet à la boucle GPU d'être débarassée de la plupart des calcules CPU.
    • Ajout des Skybox.
    • L'export binaire a été complètement repensé, pour utiliser un format par chunk de données (comme LWO ou 3DS).
      Il est utilisé pour les maillages et les squelettes.
    • L'interface des plug-ins a été uniformisée.
    • Implémentation des algorithmes de brouillard basiques (linéaire, exponentiel et exponentiel au carré).
    • Les animations de type morphing (par sommet) sont maintenant supportées par Castor3D
    • Implémentation du frustum culling.
    • Implémentation d'une passe de Colour picking.
    • Implémentation du shadow mapping, les sources lumineuses peuvent produire des ombres, et les objets peuvent projeter des ombres.
    • Implémentation d'un système de particules, laissant à l'utilisateur le choix de l'implémentation (CPU au travers de la surcharge de classes, GPU via le Transform Feedback ou via les Compute Shaders).
    • Correction des équations de calcul d'éclairage en GLSL, ainsi que de la gestion des sources lumineuses (orientation uniquement via SceneNode), pour avoir un rendu correct sans hacks.
    • Intégration des Compute shaders à Castor3D, avec ses compagnons les Shader Storage Buffers et Atomic Counter Buffers.
    • L'implémentation des Textures a été complètement revue, nous avons maintenant la classe TextureLayout, qui contient les TextureImages et le TextureStorage par image.
      Cela a permis la création des textures cube.
    • Le transfert des textures en RAM a été corrigé.
    • Le rendu des Billboards n'utilise plus les geometry shaders, mais repose maintenant sur l'instantiation hardware.
    • FrameVariableBuffer a été remplacée par UniformBuffer, qui ne dépend plus du programme, et par UniformBufferBinding, qui elle dépend du programme utilisé.
      Les instances de UniformBufferBinding sont stockées par RenderPipeline.
    • FrameVariable a été remplacée par 2 classes : Uniform (pour les variables uniformes d'un UniformBuffer), et PushUniform (pour kes variables uniformes hors d'un UniformBuffer).


    RenderSystems
    • Ajout de GlES3RenderSystem, pour commencer le port Android.
    • Mise à jour e GlRenderSystem pour supporter les fonctionnalités de Castor3D.


    Techniques
    • DeferredRenderTechnique et DeferredMsaaRenderTechnique sont maintenant de vraies techniques de rendu différé, utilisant une passe d'éclairage par source lumineuse, en prenant en compte la zone d'effet de la source.
    • DeferredRenderTechnique est maintenant la technique de rendu par défaut, si aucune n'est spécifiée.


    PostEffects
    • Création de l'effet GrayScale.
    • Création de l'effet FXAA.


    Téléchargements

    Exécutables
    Installeur de Castor3D (Windows x86).
    Installeur de Castor3D (Windows x64).

    Données optionnelles
    Images et scènes de test.
    Documentation de l'API (français).
    Documentation de l'API (anglais).

    Système de particules


    Morphing


    Picking


    Brouillard
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  2. #2
    Membre régulier
    Profil pro
    retraité
    Inscrit en
    décembre 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : décembre 2010
    Messages : 53
    Points : 77
    Points
    77

    Par défaut Avantage de celui-ci ?

    Bonjour,
    il y en a plein, quelle est l'avantage de celui-là ? par rapport à Ogre3D par exemple.
    Bonne soirée

  3. #3
    Expert éminent

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    juin 2005
    Messages
    1 697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2005
    Messages : 1 697
    Points : 8 811
    Points
    8 811
    Billets dans le blog
    3

    Par défaut

    Salut!

    Ce moteur n'est pas à la hauteur d'un Ogre3D ou d'un Irrlicht.
    Je travaille dessus pendant mes temps libres depuis un long moment (11 ans, ça fait long ^^'), mais si je voulais le rendre aussi bien que les autres il faudrait que je ne sois pas le seul développeur dessus.

    Donc au final, il n'y a, je pense, pas d'intérêt réel à passer dessus, si on utilise déjà un autre moteur 3D.

    Mais ça me fait plaisir de le voir avancer, et de bosser dessus, les problématiques que je résouds dessus sont tout autant de challenges qui me font progresser.
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2015
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : mars 2015
    Messages : 79
    Points : 78
    Points
    78

    Par défaut

    Waouw , Il a beaucoup évoluer . Tu as un bon état d'esprit , j'adore même si je sais pas encore utiliser un moteurs 3D dans un projet . mais je compte bien apprendre a le faire avec ton aide biensur .

  5. #5
    Expert éminent

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    juin 2005
    Messages
    1 697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juin 2005
    Messages : 1 697
    Points : 8 811
    Points
    8 811
    Billets dans le blog
    3

    Par défaut

    Merci, j'essaie de toujours faire mieux, on verra bien jusqu'où je peux aller ^^
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

Discussions similaires

  1. Castor3D, Version 0.8.0
    Par dragonjoker59 dans le forum Castor3D
    Réponses: 9
    Dernier message: 14/04/2016, 11h45
  2. Castor3D, version 0.7.0!
    Par dragonjoker59 dans le forum Castor3D
    Réponses: 0
    Dernier message: 03/12/2014, 10h59
  3. Castor3D, version 0.6.1.2 - Ajout du support Direct3D 9
    Par dragonjoker59 dans le forum Castor3D
    Réponses: 0
    Dernier message: 17/03/2011, 09h33
  4. Castor3D en version 0.6.0.0
    Par dragonjoker59 dans le forum Castor3D
    Réponses: 0
    Dernier message: 05/11/2010, 01h02
  5. Castor3D en version 0.5.0.2
    Par dragonjoker59 dans le forum Castor3D
    Réponses: 0
    Dernier message: 14/09/2010, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo