OpenGL 4.5

Before I even start to tell you about my own stuff, I want to point you to and tell you about it. I'm in the process of trying to put together some OpenGL tutorials for you. But someone recently pointed out this site to me and after briefly reviewing it, I have to say it's pretty awesome. I don't know the author of it or have any affiliation with him, but I think even I could learn a thing or two from this site and it appears to be really geared towards beginners in OpenGL. My goal is to help you learn OpenGl and I would rather you use someone else's tutorials if it helps you towards the goal of learning OpenGL. I've put a few things together and hope to put a lot more together to help you in your pursuit of OpenGl and 3D graphics programming, but whether it's me helping you learn it, or someone else, my primary goal is to help you learn it. So check that out and maybe I'll have something that can help you as well.

Another site that someone pointed out that I thought was pretty good for briefly covering the linear algebra stuff is here. I teach most of that on my YouTube channel in the vector and matrix videos, but if nothing else it's helpful to have the viewpoints of different teachers. And he has some nice 3D representations of some of this stuff with animation that I think it a bit more helpful in visualizing this stuff than what I did.

I don't have much in the way of OGL content quite yet. But what I do have is code for my very basic OGL engine. Some of the things it currently lacks, that my DX engine has, are a game timer, a skybox class, and a model class. It has a model class of sorts, where you hand build objects by supplying a vertex array and an index array. This is something you need to learn before getting into a model class anyway. But other than these things it has all the basics including a GLSL shader that supports fog and texturing in addition to basic lighting. This is pretty much the base shader that you would want to expand on for just about everything. It supports the XBox 360 controller as well as keyboard input. The code has some demo code in it to move the camera around the scene as well as moving a game object around the scene.

Like the DX engine, it's setup to be very familiar to anyone who has done XNA programming.

OpenGL lends itself to using libraries, and so I use libraries quite a bit more with OGL than I did with DX. It uses GLFW, GLEW, GLM, and FreeImage (for supporting image files for textures). The library files are all in this zip file - if you want to use exactly what I'm using, but you can download and install the libraries from their original source and that will probably work just as well for the most part. I've found the most difficult part of OGL is getting the libraries set up. Over the long term that would be better for several reasons, including setting them up for static linking. In order to get all of them to static link, you basically have to rebuild their source code for 32 bit and 64 bit. In the interest of getting things working, I have a mixture of static and dynamic linking with these libraries. I used static linking where it was reasonably easy to do so, but was forced to do dynamic linking short of recompiling their source code.

Library files I used: Libraries.Zip

This code is really not quite ready for release. I should probably add a game timer even in this basic code version. And I need to spend some time cleaning it up, documenting it better, and making sure I have it as bug free as I can. But as busy as I am right now, I just wanted to get what I currently have on the website ASAP.


As I improve on this base game engine, I hope to get more advanced code posted here as well in the future. Hopefully, I will be getting into Vulkan and VR programming with the Occulus Rift this year as well. At least that's the plan.


Work In Progress

I'm still in the process of getting my OpenGL engine up to where my DX11 engine is. So, there will be more content for OGL in the future.

OGL Base Engine Program

Here is the video clip of this code in action. For some reason, the video is choppy and not nearly as smooth as the actual program, but this gives you an idea of what the code looks like in action.


The Holodeck




Future Use