Partage
  • Partager sur Facebook
  • Partager sur Twitter

Castor3D

Moteur 3D qui affiche des trucs

    23 février 2022 à 1:38:06

    Présentation

    Castor3D est un moteur 3D multi-plateformes (Linux et Windows pour l'instant).
    Il supporte Vulkan, et utilise Ashes pour étendre ce support sur OpenGL et Direct3D11.

    La documentation du projet est contenue dans les headers et peut être générée via Doxygen.
    Le projet en lui-même est compilable sur les plateformes supportées en utilisant CMake.

    Ce moteur est encore un work in progress (ça fait 16 ans, d'ailleurs).
    Téléchargez le code source sur GitHub pour contribuer !
    Si vous avez des question, n'hésitez pas à me les poser sur le serveur Discord de mes projets

    Attention, ceci n'est pas un moteur de jeu !

    Fonctionnalités

    • Clustered lighting pour le calcul de toutes les sources lumineuses.
    • Utilisation d'un visibility buffer pour les objets opaques.
    • Weighted Blended rendering pour les objets transparents.
    • Normal mapping (avec utilisation du Mikktspace ou spécification explicite des bitangentes).
    • Shadow Mapping (avec choix entre Raw, PCF ou Variance Shadow Maps).
    • Parallax Occlusion Mapping.
    • Screen Space Ambiant Occlusion (en implémentant le Scalable Ambiance Obscurance).
    • Reflection/Refraction Mapping.
    • Rendu PBR (Metallic/Roughness et Specular/Glossiness) et rendu Phong/Blinn-Phong.
    • Rendu HDR avec application de divers opérateurs de tone mapping ainsi que divers opérateurs de colour grading.
    • Screen Space Subsurface Scattering (sans la backlit transmittance pour l'instant).
    • Volumetric Light Scattering pour la source directionnelle, si elle projette des ombres.
    • Cascaded Shadow Maps pour la source lumineuse directionelle.
    • Global Illumination, via les Light Propagation Volumes (layered ou pas) ou le Voxel Cone Tracing.
    • Frustum culling.
    • Graphe de scène.
    • Graphe de rendu (en utilisant RenderGraph).
    • Architecture modulaire, à base de plug-ins.
    • Génération automatique de shaders, en fonction de la configuration du pipeline.
    • Ecriture du code du shader directement depuis le code C++ (en utilisant ShaderWriter).
    • Scènes décrites dans un format texte facilement compréhensible et extensible.
    • Rendu synchrone (timers) ou asynchrone (thread).
    • Utilisation de Mesh et Task shaders, si disponibles.
    • Primitives de GUI.

    Plugins implémentés

    Importers

    • ASSIMP, utilisant la bibliothèque assimp pour l'import d'une grande variété de formats.
    • glTF, en utilisant la bibliothèque fastgltf pour un support du glTF 2.0 plus précis que clui fourni via assimp.

    PostEffect

    • Bloom : une implémentation de HDR Bloom.
    • PbrBloom : une implémentation de PBR Bloom.
    • DrawEdges : Détecte et dessine les bordures, basé sur les normales, la profondeur, et/ou l'ID d'objet.
    • FilmGrain : Pour afficher un grain sur le rendu.
    • GrayScale : Conversion en niveaux de gris.
    • LightStreaks (utilisant Kawase Light Streaks).
    • FXAA : un antialiasing rapide de qualité basique.
    • SMAA : un antialiasing temporel de bonne qualité.
    • Linear Motion Blur.
    • DepthOfField : Implémentation du depth of field décrit ici.

    Generators

    • DiamondSquareTerrain : Génération de terrains, utilisant l'algorithme diamond square pour générer des reliefs.

    Generic

    • ToonMaterial : Un ensemble de matériaux toon, à combiner avec le plugin DrawEdges.
    • WaterMaterial: Un matériau de rendu de l'eau, basé sur l'utilisation de plusieurs normal maps.
    • FFTOceanRendering : Permet le rendu d'océan en se basant sur les transformées de Fourier.
    • WavesRendering : Rendu de surfaces planes d'eau, basé sur l'utilisation de normal maps.
    • AtmosphereScattering : Implémentation de rendu de ciel et d'atmosphère (Implémentation de Scalable and Production Ready Sky and Atmosphere Rendering Technique).

    ToneMapping

    • None : Un passe plats, utilisé pour le rendu sur écran HDR.
    • Linear : L'opérateur par défaut.
    • Haarm Pieter Duiker.
    • Hejl Burgess Dawson (aussi appelé Filmic).
    • Reinhard.
    • Uncharted 2.
    • ACES.

    Autres applications

    • CastorViewer : Visualiseur de scènes utilisant Castor3D.
    • CastorMeshConverter : Convertisseur de divers formats de fichier de maillaige vers le format Castor3D.
    • CastorMeshUpgrader : Met à jour les fichiers de maillage utilisant un format Castor3D antérieur à la dernière version.
    • HeightMapToNormalMap : Convertit une height map en normal map.
    • ImgConverter : Projet de conversion de tout type d'images vers XPM ou ICO.

    Screenshots

    Intel Sponza, Candles, Bloom Sponza, VCT Cerberus Park, Comparison Nyra, PBR SanMiguel, PBR SanMiguel, PBR, LPV Bistro, PBR, VCT FFTOcean, Terrain

    -
    Edité par dragonjoker 21 juillet 2024 à 12:13:22

    • Partager sur Facebook
    • Partager sur Twitter

    Si vous ne trouvez plus rien, cherchez autre chose.

      20 mars 2022 à 1:02:53

      Version 0.12.0

      Les changements importants apportés par cette nouvelle version sont les suivants :

      • Utilisation de RenderGraph pour la construction du frame graph.
      • Utilisation des bindless textures.
      • Implémenté le MultiDrawIndirect.
      • Implémentation d'un écran de chargement.
      • Implémentation des animations de textures.
      • Implémentation des animations de scene nodes.

      Nouvelles fonctionnalités

      Generic

      • Ajout du plugin DrawEdges, pour détecter et dessiner les bordures.
      • Implémentation d'un plugin de rendu basique d'océan.
      • Implémentation d'un plugin de rendu d'océan basé sur les Fast Fourier Transform.
      • Implémentation d'un plugin de rendu d'eau sur surface plane.
      • Implémentation d'une collection de matériaux toon.

      ToneMappings

      • Ajout d'un plugin de tone mapping ACES.

      Tools

      • Ajout de l'application HeightMapToNormalMap.

      Modifications

      CastorUtils

      • Ajout du support des tile maps.
      • Ajout de la conversion depuis array map vers tile mapp
      • Ajout d'AsyncJobQueue, basée sur ThreadPool.
      • Ajout de GliImageWriter.
      • FreeImageLoader est maintenant optionnel.
      • Ajout de la compression en BC1/BC3 lors du chargement des images, en utilisant cvtt.
      • Ajout d'une implémentation de SpinMutex.
      • TextWriter écrit maintenant dans un castor::StringStream.
      • Génération des mipmaps lors du chargement des images.
      • Intégration de la gestion des parsers additionnels dans FileParser.
      • Le parsing des brace files se fait maintenant en deux étapes.

      Castor3D

      • Ajout du frustum culling pour les point lights shadow maps.
      • Ajout du support de plusieurs rendering devices.
      • Tous les post effects sont maintenant créés avec la render target, pour être activables/désactivables à l'envi.
      • Ajout de l'import de scène en plus de l'import de mesh.
      • Ajout d'une passe Blinn-Phong.
      • Généralisation des shaders, en passant par des classes intermédiaires : LightingModel, ReflectionModel et LightMaterial.
      • Ajout d'un TextureCache, utilisé pour fusionner les images utilisées par une passe.
      • Ajout d'un moyen d'avoir des objets non sélectionnables.
      • Ajout d'options de rotation de mesh lors de l'import.
      • Ajout du support d'un second set d'UV.
      • Ajout du support de render nodes passes custom.
      • Ajout du support des tessellation shaders pour les render nodes passes.
      • Ajout du support des material passes non affectées par l'éclairage.
      • Ajout du support des safe bands dans Camera.
      • Ajout de la possibilité de remapper les composantes d'une texture lors de l'import d'une scène.
      • La depth prepass écrit maintenant aussi les normales.
      • Implémenté les LPV pour les point lights.
      • Les Events peuvent maintenant être ignorés.
      • Fusion des LightingModels PBRMR et PBRSG en interne.
      • Ajout de la possibilité d'exclure des objects des tests de culling.
      • Suppression de la correction gamma pour les textures, en utilisant les formats SRGB.
      • Suppression des PassBuffers spécifiques.
      • Réorganisation de l'écriture et lecture des Pass dans les fichiers de scène.
      • Déplacement des profils de SSS dans leur propre shader buffer.

      CastorGui

      • Ajout des classes de style, afin d'en avoir une meilleure gestion.

      DiamondSquareTerrain

      • Ajout d'une option permettant de désactiver la random seed.
      • Ajout d'une option permettant de tiler les UV.

      AssimpImporter

      • Améliorations relatives à l'import des matériaux.
      • Amélioration de l'import des animations.
      • Ajout de l'import des scene nodes et sources lumineuses.

      GuiCommon

      • Ajout de l'affichage de la configuration des render nodes passes custom.
      • La configuration des PostEffects a été ajoutée à l'arbre.
      • Suppression de la liste de matériaux, et de doublons dans la vue de scène.

      Corrections

      CastorUtils

      • Correction de l'inversion de Matrix2x2 et Matrix3x3.
      • Correction de l'allocation alignée sous Windows.

      Castor3D

      • Correction d'un crash lorsqu'une keyframe de skinning manque.
      • Correction de la background pass par rapport au brouillard.
      • Correction de l'interaction entre l'indirect diffuse et les réflexions.
      • Correction d'un crash en release avec le morphing.
      • Correction de l'import/export des animations de morphing.
      • Correction de l'éclairage indirect dans les forward passes.
      • Correction des point shadow maps.
      • Correction des spot shadow maps.
      • Correction du traitement des cleanup event dans la render loop.
      • Correction de la création de render target creation, afin de lui donner les bonnes taille et pixel format.
      • Correction de la réinitialisation de la swapchain lors de l'initialisation de la RenderWindow.
      • Correction du changement au runtime du tone mapping.

      GuiCommon

      • Correction d'un crash dans LanguageFileParser.
      • Correction d'un crash lors du changement de l'algo de GI d'une source lumineuse.
      • Correction des crashes lors du chargement des images HDR.
      • Correction de l'affichage des propriétés des textures.

      Bistro, PBR, VCT

      -
      Edité par dragonjoker 20 mars 2022 à 1:03:36

      • Partager sur Facebook
      • Partager sur Twitter

      Si vous ne trouvez plus rien, cherchez autre chose.

        20 mars 2022 à 13:34:36

        Je me concentre beaucoup là-dessus, et je suis donc content que ça te fasse cet effet :D
        • Partager sur Facebook
        • Partager sur Twitter

        Si vous ne trouvez plus rien, cherchez autre chose.

          20 mars 2022 à 14:41:17

          Est-ce qu'un hello world est prevu? ce serait sympa pour ceux qui veulent tester et voir a quoi ressemble l'API
          • Partager sur Facebook
          • Partager sur Twitter
            20 mars 2022 à 14:50:17

            Il faudrait que j'en écrive un, ça fait tellement longtemps que j'utilise CastorViewer ^^'

            Après, le code de CastorTestLauncher est assez basique, et dans mon repo de scènes de test ( https://github.com/DragonJoker/Castor3DTestScenes ), la scène Common/Test-1.cscn est on ne peut plus simple (elle affiche un simple fond gris).

            • Partager sur Facebook
            • Partager sur Twitter

            Si vous ne trouvez plus rien, cherchez autre chose.

              11 juin 2022 à 12:27:03

              Version 0.13.0

              • Amélioration drastique des performances.
              • Implémentation des mesh et task shader, avec frustum culling et backface culling.
              • Refonte de l'import des données externes (meshes, skeletons, animations).
              • Implémentation des morph target animations, en remplacement des per-vertex animations.
              • Ajout du support de multiples sets de coordonnées de textures (jusqu'à 4).
              • Ajout des couleurs de sommets.
              • Fusion des deux workflows de PBR implémentés en un hybride, plus flexible par rapport à l'import de scènes externes.
              • Partager sur Facebook
              • Partager sur Twitter

              Si vous ne trouvez plus rien, cherchez autre chose.

                27 novembre 2022 à 11:24:51

                Version 0.14.0

                Les changements importants apportés par cette nouvelle version sont les suivants :

                - Ajout du support de changement d'unité de longueur du moteur.
                - Ajout de la personnalisation des passes de rendu du fond.
                - Ajout du support de mélange des matériaux multi-passes.
                - Refonte complète de Pass, en introduisant des PassComponent, pour une meilleur flexibilité.
                - Implémentation du support complet des matériaux glTF et de leurs extensions.

                Generic

                - Implémentation d'atmosphere scattering depluis [Scalable and Production Ready Sky and Atmosphere Rendering Technique](https://sebh.github.io/publications/egsr2020.pdf).
                - Premier jet d'implementation de nuages.

                Generators

                - Amélioration pour DiamondSquareTerrain, ajout du mode île, et support des biomes.

                Importers

                - Amélioration d'AssimpImporter par rapport aux matériaux glTF.
                - Suppression du plugin PlyImporter.

                PostEffects

                - Implémentation du PBR Bloom, effectuant un bloom sur l'image complète.

                Screenshots

                glTF Attenuation
                glTF Iridescence
                glTF Sheen
                glTF Transmission
                glTF Clearcoat

                -
                Edité par dragonjoker 27 novembre 2022 à 11:29:03

                • Partager sur Facebook
                • Partager sur Twitter

                Si vous ne trouvez plus rien, cherchez autre chose.

                  28 avril 2023 à 23:03:22

                  Version 0.15.0

                  Changements importants

                  • Corrections du binding COM, et implémentation d'une application de visualisation de scène en C#.
                  • Support de multiples modèles d'éclairage dans la même scène.
                  • Amélioration des ombres PCF, en échantillonnant un disque de Poisson.
                  • Castor3D utilise maintenant un reversed Z buffer.
                  • Améliorations drastiques des preformances de préparation et rendu des incustations.
                  • Suppression de la majorité des utilisations de std::shared_ptr.
                  • Amélioration de la prise en compte du composant spéculaire en PBR, par rapport à ses interactions avec la metalness.
                  • Amélioration des réflexions via les environment maps, elles sont plus cohérentes avec l'IBL.

                  Nouvelles fonctionnalités

                  • Implémentation de noeuds statiques, qui sont dessinés une seule fois lors des passes de shadow map ou de voxellisation.
                  • Déplacement de tout le code de CastorGui dans Castor3D, et ajout de nouveaux contrôles d'IHM.
                  • Support de l'inversion des normales, soit à l'import d'un mesh, soit via la passe de matériau.
                  • Mise à jour des tree item properties, par rapport aux composants de passe de matériau.

                  Screenshots

                  Multiple Lighting Models Spheres

                  Multiple Lighting Models Nyras

                  -
                  Edité par dragonjoker 28 avril 2023 à 23:17:26

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Si vous ne trouvez plus rien, cherchez autre chose.

                    22 avril 2024 à 13:56:40

                    Version 0.16.0

                    Changements importants

                    • Implémentation du clustered lighting.
                    • L'atténuation des sources lumineuses est maintenant une distance max.
                    • Implémentaiton d'opérateurs de colour grading.
                    • Implémentation des context blocks dans le scene file parser.
                    • Suppression du deferred rendering.

                    Nouvelles fonctionnalités

                    • Ajout du support de l'espace tangent de Mikkelsen.
                    • Implémentation d'un importeur glTF.
                    • Implémentation d'un plugin de depth of field.
                    • Ajout du support des écrans HDR.
                    • Les importeurs de scène peuvent maintenant importer les caméras.
                    • Réimplémentation des submesh components à la manière des pass components.
                    • Déplacement des données d'ombre des sources lumineuses dans un buffer séparé.
                    • Correction de l'interaction du light scattering avec les ombres.
                    • Refonte de l'upload en VRAM des ressources.
                    • Réparation des particules GPU.
                    • Renommage des évènements pour plus de clarté.
                    • Expression de l'océan FFT en termes de pass component et submesh component.
                    • Implémentation de l'eau en tant que pass component.
                    • Refonte de l'update des render nodes pour améliorer les performances à ce niveau.
                    • Réécriture de l'écran de chargement.

                    Screenshots

                    • Intel Sponza avec ses 10000 bougiesIntel Sponza, 10000 candles

                    -
                    Edité par dragonjoker 29 avril 2024 à 11:48:54

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Si vous ne trouvez plus rien, cherchez autre chose.

                      26 avril 2024 à 19:06:49

                      Salut c'est impressionnant.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        9 juillet 2024 à 18:04:42

                        [edit] les cours des universités américaines n'ont rien à faire sur un forum français

                        -
                        Edité par jaipasdideedepseudo 11 juillet 2024 à 15:29:56

                        • Partager sur Facebook
                        • Partager sur Twitter
                          9 juillet 2024 à 18:19:40

                          C'est independant, pour les collisions on va preferer un moteur physique (avec bien souvent des modeles simplifies pour alleger le moteur, et un import des mesh 3d pour de la collision precise) bullet est sympa, il y en a d'autres.

                          Pour l'ia, meme chose, on importe les modeles dans un systeme style recast/detour pour faire le path finding et autre joyeusete, et le raytrace fera le reste.

                          Pour l'occusion map, c'est purement interne au moteur 3d ca non?, c'est utile ailleurs dans le moteur de jeu?

                          • Partager sur Facebook
                          • Partager sur Twitter
                            9 juillet 2024 à 18:52:47

                            [edit] les cours des universités américaines n'ont rien à faire sur un forum français

                            -
                            Edité par jaipasdideedepseudo 11 juillet 2024 à 15:29:38

                            • Partager sur Facebook
                            • Partager sur Twitter
                              10 juillet 2024 à 9:50:02

                              Et sinon, tu n'as toujours pas compris que je fais un moteur 3D et pas un moteur de jeu ?
                              Ce dont tu parles ne me regarde pas, l'utilisateur fait ce qu'il veut.

                              Si tu n'as pas compris comment intégrer Castor3D dans un jeu, c'est un classique PIBCAK, et n'est toujours pas mon problème (en fait je m'en fiche complètement, je ne fais pas Castor3D pour les autres, mais pour moi, et autant je ne fais pas de dev de jeu, autant le repo en contient une ébauche qui pourrait t'aider à comprendre comment faire).

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Si vous ne trouvez plus rien, cherchez autre chose.

                                10 juillet 2024 à 12:46:50

                                jaipasdideedepseudo a écrit:

                                La map d'occlusion culling ça a longtemps été la base même des moteurs de jeu parce que ça guide tout, le son l'IA, etc...


                                ok je ne connaissais pas ce principe sous ce nom, mais alors ca aussi c'est independant du moteur 3d, parce que chaque module aura besoin de son format propre, et c'est la responsabilite du moteur de jeu de faire la traduction.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  11 juillet 2024 à 16:58:22

                                  dragonjoker me réclame de participer à son topic tout ça pour me dire que les algos de moteurs de jeux il en a rien à foutre

                                  ok

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    12 juillet 2024 à 12:20:11

                                    jaipasdideedepseudo a écrit:

                                    dragonjoker me réclame de participer à son topic tout ça pour me dire que les algos de moteurs de jeux il en a rien à foutre

                                    ok


                                    Exactement !

                                    C'est même LA raison qui fait que je t'ai dit de venir m'interpeller ici.
                                    Pour que je puisse te dire (une fois de plus) que Castor3D est un moteur de rendu et PAS un moteur de jeu.
                                    Et donc, que toutes les problématiques qui sortent du contexte d'un moteur de rendu ne me concernent pas !

                                    Il serait temps que ça rentre...

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Si vous ne trouvez plus rien, cherchez autre chose.

                                      12 juillet 2024 à 13:26:36

                                      Wé bon ok c'est une librairie de rendu pour être précis (où est la doc ?), avec ces termes on se comprend,

                                      Mais vu que tu la postes partout sur les forums de programmation de jeux vidéo c'est que t'as l'intention qu'on s'en serve non ?.. Tu sais très bien que ça m'intéresse seulement suffit pas de nous dire "démerdez-vous avec la source", les gars comme moi qui souffrent cruellement de l'absence d'entraide entre devs français, ça me motive pas à mettre le nez dans tes 15 tonnes de code, ça m'agresse. A aucun moment je ne mets en cause tes compétences, c'est ta manière de "communiquer", ou je dirais de ne pas communiquer du tout, qui fait qu'on voit pas comment se servir de ton truc. Je t'ai déjà dit je raisonne à échelle collective et si l'informatique française est dans la merde c'est la faute à l'éducation nationale arriérée qui nous ont conditionné au chacun dans son coin. Ben faut changer ça sinon tu vas continuer à bosser pour rien.

                                      Je sais que les français et la conscience collective ça fait deux mais quand on bosse dans les professions intellectuelles on est supposés aller à contre-courant du troupeau.

                                      10 ans que je suis l'évolution de ton truc mais au lieu de me motiver à me taper tes douze mille pages de sources tu m'a poussé dans la secte des "trois polygones c'est un de trop".

                                      -
                                      Edité par jaipasdideedepseudo 15 juillet 2024 à 14:17:18

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        14 juillet 2024 à 17:00:24 - Message modéré pour le motif suivant : Message complètement hors sujet


                                          15 juillet 2024 à 17:25:36 - Message modéré pour le motif suivant : Message complètement hors sujet


                                            15 juillet 2024 à 17:30:55

                                            @jaipasdideedepseudo Bonjour, je modère vos propos, cela vous évitera de revenir dans quelques heures pour les effacer. Vous pouvez continuer la discussion par message privé.
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              16 juillet 2024 à 15:12:33

                                              J'aimerais bien m'inspirer de ce moteur de rendu pour mon moteur de jeux. J'ai pas encore regardé les sources faudrait que je m'y mette.

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                16 juillet 2024 à 16:26:14 - Message modéré pour le motif suivant : Message complètement hors sujet


                                                  16 juillet 2024 à 20:20:40

                                                  Encore faudrait-il que je m'y retrouve dans son code...
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    17 juillet 2024 à 8:17:57

                                                    La doc ? Tu trouveras la doc de la version 0.16.0 sur la page de la release sur GitHub: https://github.com/DragonJoker/Castor3D/releases/tag/v0.16.0

                                                    Il y a aussi une version en ligne sur le github.io: https://dragonjoker.github.io/Castor3D/doc/

                                                    Donc elle est là, encore un cas de PIBKAC...

                                                    Après je ne vais pas mentir, c'est une doc technique, avec aucune explication du fonctionnement global, ni de cas d'utilisation, mais bon, on fait avec le temps qu'on a

                                                    -
                                                    Edité par dragonjoker 17 juillet 2024 à 8:19:18

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    Si vous ne trouvez plus rien, cherchez autre chose.

                                                      17 juillet 2024 à 17:22:55

                                                      Ah oui c'est très technique en effet ça explique pas l'utilisation du moteur ça montre juste les classes.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        17 juillet 2024 à 22:04:45

                                                        si on daignait repartir de zéro mais en équipe en tenant compte des besoins de chacun, au lieu de chacun-pour-sa-gueule, on en serait pas là

                                                        mon besoin est de coder pour gagner des thunes et pas pour s'amuser le dimanche mais ça vous en avez rien à foutre

                                                        vous avez choisi de penser qu'à vos gueules alors tant pis

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          21 juillet 2024 à 12:12:32

                                                          OmbreNoire a écrit:

                                                          Ah oui c'est très technique en effet ça explique pas l'utilisation du moteur ça montre juste les classes.


                                                          C'est la raison pour laquelle j'ai créé un serveur sur Discord, pour pouvoir répondre aux questions que l'on me poserait (le lien est sur mon GitHub, et sur le post de présentation du projet sur ce fil).
                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Si vous ne trouvez plus rien, cherchez autre chose.

                                                            30 juillet 2024 à 13:49:52

                                                            J'ai un problème je peux pas publier de message quand je veux enregistrer mon compte ça me dit que cette adresse mail est déjà utilisée. :o

                                                            EDIT: C'est bon.

                                                            -
                                                            Edité par OmbreNoire 30 juillet 2024 à 13:59:40

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Castor3D

                                                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                            • Editeur
                                                            • Markdown