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...
I still hardly believe you can get free education on this level.
Yeaa true. He explains so damn well
Yeah, it is great we have people that is willing to put a lot of effort into something like this!
Thank you. I'm Russian with little knowledge of English, but I understand everything. Thank you for the easy language in your videos
This is really good and informative, keep up the good work!
Thanks Kevin! I'm glad you're enjoying the series and appreciate the positive feedback :D
This video should get way more attentions!
Thank you so much for the video :)
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
I'm really grateful for that video! You explain things really well I was looking for video like this :D
Thanks again @Hiderr :)
Your explanation is so clear. I just loved it. Thank you very much for making such awesome tutorials.
Keep up the good work.❣️👍
just want to say thank you man, your videos are so insightful.
Very nice explanation. Thanks for the series!
this is the best tutorial on the topic on the entire web, do you plan on doing a 3D series at some point?
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 :)
@@GamesWithGabe sounds good, keep it up
Nice Work...
this stuff is so interesting
Thanks @MetalHeadManiac! I'm glad you're enjoying it :)
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
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 ().
Thin Matrix is God of LWJGL
Was considering using aparapi at first but i guess for an actual game engine, coding it with openGL direcly just is the better option
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.
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
I LOVE YOU