How OpenGL Graphics Programming Works | Coding a 2D Game Engine in Java #4

Sdílet
Vložit
  • čas přidán 6. 06. 2024
  • Join the Discord: / discord
    In this tutorial, I explain the graphics pipeline, and the process of converting a list of 3D points in game world coordinates (a mesh), into a picture to display on the end-user's device. I also give a thorough explanation of how Vertex shaders and Fragment shaders work, from how they accept input, to how they are compiled and linked together. I also explain how to use VBO's, VAO's, and EBO's to pass the vertex data from the CPU to the GPU. This is all explained in light of OpenGL programming for LWJGL.
    Hello Triangle OpenGL: learnopengl.com/Getting-start...
    Thin Matrix: • OpenGL 3D Game Tutoria...
    Book of Shaders: thebookofshaders.com/
    ---------------------------------------------------------------------
    Website: ambrosiogabe.github.io/
    Github: github.com/ambrosiogabe
    Here are some books I recommend if you want to learn about game engine development more thoroughly. I do not profit off any of these sales, these are just some books that have helped me out :)
    My Recommended Game Engine Books:
    Game Engine Architecture: www.gameenginebook.com/
    Game Physics Cookbook (Read this before the next physics book): www.amazon.com/Game-Physics-C...
    Game Physics (Ian Millington): www.amazon.com/Game-Physics-E...
    Game Programming Patterns (Free): gameprogrammingpatterns.com/
    My Recommended Beginning Game Programming Books:
    JavaScript Game Design: www.apress.com/gp/book/978143...
    Outro Music: www.bensound.com/royalty-free...

Komentáře • 27

  • @nyarigyorgy2766
    @nyarigyorgy2766 Před 3 lety +72

    I still hardly believe you can get free education on this level.

    • @Harshkumar-gu1nt
      @Harshkumar-gu1nt Před 3 lety +4

      Yeaa true. He explains so damn well

    • @idk23535
      @idk23535 Před 10 měsíci

      Yeah, it is great we have people that is willing to put a lot of effort into something like this!

  • @smipealex3173
    @smipealex3173 Před 2 lety +6

    Thank you. I'm Russian with little knowledge of English, but I understand everything. Thank you for the easy language in your videos

  • @kevinbrewster3115
    @kevinbrewster3115 Před 4 lety +31

    This is really good and informative, keep up the good work!

    • @GamesWithGabe
      @GamesWithGabe  Před 4 lety +1

      Thanks Kevin! I'm glad you're enjoying the series and appreciate the positive feedback :D

  • @Harshkumar-gu1nt
    @Harshkumar-gu1nt Před 3 lety +2

    Your explanation is so clear. I just loved it. Thank you very much for making such awesome tutorials.
    Keep up the good work.❣️👍

  • @jonathancamarena3117
    @jonathancamarena3117 Před 2 lety +1

    just want to say thank you man, your videos are so insightful.

  • @woarey8800
    @woarey8800 Před 2 lety +2

    Bro i have been looking for so long to find a good tutorial on LWJGL and im so glad i finally found this series! You explain everyting in detail and now things finally start making sense to me :D
    Love you man, keep up the work

  • @daveeska
    @daveeska Před rokem +1

    This video should get way more attentions!
    Thank you so much for the video :)

  • @dc1049
    @dc1049 Před 2 lety

    Very nice explanation. Thanks for the series!

  • @hiderr6805
    @hiderr6805 Před 3 lety +5

    I'm really grateful for that video! You explain things really well I was looking for video like this :D

  • @lenori1
    @lenori1 Před 5 hodinami

    Spectacular Video

  • @grandbase2720
    @grandbase2720 Před rokem

    Nice Work...

  • @sharkpyro93
    @sharkpyro93 Před 3 lety +2

    this is the best tutorial on the topic on the entire web, do you plan on doing a 3D series at some point?

    • @GamesWithGabe
      @GamesWithGabe  Před 3 lety +4

      Hey thanks stamina! I do eventually want to go over 3D concepts, and I'm probably going to start that with a how-to code minecraft series sometime next year :)

    • @sharkpyro93
      @sharkpyro93 Před 3 lety +1

      @@GamesWithGabe sounds good, keep it up

  • @metalheadmaniac8686
    @metalheadmaniac8686 Před 3 lety +2

    this stuff is so interesting

    • @GamesWithGabe
      @GamesWithGabe  Před 3 lety +1

      Thanks @MetalHeadManiac! I'm glad you're enjoying it :)

  • @tomb_1343
    @tomb_1343 Před 3 lety +5

    Hey mate, I love this series so far. My game seems to be artificially capped at 15fps. My computer is more than capable of running this at much higher speeds, would could be the cause? Cheers

    • @GamesWithGabe
      @GamesWithGabe  Před 3 lety +4

      Hey Tom, thanks for the comment! And there seems to be some sort of bug with java's system.nanotime (). I fix this in a later episode by replacing all the time.getTime () calls with glfwGetTime ().

  • @dkir5933
    @dkir5933 Před 3 lety +1

    Was considering using aparapi at first but i guess for an actual game engine, coding it with openGL direcly just is the better option

  • @xenten9686
    @xenten9686 Před 2 lety +1

    Just in case anyone else has a similar issues, I had a problem where nothing would draw and I went over every line and even swapped code with the repo until I eventually found out, setting the wrong vertexSizeBytes does not lead to an error, it just causes nothing to work without any sort of error to warn you.

  • @alexandruantoci2691
    @alexandruantoci2691 Před 3 lety +1

    I LOVE YOU

  • @ajinkyasanas2256
    @ajinkyasanas2256 Před 2 lety +1

    Thin Matrix is God of LWJGL

  • @monkey5266
    @monkey5266 Před 2 lety +3

    So as far as I understand shaders are magic and I should have payed more attention in biology and been a docter because that seems easier