Creating a 3D Graphics Engine Using Python

Поділитися
Вставка
  • Опубліковано 27 гру 2024
  • Video Explaining 3D Graphic Math - • How 3d rendering works...
    This project was probably the most fun project I have ever made and I'm hoping to do something with it very soon!
    Advanced programming projects (affiliated): app.codecrafte...
    UA-cam growth tool (affiliated): vidiq.com/l4fp...
    My microphone (affiliated): tinyurl.com/2h...
  • Наука та технологія

КОМЕНТАРІ • 63

  • @Omlet221
    @Omlet221 3 роки тому +82

    “The program right now is rather buggy, but I decided not to deal with that.”
    Mood

  • @pandaengine
    @pandaengine 3 роки тому +55

    Playing this in 1.5x sounds like a normal speed speech 😆

  • @sidtheloser
    @sidtheloser 3 роки тому +13

    You can make your own 3D game if you want in python, actually, I'm doing the same too, I'm also working on such an engine (more like a library I guess). If you want to make a big world 3D world in pygame, it could make your computer slow down because off all the verticies it has to render or calculate, so you have to optimise the code...like a lot. Secondly, you could make each and every single object in your game with hard coded verticies, that you typed in your self (which could be really hard), or you can just easily try to implement obj file support to your code. These are my suggestions and recommendations that I wanna give you. Keep on codin!

  • @akaruianims
    @akaruianims 3 роки тому +7

    how about that, I just recently got into the slightly deeper end of programming but I still see these really cool projects that make me wonder how people come up with awesome stuff like this.
    Awesome work tho and I'm looking forward to seeing more from you

    • @Gpopcorn
      @Gpopcorn  3 роки тому +1

      Thanks! I’m planning on doing more stuff with Pygame and maybe even start doing things with Java and Minecraft’s Mod Coder Pack!

    • @akaruianims
      @akaruianims 3 роки тому +1

      @@Gpopcorn Sound exciting ;D

  • @bayekofsiwa365
    @bayekofsiwa365 3 роки тому +1

    You heard the man. The project is finished when he says it is finished, bugs or not. I love the content.

  • @Plrang
    @Plrang 3 роки тому +4

    That fascination is a time killer;) Good job, keep it going

  • @davidslivka1429
    @davidslivka1429 3 роки тому +22

    This is the coolest thing I saw today... Can I get the source code? Or I just have to figure it myself? Thanks

    • @Gpopcorn
      @Gpopcorn  3 роки тому +13

      I will be releasing the source code later today on github! Will comment again when I’m finished!

    • @Gpopcorn
      @Gpopcorn  3 роки тому +13

      Here I have created the repository: github.com/Gpopcorn/3D-Graphics-Engine
      If you want a better explanation of how it works check out these links:
      ua-cam.com/video/VywuRtNKl0c/v-deo.html
      en.wikipedia.org/wiki/3D_projection

    • @davidslivka1429
      @davidslivka1429 3 роки тому +5

      @@Gpopcorn Thanks a lot, I will check it and try to make some project out of it... Respect man, good job

  • @sehbanomer8151
    @sehbanomer8151 3 роки тому +5

    Cool project! you can use numpy for the linear algebra stuff. unless your goal is to write everything from scratch.

    • @Gpopcorn
      @Gpopcorn  3 роки тому +1

      Thanks for the advice! Though, I think I’m going to do it mostly myself!

  • @LarsHost
    @LarsHost 7 місяців тому

    Hi! Do you think it can be implemented in Blender to use as alternative rendering engine? Just for fun ofc

  • @anotherone-e9c
    @anotherone-e9c 3 роки тому +6

    Nice video, just one tip, improve the video quality. This shouldn't be too hard. Since the quality might be 720p but it seems to be downscaled for some reason.

    • @Gpopcorn
      @Gpopcorn  3 роки тому

      It could be OBS or the video editor but I will keep this in mind for my next video! Thanks!

    • @Gpopcorn
      @Gpopcorn  3 роки тому

      Figured out that it was OBS and I was using medium quality, now I have switched to high quality! Thanks for letting me know!

    • @anotherone-e9c
      @anotherone-e9c 3 роки тому +1

      @@Gpopcorn np

  • @badbrother_2023
    @badbrother_2023 3 роки тому

    Would you give us the codes you used or a huge tutorial

  • @meetsys
    @meetsys 3 роки тому

    wait are you the guy from the moment section of the onelonecoder video?

  • @klevin5501
    @klevin5501 3 роки тому

    Yo if you ever get back to it I'd love to know how to fix that bug you mentioned. I'm having the same issue myself. I made some progress but its still far from perfect.

    • @Gpopcorn
      @Gpopcorn  3 роки тому

      I still have no idea how to fix it either. I’ll share how I do if I make another video on it tho!

  • @fdevstudio5692
    @fdevstudio5692 3 роки тому

    Although I don't really understand how you make the rotation, but you make me think I can do this too

    • @Gpopcorn
      @Gpopcorn  3 роки тому

      Rotation is handled through matrix multiplication. en.m.wikipedia.org/wiki/Rotation_matrix might help with that!

    • @fdevstudio5692
      @fdevstudio5692 3 роки тому

      @@Gpopcorn Thanks

  • @matthewgarner6621
    @matthewgarner6621 3 роки тому

    Could it be possible to load 3d models on it in the future?

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

    u can make without pygame (cv2).
    I maked my own 3D graphics engine only with cv2 and PIL.

  • @Stiev00
    @Stiev00 3 роки тому

    Yooo, this is awesome!
    Really nice!

  • @henanasrin9892
    @henanasrin9892 2 роки тому +2

    Awesome bro

  • @nospill_kunai6192
    @nospill_kunai6192 3 роки тому +1

    What is the software that you are using in the video? Is it the same as the one on the python website? Or is it something else? Sorry if this question is stupid.

    • @Gpopcorn
      @Gpopcorn  3 роки тому +2

      If you mean by IDE or text editor, I am using VSCode made by Microsoft. If you’re talking about the language, I did use Python.

    • @nospill_kunai6192
      @nospill_kunai6192 3 роки тому +1

      @@Gpopcorn Thank you very much. I just downloaded it. Good luck on future endeavors, my friend.

    • @nospill_kunai6192
      @nospill_kunai6192 3 роки тому +1

      @@Gpopcorn By the way, do you have anywhere I can go to learn more about python and other programming languages? I know about website development sites like w3schools, but that’s about it.

    • @Gpopcorn
      @Gpopcorn  3 роки тому

      @@nospill_kunai6192 I’m not sure of much, sorry. You could probably find a good tutorial series on UA-cam somewhere!

    • @loot3647
      @loot3647 3 роки тому

      @@nospill_kunai6192 i'd suggest to take a look on freecodecamp on youtube or on their website!

  • @xsraut
    @xsraut 3 роки тому

    whats the bg music ? Informative Video btw.

  • @Omlet221
    @Omlet221 3 роки тому +3

    x=x/z
    y=y/z
    That’s a simple way to do a 3D projection. (At least I heard I haven’t tried it yet) I was looking up videos of other people doing it to see if I could find more information before I tried it myself.

    • @Gpopcorn
      @Gpopcorn  3 роки тому

      This could have worked, but for the movement based controls like rotation and having perspective, this would sadly be too simple.

    • @feetlunatic5134
      @feetlunatic5134 3 роки тому +3

      Help I used print(x, y) with your variables and made gta 7

  • @renegroulx7029
    @renegroulx7029 3 роки тому

    Please post the code to GitHub.

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

    I encourage you to work on Python.
    In my evil mind: Python is 60 times slower than C++, I want to encourage people in the wrong direction so I will never have competitors, as I'm building a game engie with C++.

  • @user-xc2yc3vz5e
    @user-xc2yc3vz5e 3 роки тому +3

    Nice

  • @revangerkiller7662
    @revangerkiller7662 3 роки тому

    Thanks alot

  • @superdragonfly
    @superdragonfly 3 роки тому +1

    Nice Video :)

  • @YOOOOOOOOOOOOOOOOOOOOOOOOOOOO
    @YOOOOOOOOOOOOOOOOOOOOOOOOOOOO 3 роки тому +1

    Source Code?

    • @Gpopcorn
      @Gpopcorn  3 роки тому

      Source code is right here: github.com/Gpopcorn/3D-Graphics-Engine

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

    you sound very high and sleepy

  • @djeanql
    @djeanql 3 роки тому +1

    cool!

  • @BetaChri5
    @BetaChri5 3 роки тому

    very cool :)

  • @nimawex6150
    @nimawex6150 3 роки тому

    dude are you high ?

    • @Gpopcorn
      @Gpopcorn  3 роки тому +2

      Nahhh, I just did the voice recordings on a crappy mic at 2 in the morning

    • @nimawex6150
      @nimawex6150 3 роки тому +1

      @@Gpopcorn anyway keep it going that was awesome!

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

      I was gonna say, he talks like he has brain damage.

  • @qouteler6092
    @qouteler6092 3 роки тому

    go outside, touch some grass, maths = nerd

    • @Gpopcorn
      @Gpopcorn  3 роки тому

      Whats “outside”?

    • @qouteler6092
      @qouteler6092 3 роки тому

      besides that, thats fucking dope my g, keep it up

    • @qouteler6092
      @qouteler6092 3 роки тому

      @@Gpopcorn 😂