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

Поділитися
Вставка
  • Опубліковано 28 тра 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...

КОМЕНТАРІ • 26

  • @nyarigyorgy2766
    @nyarigyorgy2766 3 роки тому +71

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

    • @Harshkumar-gu1nt
      @Harshkumar-gu1nt 3 роки тому +4

      Yeaa true. He explains so damn well

    • @idk23535
      @idk23535 10 місяців тому

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

  • @smipealex3173
    @smipealex3173 2 роки тому +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 4 роки тому +31

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

    • @GamesWithGabe
      @GamesWithGabe  4 роки тому +1

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

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

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

  • @woarey8800
    @woarey8800 2 роки тому +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

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

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

  • @Harshkumar-gu1nt
    @Harshkumar-gu1nt 3 роки тому +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 2 роки тому +1

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

  • @dc1049
    @dc1049 2 роки тому

    Very nice explanation. Thanks for the series!

  • @sharkpyro93
    @sharkpyro93 3 роки тому +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  3 роки тому +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 3 роки тому +1

      @@GamesWithGabe sounds good, keep it up

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

    Nice Work...

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

    this stuff is so interesting

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

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

  • @tomb_1343
    @tomb_1343 3 роки тому +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  3 роки тому +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 ().

  • @ajinkyasanas2256
    @ajinkyasanas2256 2 роки тому +1

    Thin Matrix is God of LWJGL

  • @dkir5933
    @dkir5933 3 роки тому +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 2 роки тому +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.

  • @monkey5266
    @monkey5266 2 роки тому +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

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

    I LOVE YOU