Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Moteur CW / C++] GZE - GroundZero Engine

Un moteur, Zéro dépendance, du vrai multiplateforme PC/Mobile/MCU

    23 mars 2014 à 17:54:17

    Bienvenue sur mon projet, depuis plusieurs années je travaille sur un moteur C++/C~ qui ne demande absolument aucune dépendance en plus d'être multiplateformes.

    Pour une utilisation complète, voir les projets relatif de la triologie :

     CW (Langage) | CWC (Compilateur)| GZE (Moteur)


    Ce projet à pour but de servir de base pour n'importe quel projet, ce sera votre Ground Zero.



    En savoir plus sur le projet

    Genèse

    Au départ, l'idée était de faire du graphique, en manipulant un tableau de pixels sans utilisé de librairie pour être compatible partout et fonctionner sur de petite système, tel un microcontrôleur. C'est maintenant bien plus que ça, avec entre autre l'ajout d'OpenGL. Le moteur fait aussi bien 2D que de la 3D. C’est comme ça qu’est né GroundZero, le moteur graphique fait à partir de zéro  :)


    Le moteur est programmé en C++/C~, il est prévu pour n'importe quel compilateur C++. Je m’en tiens au minimum pour que ça puisse fonctionner sur le plus grand nombre de machine et que ça soit facilement portable.
    Le moteur sera également compatible OpengGL ES2, pour supporter les mobiles/tablettes, les navigateurs Web (WebGL) ainsi que le petite plateforme comme Raspberry Pie.


    Généralités et avancement


    Images:

    Windows :

     VM de Kali Linux avec transparence:

    Android :


    MCU Stm32f4 :



    Systemes :

    • Windows  x32/x64
    • Linux  x32/x64
    • Android
    • -Stm32f429 Discovery avec DMA2d
    • -N'importe quel Microcontrôleurs 32bit en spécifiant le pointer sur le buffer de pixels

    Moteur graphique :

    • Coordonnées 2d/3d
    • Rotation X, Y, Z
    • Easing/interpolation complet des objets sur tout les propriétés.
    • Redimensionnement: ( height, width) + inversion
    • Brightness : global, par couleur
    • Transparence
    • Gestion par imbrication de clips, l’enfant obtient la propriété du parent (coordonné et tous ce qui est mentionné ci-dessus)

    Autres caractéristiques:

    • Possibilité de faire des fenêtres transparente, sans bordure avec la gestion indépendante des pixels semi-transparents, parfait pour ceux qui veulent créer des Widgets. Fonctionne à la fois sous Windows et Linux.
    • Système d'inclusion des fichiers ressources à même le binaire, par exemple les images .png sont "embed" dans le .exe
    • Types de bases fait maison: String, Array dynamique, Liste, le tout muni de pointeurs intelligents intégrés (comptage par référence)
    • Delegate sur fonction membre avec ou sans paramètres

    Optimisations :

    • Boucle graphique optimisé au maximum, pratiquement que des "bitwise" et aucun appel de fonction.
    • L'écran est dessiné à l’envers (du plus près au plus loin), ce qui me permet d’éviter de recalculer les pixels cachés
    • Compilation rapide.
    • Aucun DLL requis.
    • Binaire léger.

     Objectifs

    • Correction de bogues (En cours)
    • Animation (Séquence d'images) (En cours)
    • Font et texte dynamique
    • Rafraichissement des zones de changements uniquement (Ce qui permet au programme de dormir complètement)
    • Dessin de lignes, courbes et remplissage de formes
    • Moteur de physique 2d
    • Audio, lecture midi/wav/mp3/ogg
    • Version WebGL


    Le projet et son originalité

    Le projet n'est pas qu'un moteur graphique, c'est tout un framework avec tout les outils nécessaires pour la base d'un projet, au même titre que la SDL et SFML. Je mise tout sur la simplicité, sans perte de performances, ni de libertés. Je souhaite aussi un maximum de portabilité sur le plus grand nombre de machines.


    Réalisation


    Vidéo :

    GroundZero sur le kit de développement Stm32f429 Dicovery avec DMA2D

    Drum réalisé sur microcontrôleur Stm32f4 et GroundZero pour la partie graphique

    Exécutable:

    Pour l’instant vous pouvez tester les débuts du moteur, le tout ne comprend qu'un seul fichier puisque qu’aucun dll/so n'est requis et que toutes les images sont incluses dans le binaire.

    Windows :
    GroundZero_Win_x32_v0.00
    GroundZero_Win_x64_v0.00


    Linux:
    (Bouton droit->enregistrer sous, ensuite Bouton droit sur l'application -> Propriété -> Permissions -> Cochez "Allow executing file as program")

    GroundZero_Linux_x32_v0.00
    GroundZero_Linux_x64_v0.00


    -
    Edité par Maeiky 14 novembre 2019 à 6:36:03

    • Partager sur Facebook
    • Partager sur Twitter

    GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

      30 mars 2014 à 6:25:29

      Salut,

      Je ne doute pas que ça a été un travail de longue haleine et qu'il y a des choses très intéressantes dedans, mais de là à dire des choses comme "je trouve les langages de programmation actuels inutilement complexes", "j'ai tout recodé pour que ça soit plus performant", je trouve ça un peu présomptueux quand on sait que lesdits langages ont impliqué des tas de programmeurs de très grand talent durant des années, travaillant en communautés nombreuses et actives. Aucun code écrit par une personne seule ne pourra rivaliser avec ce genre de choses, alors je doute franchement que recoder les utilitaires de base comme les string soit une idée grandiose.

      Après, tu parles beaucoup du moteur graphique mais tu ne fais qu'évoquer vaguement le langage créé, ça serait pourtant intéressant non ? Enfin, bravo pour ta combattivité (5 ans pour un projet solo, il faut être bien motivé) et tes résultats jusqu'à maintenant.

      Bonne continuation !

      • Partager sur Facebook
      • Partager sur Twitter
        30 mars 2014 à 19:03:33

        Merci :)
        Ce que je dis c'est que je les trouves inutilement complexes OU très limités. Donc je veux un langage simple, qui permet autant de possibilités tout en étant aussi performant que le C++. 

        Tout recoder peut être plus performant car l'on a une meilleurs  vision d'ensemble et tout s’agence bien mieux. Mais mon principal but de tout refaire est de me débarrasser de toute les librairies complexes qui peuvent ne pas être portable sur absolument  tout.
        Le moteur graphique ici est coder à 95% par moi, se sont tous mes algorithmes. Un algo reste un algo, ce n'est qu'une logique facilement transposable.
        J'ai déjà commencé à convertir le moteur sur un microcontrôleur ARM, un STM32f4. Je vous en redonne des nouvelles bientôt. :)

        -
        Edité par Maeiky 20 août 2014 à 2:15:57

        • Partager sur Facebook
        • Partager sur Twitter

        GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

          1 avril 2014 à 14:30:30

          Portable ? tu ne fournis même pas de version pour Linux ...

          -
          Edité par Ibuprofene 1 avril 2014 à 14:31:49

          • Partager sur Facebook
          • Partager sur Twitter
            1 avril 2014 à 15:53:49

            Poisson d'avril en avance ?
            • Partager sur Facebook
            • Partager sur Twitter
              1 avril 2014 à 16:43:04

              Une chose à la fois, si je réussi à renter ça dans un microcontrôleur, je crois que ça sera très aisé de faire une version linux :p
              • Partager sur Facebook
              • Partager sur Twitter

              GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                1 avril 2014 à 19:36:54

                Mais ne vaudrait-il pas mieux faire d'abord une version Linux ? (en général tu as plus de chance de tomber sur quelqu'un qui utilise une distrib Linux que quelqu'un qui utilise un microcontrôleur....) Du coup je peux pas tester (flemme d'installer wine ...)

                C'est open source tout ça ?

                • Partager sur Facebook
                • Partager sur Twitter
                  2 avril 2014 à 1:38:25

                  Je fais un portage sur microcontrôleur car le moteur graphique à été initialement pensé pour ça. C'est à dire tout le traitement des pixels, le fait d'utiliser le moins de libraires possible et aussi aucune utilisation des templates. En même temps ça sort de l'ordinaire, et puis j'adore l'électronique :p


                  Mais en effet, je crois qu'il y a beaucoup d'utilisateur Linux ici, donc je vais probablement en faire une version juste après.

                  Pour l'open source, eh bien après avoir passé autant de temps sur mes fonctions graphique, je suis un peu retissant à donner mes sources. Je crois que je vais les fournir, mais ce sera avec une licence, du genre : gratuit pour des logiciels gratuits et payant pour les logiciels commerciales.

                  -
                  Edité par Maeiky 20 août 2014 à 2:15:04

                  • Partager sur Facebook
                  • Partager sur Twitter

                  GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                    2 avril 2014 à 3:05:15

                    Maeiky a écrit:

                    Je fais un portage sur microcontrôleur car l'engin graphique à été initialement pensé pour ça. C'est à dire tout le traitement des pixels, le fait d'utiliser le moins de libraires possible et aussi aucune utilisation des templates. En même temps ça sort de l'ordinaire, et puis j'adore l'électronique :p

                    Ah d'accord mais alors ça change tout ... Je pensais que tu faisais ça pour PC d'ailleurs je comprenais pas bien le but de tout ça mais maintenant que tu le dis, si je résume tu essayes de créer un programme pour manipuler des images qui fonctionne sur un microprocesseur ? et donc pour faire ça tu utilises un langage que tu as crée ? J'ai tout bon ? :D J'ai lu trop vite ton premier post je n'avais pas exactement compris ça....

                    Pour les sources tu fais comme tu veux mais en général il est plus profitable de les fournir à moins que tu ne poursuives un but commercial ;) (--> ici on parle bien des sources de ton moteur graphique ? ou celle de ton langage ? je m'y perd un peu, présenter deux projets en un c'est un peu dur de tout comprendre ;) )

                    EDIT: Qu'est-ce que tu appelles un "engin graphique " ?

                    -
                    Edité par Ibuprofene 2 avril 2014 à 3:07:07

                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 avril 2014 à 5:43:47

                      Ibuprofene a écrit:

                      Ah d'accord mais alors ça change tout ... Je pensais que tu faisais ça pour PC d'ailleurs je comprenais pas bien le but de tout

                      Je fais ça pour le PC avant tout, mais je veux également que ça fonctionne sur un microcontrôleur. Pour les sources, seul ceux de l'engin graphique et ceux générés par mon langage seront accessibles.

                      Je m'en excuse si ce n'est pas très clair, ici je ne présente que l'engin graphique, car mon langage n'est pas encore au point et c'est plutôt indépendant, puis je préfère me créer un IDE avant de faire une release.

                      En attendant, j'ai fais quelques progrès sur microcontrôleur. J'ai réussi à gérer le vertical sync pour une animation fluide et je suis parvenu à compiler tout l'engin dessus. Il ne me reste qu'a charger des PNG, donc pour l'instant je n'affiche qu'un carré noir :p
                      Je suis contant que ça ne rame pas pour l'instant, j'espère que ça sera de même avec une image.

                      Voici une vidéo du résultat :

                      Premier test sur Stm32f4

                      • Partager sur Facebook
                      • Partager sur Twitter

                      GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                        4 avril 2014 à 6:01:12

                        Mais ton language sert à quoi, afficher des images ?

                        • Partager sur Facebook
                        • Partager sur Twitter
                          4 avril 2014 à 17:23:53

                          Bien sûr, mais les images, les transformations et animations ne sont qu'une infime partie. Il y a tout un framework derrière qui sera portable partout, car ce sera des fichiers sources standard compilable sur n'importe quel compilateur C++. Sans parler qu'il sera possible d'y inclure du C++, donc la limite est tout simplement votre imagination.

                          -
                          Edité par Maeiky 7 juillet 2014 à 5:59:26

                          • Partager sur Facebook
                          • Partager sur Twitter

                          GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                            30 mai 2014 à 5:58:14

                            bonjour,

                            C'est génial et j'aime le principe de simplicité, moi tu sais on m'a toujours dit :

                            "il extrêmement difficile de faire simple" on peut donc conclure que "plus c'est simple et mieux c'est"

                            -
                            Edité par Ne0ratek 31 mai 2014 à 11:28:50

                            • Partager sur Facebook
                            • Partager sur Twitter
                            Donne un poisson à un homme, il mangera un jour, apprend lui à pêcher, il mangera toute sa vie. Aide Moi :D
                              30 mai 2014 à 10:34:49

                              Plus ces simple et mieux ces? Franchement ?
                              • Partager sur Facebook
                              • Partager sur Twitter
                                30 mai 2014 à 16:10:55

                                Excusez-moi pour les multiples fautes...:euh:

                                -
                                Edité par Ne0ratek 31 mai 2014 à 11:30:45

                                • Partager sur Facebook
                                • Partager sur Twitter
                                Donne un poisson à un homme, il mangera un jour, apprend lui à pêcher, il mangera toute sa vie. Aide Moi :D
                                  31 mai 2014 à 5:24:28

                                  En effet, faire simple consiste à toujours repenser ma structure et de diriger le plus possible l'utilisateur sans trop le limiter. Il y a beaucoup de casse-tête, j'ai encore quelques bogues et il me reste encore beaucoup de travail avant d'avoir de quoi de clean.

                                  La cross compilation sur microcontrôleur, un Stm32f4 est un succès, je compile le programme Windows et MCU avec exactement la même source pour le même résultat. Mise à part, peut-être, un petit problème de rapidité, tout fonctionne. Je parle ici d'un microcontrôleur qui tourne à 168mhz. Si ça roule la dessus, alors ça va pourvoir marcher sur n’importe quoi.


                                  Bientôt je vais me pencher sur les autres systèmes d'exploitations, puis android et autre.

                                  -
                                  Edité par Maeiky 7 juillet 2014 à 5:59:57

                                  • Partager sur Facebook
                                  • Partager sur Twitter

                                  GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                    7 juillet 2014 à 6:07:47

                                    Quelques news, dernièrement j'ai beaucoup travaillé sur les systèmes embarqués, entre autre, j’étais sur un projet de drum électronique parmis une équipe de 3 personnes, j'ai réaliser la partie graphique, vous pouvez voir le résultat ici :

                                    https://www.youtube.com/watch?v=SCrCaM3Rk58


                                    Aussi j'ai fais une cross-compilation pour Windows et le Stm32f429 dicovery :

                                    https://www.youtube.com/watch?v=HZE4UYMYsvQ


                                    En ce moment je travaille sur une version Linux qui devrait être terminer prochainement.

                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                      23 juillet 2014 à 21:00:41

                                      j'ai du raté un truc, ca parle de portable, mais aussi d'api win32 (est elle vraiment portable ?)
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        23 juillet 2014 à 21:34:05

                                        En effet j'ai spécifier l'API32 parce que je n'avais que la version Windows de disponible. Comme j'ai mentionné j'utilise le moins de fonctions natives possible et de dépendances, donc si on trouve l'équivalent de ces quelques fonctions sur un autre système, on se retrouve à avoir effectué un portage. Comme je n'utilise pas de template, multiple héritage et autre choses pouvant ne pas fonctionner pas sur certain compilateur, on peu compiler sur des systèmes embarqués.

                                        Évidement c'est un projet qui en est à ses débuts, donc je n'ai pas eu le temps de créer toutes les fonctions équivalentes pour les OS les plus populaires. Pour l'instant j'ai fais le portage pour microcontrôleurs avec ou sans DMA2D, de plus je suis très avancé pour la version Linux x32/x64 utilisant X11, je vais en faire une release très prochainement.
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                          27 juillet 2014 à 7:54:46

                                          J'ai enfin créer une version Linux 32 et 64bit, en même temps j'ai fais celle de 64bit pour Windows. Vous pouvez les télécharger dans mon post initial.

                                          Je ne sais pas si quelqu'un aurait une solution, mais puisque les programmes ne font qu'un fichier et que sous Linux il n'y a pas d’extension, le navigateur ne les voie pas comme téléchargeable. De plus, j'ai un problème de permission dessus. Je dois les activer pour lancer l'application, ce pourrait-il que ce soit à cause que j'ai uploader les fichiers à partir de Windows?
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                            19 août 2014 à 12:52:12

                                            Bonjours, petit renseignement : "Graphic Engine" ne se traduit pas par "Engin graphique" mais par "moteur graphique", cette remarque car dans ta vidéo tu parle bien de Graphic Engine et dans ce post tu parle d'engin graphique ce qui n'existe pas ...
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              19 août 2014 à 14:02:53

                                              Merci, c'est corrigé.
                                              Si vous avez d'autre remarque, n' hésitez pas :)
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                                19 octobre 2014 à 6:38:42

                                                Bonne nouvelle, 3D nous voici !

                                                Je ne voulais pas limiter les utilisateurs qu'à la 2D, donc je me suis engagé dans le monde laborieux de la 3 dimensions. Quelques maux de tête plus tard, je suis parvenue à adapter mes algorithmes de dessin CPU à la 3D. L'ajout de simple dimension ma obligé à revoir tout mon code.

                                                Voici le résultat de mon image test qui tourne d'une combinaison de rotation Roll et Yaw



                                                Vous pouvez tester le résultat ici :

                                                GroundZero_First3D.exe

                                                Ce n'est pas tout, j'ai aussi intégré OpenGL à tout ça et j'obtiens un résultat au pixel près. Je présenterai une démo avec OpenGL prochainement.

                                                À bientôt.

                                                -
                                                Edité par Maeiky 19 octobre 2014 à 15:10:19

                                                • Partager sur Facebook
                                                • Partager sur Twitter

                                                GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                                Anonyme
                                                  19 octobre 2014 à 10:10:16

                                                  chapeau ! c'est du beau boulot ! tu as déjà préparé des tutos pour utiliser ton moteur (dsl mais j'ai pas tout lu) ?
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    19 octobre 2014 à 21:48:36

                                                    Merci, je suis content de savoir que ça intéresse quelqu'un :)

                                                    Les tutos ne sont pas encore réalisé, mais je compte bien en faire d'une part pour l'installation du moteur sur un OS fraichement installer, que se soit sous Windows ou Linux, qui ne devrait pas demander plus de 2 minutes à suivre vu la simplicité de la compilation :)

                                                    Puis aussi un tutoriel/doc sur les fonctions disponibles avec des démos.

                                                    En se moment j'hésite à sortir quelque chose rapidement et pas vraiment au point ou attendre et avoir quelque chose de plus stable. Je ne voudrais pas découragé l'utilisateur tout de suite pour qu'il ajoute le moteur dans sa blacklist :p

                                                    Il y a plein de chose de pas finalisé comme la gestion de plan des sprites, animations ou bien les textes dynamiques/fonts, l'audio et OpenGL.

                                                    Il me reste encore beaucoup de travail avant d'avoir quelque chose de potable.

                                                    -
                                                    Edité par Maeiky 21 octobre 2014 à 3:14:47

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter

                                                    GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                                      21 octobre 2014 à 13:50:13

                                                      Super projet

                                                      Je ne peux que t'encourager à le finir surtout surtout la partie Android (et si possible ios) car ça m'intéresse beaucoup et ça intéressera beaucoup de gens,

                                                      car à l'heure actuelle il n'y a que SDL2 qui supporte Android et ios, ... bientôt la SFML.

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        21 octobre 2014 à 13:56:10

                                                        Merci, oui pour Android je vois déjà comment faire, ça ne sera pas trop compliqué car j’utilise OpenGL 3.3 et OpenGL ES 2.0 est très similaire. Je tiens aussi à préciser que  je n'ai aucune dépandance aussi pour OpenGL que ce soit GLEW Glut,GLU, seulement un include :#include <GL/gl.h> (Contrairement à SDL et SMLF)

                                                        Pour IOS ça va dépendre de la demande, car j'ai beaucoup de chose à faire, mais je crois que ça reste similaire.

                                                        -
                                                        Edité par Maeiky 21 octobre 2014 à 14:04:59

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter

                                                        GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                                          25 octobre 2014 à 19:59:12

                                                          Quelques avancements pour mon futur système de lumière.
                                                          Au départ, je croyais qu'il serait facile de faire une interpolation des couleurs dans openGL en associant la couleur à chaque vertex. Le problème est qu'OpenGL fonctionne en triangle avec une interpolation barycentrique, l'interpolation sur un carré devient donc très étrange.

                                                          Voici la différence de ce que jeux obtenir comme le "Color Picker" et OpenGL :



                                                          Le résultat est complètement faux, j'ai donc fait un système pour déterminer la position du pixel par rapport aux coins.

                                                          Voici le résultat, je fais une interpolation des couleur RGB et même le Alpha :

                                                          -
                                                          Edité par Maeiky 25 octobre 2014 à 20:11:56

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                                            31 octobre 2014 à 12:39:27

                                                            Franchement, j'adore ton projet surtout le fait de faire une application qui affiche du rendu OpenGL sans fenetre rectangulaire avec fond transparent.

                                                            Chose qu'aucune librairire connue comme la SDL, SFML, Allegro ne font car ils disent que ça n'est pas portable.

                                                            -
                                                            Edité par invalidip 31 octobre 2014 à 13:44:58

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              1 novembre 2014 à 6:21:59

                                                              Tu me fais pensé que j'ai omis ce feature de ma description. La possibilité d'une fenêtre avec des pixels semi-transparent, je l'ai découvert un peu par hasard en tombant sur une fonction MSDN. Il n'y a pas vraiment d'exemple sur ça. Ceux que j'ai vue était soit pour changé le degré de transparence de la fenêtre entière ou soit d'avoir des pixels, complètement transparent avec un masque. J'ai aussi vue des exemples avec OpenGL, mais ils ne gèrent pas la semi-transparence, les coutours en sont donc pas très beau.

                                                              De plus j'ai trouvé l'équivalent sur Linux, je suppose qu'il y à la même chose sur OSX
                                                              Par contre mon petit programme exemple est dessiné par CPU et non par OpenGL. Ça ce fait aussi, car on peu lire le rendu d'un FBO, et il ne resterait plus qu'a envoyer le tout sur GDI, je vais sans doute l'inclure éventuellement.

                                                              Tes encouragements ne sont pas de trop, je suis en train de tout restructurer le rendu OpenGL, car je fait trop d'opération côté CPU, je veux des performances optimales, il me faut donc transférer le plus de calculs dans les Shaders.

                                                              J'ai fais quelques recherche et j'ai trouvé le moyen de faire du Batch Processing de Sprites, ce qui veux dire réduire tout les appels d'OpenGL (qui cause de la latence) au minimum, le tout avec un seul appel de glDrawElements par frame. Même SFML n'a pas cette fonctionnalité. J'ai hâte de voir combien de Sprites, je vais pouvoir afficher simultanément :).
                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              GZE, un moteur multiplateforme, adapté pour de la 2D, 3D et création de logiciels.

                                                              [Moteur CW / C++] GZE - GroundZero Engine

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