[tuto] Créer un moteur graphique 3D dans la console ! ep 1 : les triangles

Поділитися
Вставка
  • Опубліковано 28 гру 2024

КОМЕНТАРІ • 51

  • @sofiane90
    @sofiane90 Рік тому +8

    très content d'être tombé sur ta chaîne, en tant que dev pro j'ai l'impression d'avoir raté toute une catégorie de la programmation c'est impressionnant

  • @gouuu6046
    @gouuu6046 Рік тому +10

    ta chaine est hyper intéressante, hâte de voir les prochains episodes

  • @mlgkenny8221
    @mlgkenny8221 Рік тому +3

    vidéo ultra qualitative, j'espère voir le prochain tuto bientôt !

  • @benjamincallar6339
    @benjamincallar6339 Рік тому +1

    Je suis tombé sur cette vidéo il y a 2 mois, et j'attends la suite régulièrement :D Bravo en tout cas !

  • @ugravis
    @ugravis 6 місяців тому

    Extrêmement impressionnant, bravo

  • @SP95
    @SP95 Рік тому +5

    Toujours un grand moment de faire son premier triangle

  • @koffiflaimoiye5276
    @koffiflaimoiye5276 8 місяців тому

    Super vidéo MERCI INFINIMANT pour ce contenu 🙏🙏🙏

  • @icila8242
    @icila8242 Місяць тому

    Merci pour ces tutos. Un tuto sur le perlin noise serait d'une grande utilité.

    • @quantale8159
      @quantale8159  Місяць тому +1

      merci :) Je prépare justement une série de vidéo sur les différents types de bruits

    • @icila8242
      @icila8242 Місяць тому

      @@quantale8159 Merci à toi.

  • @bluewalldiscord
    @bluewalldiscord Рік тому +2

    Wow c'est dingue ! Continue tes vidéos !

  • @xfufly
    @xfufly Рік тому +1

    Trop trooooop bien
    Je peux suivre le tuto en c++, c'est tellement bien expliqué
    Mais à quand la suite ??

  • @vicplasma58
    @vicplasma58 Рік тому +2

    C'est vraiment un sujet hyper intéressant, content de voir ça en français.
    Cela me fais beaucoup penser au moteur de OneLoneCoder (OLC) qui a construit tout un moteur graphique dans la console
    Il arrive même à se passer des caractères ASCII et à afficher des pixels en COULEUR ! (toujours dans la console)
    Je ne sais pas si tu comptes faire quelque chose d'aussi poussé mais j'ai hâte de la suite.

    • @quantale8159
      @quantale8159  Рік тому

      Oui, je connais et je me suis un peu inspiré

  • @Lineyo02
    @Lineyo02 Рік тому

    Concept super intéressant et support qualité de vidéo !
    Hâte de voire la suite !
    Je tente de le faire en Rust de mon côté 😉

  • @WizoTech
    @WizoTech Рік тому

    Oulah ça va bien marcher cette série !

  • @alfreddevulpian7622
    @alfreddevulpian7622 Рік тому +2

    super vidéo ! c'est dommage que tu n'ai pas plus d'abonnés, t'as pleins de trucs super intéressant et accessibles à faire découvrir. d'ailleurs comment tu fais pour exécuter tes scripts vscode dans un terminal externe ?

    • @quantale8159
      @quantale8159  Рік тому

      ce n'est pas un script vscode, c'est un fichier python que que j'édite sur vs code et qu'on peut executer en tapent une commande

  • @RaphaelBobillot42
    @RaphaelBobillot42 Рік тому +6

    Sympa comme petit projet !
    Ceci dit, je ne sais pas quelle version de Python tu utilises mais j'imagine que tu es au moins sur du 3.7,
    ainsi je te recommande d'utiliser des 'dataclass' pour tes objets simples.
    Ca t'évitera le boilerplate du constructeur, ce qui allège grandement la lisibilité (que ce soit pour toi, les néophytes ou les chevronnés).

    • @mlgkenny8221
      @mlgkenny8221 Рік тому +1

      Je viens de découvrir, merci pour le module !

    • @georgesal-habre103
      @georgesal-habre103 Рік тому +1

      Ce n'est pas encore un projet d'actualité. Mais parfois il m'arrive de me dire qu'un jeu en ASCII pourrais être sympa à créer. Un peu comme le mode aventure de Dwarf Fortress. En tout cas, je prend note ton conseil.
      Merci :)

  • @thedouble0072
    @thedouble0072 Рік тому

    Je m'abonne directement 👏.
    Vous avez parlé de rasterization, c'est ce qu'y est utilisé par toute les librairies où il existe d'autres principes de base ?

    • @theluca907
      @theluca907 Рік тому +2

      C'est principalement cette technique qui est utilisée. Après, le terme "Rasterization" signifie simplement "déterminer les pixels sur lesquels se trouve un objet". Donc techniquement parlant, il existe aussi la technique du raycasting (utilisé par les premiers fps notamment) et sa version ++ le raytracing (pour simplifier). Il y en a quelques autres mais la rasterization telle que montrée dans cette vidéo est la principale

  • @mulakid769
    @mulakid769 Рік тому +1

    Excellente vidéo !

  • @koruuuuuuu
    @koruuuuuuu Рік тому +1

    Enfin !!

  • @chocoscaff2495
    @chocoscaff2495 6 місяців тому

    J'aime bien

  • @gilaxy
    @gilaxy Рік тому +1

    COOOOOOOOOOOOOOOOOOOOOOOLLLLL

  • @TheDreWen
    @TheDreWen Рік тому

    C grave bien ! Merci des tutos juste moi lors de l'affichage sa fait un défilement comme une veille TV je sais pas si il y a moyen de regler se problème ?

    • @quantale8159
      @quantale8159  Рік тому +1

      Si tu voulais dire que l'écran scintille, j'ai abordé ce sujet dans l'épisode 2

  • @oryls9061
    @oryls9061 Рік тому +1

    incroyable. es-ce que tous les jeux fonctionne de cette manière ? faire des forme rondes etc comment cela fonctionnerais avec des triangle ?

    • @theluca907
      @theluca907 Рік тому +4

      Pour l'écrasante majorité, oui.
      Après pour les sphères, c'est généralement des triangles mis ensemble (comme tu peux le voir au début), plus les triangles sont petits et nombreux plus la forme apparaît lisse. Mais généralement par soucis d'optimisation, on utilise des gros triangles avec ce qu'on appelle un shader pour gérer la lumière (la couleur de chaque partie du triangle) pour lisser artificiellement la sphère et donner une impression de lissage.

    • @benoitbertrand1636
      @benoitbertrand1636 Рік тому +3

      Avec les triangles, on fait quelque chose qui ressemble à une sphère (plus il y a de triangle, plus ça ressemble). Et ensuite, on peut appliquer une ou plusieurs tessellations, ce qui permet de lisser en multipliant le nombre de triangles.
      Il existe d'autres techniques pour faire de la 3D, mais elles sont beaucoup moins utilisée.

    • @oryls9061
      @oryls9061 Рік тому +2

      Merci pour ta réponse@@benoitbertrand1636

  • @israelgnabro7127
    @israelgnabro7127 Місяць тому

    pourquoi multiplier à la 3 minutes de la vidéo, le py par width ... ?

  • @r69zzz92
    @r69zzz92 Рік тому

    bien

  • @LeChapapa
    @LeChapapa Рік тому

    N'y a t il pas moyen d'exécuter des shader en python sans library parce que là les perf vont être apeurant?
    Si non je suggère de séparer l'écran en chunks et d'utiliser les différents threads du cpu.
    PS: Super vidéo j'ai atte de voir la suite 👍👍👍👍

    • @quantale8159
      @quantale8159  Рік тому

      Merci pour les recommandations mais le but de cette série est de monter comment on peut le faire en partant de 0 en utilisant le moins de librairie possible mais je panse que je faire ça dans un épisode optimisation.

  • @Vichlan
    @Vichlan Рік тому

    J'ai suivi ton tutoriel mais je n'ai pas le meme resultat dans la console, il y a des sorte de scintillement qui empeche un clear correcte

    • @quantale8159
      @quantale8159  Рік тому

      Est ce que t'es sur windows ? Comment tu exécutes le programme ? Ou alors, t'as essayé avec le code source ?

    • @Vichlan
      @Vichlan Рік тому

      @@quantale8159 j'exécute mon code sur Windows via la console cmd. Il y a des clignotements entre l'affichage et le Clear. De plus, j'ai essayé avec le code que tu mets à disposition sur GitHub.

  • @tonybengue
    @tonybengue 9 місяців тому

    De mon côté cela "clignotait" à chaque rafraissement, j'ai du mettre du coup ces deux séquences d'échappement au tout début de la fonction draw()
    print('\033[?25l', end='') # hide cursor
    print('\033[0;0H', end='') # move cursor to 0,0

  • @sautereaubryan7153
    @sautereaubryan7153 Рік тому

    je suis le seul qui a un probleme au niveau de l'affichage des triangles ? ils défilent a une vitesse non constante ce qui rend pas super bien

    • @yenthl985
      @yenthl985 Рік тому +1

      t'as utilisé le delta time ?

  • @TheLastdred
    @TheLastdred Рік тому

    c'est une IA la voix?

    • @quantale8159
      @quantale8159  Рік тому +1

      Non, c'est que parfois je fais des cuts et que je modifie certaines fréquence