It’s been a while since I last played with Linux, I was using Linux Mint. Now I’m using Pop_OS! (based on Ubuntu) since it has support for Nvidia graphic cards. Also I was bored of Windows again.
I have been interested in learning C++ since 2016. I was just too busy messing with ActionScript and Haxe (OpenFL) in my free time. What a better way to learn a language than making a game with it (may be unfinished but a game definitely).
The first thing I did was head out to https://learnopengl.com/ and follow the Introduction, and then the Getting Started section. Being honest, it’s a lot to grasp. But just be patient with yourself and read the lessons more than once, that’s what worked for me because I have bad memory.
On top of that, I wanted to work on Pop OS, and because I chose VScode I had to make the required configuration (IntelliJ does that for you, I mean CLion. I really recommend it for C++, much better than VSCode for that language).
Coming from Windows, setting up VSCode with C++ for OpenGL with CMake on Pop OS! was a lot for me. But in the end I cracked the code. The repo here has CMake ready and contains some instructions on how to install some of dependencies (“glad” is also a dependency mentioned there but it is already included in the repo files). Also make sure to have CMake installed (along with the VSCode extensions for Cmake and C++).
The project has a very basic configuration and has flaws, specially because you need to manually copy the shader and image asset files to the build folder (once that it has been generated after clicking build). But guess what, it works!

This took me a while to figure out, because it’s a different OS and a different language. Been working on this for 6 months! (whaat), mainly because I have waaaay less free time than I used to, but I built this bit by bit during every small chance that I had. Hope this helps someone someday (that someone could be my future self!).
Edit:
Almost forgot. When working with OpenGL and Windows or Linux, I recommend to use https://renderdoc.org for debugging. It will show you what textures are used, the vertices, fragment shaders























