vcpkg to manage our dependencies (no-one likes spending hours building libraries and dealing with linclude directories and linking errors).C++ 11 using modern best practices, which means RAII, lambdas, standard library data structures and algorithms etc… (c++11, 14, 17 and now 20 are fine, its just that we wont really be using any features which distract us).Have fun – other wise what’s the point of us being on this ball in space?.Incremental Learning – We only just enough to get the point across and then once we have fully understood a topic, we move on.Simple and Clean Code – This means readable code with clear names and not introducing complexity for complexities sake.If I can’t explain it, then I don’t contain it! Daniel ‘dokipen’ Elliott Jones Main Goals This is also a way to ensure that I myself understand the material.Also I wanted to keep it as simple as possible and not have too much abstraction until quite further down the line, and even then I am thinking of a separate tutorial series for game engine architecture which would deal with a lot of the abstraction. I wanted my course to be quite linear in structure so someone can follow in one straight path. The Cherno’s lessons are quite comprehensive and are great at showing of how various parts of opengl work.I am inspired by other content creators (I can’t go without mentioning from and an Yan ‘ Chernikov from The Cherno youtube channel), so I want to spread my own insights as well in the hope it might inspire others. The way I explain things may be slightly different to someone else and that might help something click in someone’s mind.
I myself learn best when there are multiple resources that all explains things slightly differently that I can cross reference and fill in any gaps in my understanding from one resource or another.
Any piece of hardware or software is allowed to implement OpenGL to result in something that when you call those function, you get an image out the other end. All the OpenGL specification states are some functions and the expected behaviour they should invoke based upon a bunch of state. If you are not familiar with OpenGL, then it is a Graphics API (Application Programming Interface) that is a specification.
I’m hoping that the reason that you are here is because you already know what OpenGL is and that you are looking for something a little bit different. For the first series of posts, we are going to be exploring OpenGL.