It took me a while to get started again after my long summer vacation, but now I am back at it again. I have spent the majority of September to learn more about OpenGL with my Voyager project and while it is not really anything impressive so far, I feel like the structure is better than any of my previous projects.
I created a geometry factory class to create all the geometries, which will later help me with loaded vertex data from other file formats. I also created a small renderer for OpenGL rendering – no hardcoded OpenGL vertex data setup. You load the geometry and put it in a renderable, then the renderer takes care of the rest. I am now primarily working on setting up more wrappers for OpenGL, preparing a debug shader to render surface normals and creating an obj loader.

Last night was mostly focused on creating a default phong shader with light attenuation and as you can see, it is working quite decently. I read Light attenuation | I’m doing it wrong and highly recommend it if you have not read it already or are familiar with it. This post certainly helped me to understand the linear and quadric attenuation factors better, plus opening up my eyes on how much they are actually related to the physical world. Also, it is fully possible to plot it with Desmos as you read through it.

Qt also helps me a lot with window management and I am probably going to use it as the primary window management library throughout the project. For now I am just using sliders to adjust my one and only point light. I will give it some more friends later, I promise.
Check out my repository on Github and leave a comment if you have any thoughts. Feedback is also greatly appreciated 🙂