Posts

Showing posts from March, 2024

Making Hexwave work on Steam Deck!

Image
Hi there! Welcome to another Hexwave blog. Hexwave currently only works on Linux, which is currently a blessing in disguise as the Steam Deck runs on Linux and, as I want to make Hexwave run on the Steam Deck, now is a great time to get it working! So, how do we do that? Well, the process was more complicated than anything I've dealt with before. See, Hexwave is made to be extremely flexible. You should be able to compile it, take the compiled binaries, throw it on an older/newer machine, and run it perfectly fine (there will be pre-compiled versions too). However, with the way FFmpeg is currently linked, this doesn't work. If Computer A has FFmpeg 0.0.59 and Hexwave is compiled on Computer A, but Computer B has 0.0.60, Computer B will refuse to run Hexwave, as it's looking for 0.0.59. This is exactly what was happening when I was trying to run Hexwave on the Steam Deck, as FFmpeg on the Steam Deck is more up-to-date than the version in Debian 12 Stable. Now, there are two

Adding a Video Player with OpenGL.

Image
Hello there! Today, we're going to be talking about a major step in development for Hexwave, and that's the functionality to display videos. For the past couple of weeks, I've been working on the video manager functionality and failing to get videos playing. However, today we're going to be getting it working! Let's start by redoing the way I import glfw, glm, glad, and ImGUI in CMakeLists.txt.   Redoing imports Previously, I was relying on a git repo which had a CMakeLists.txt that you could fetch and use to easily import all the libraries I needed. This was great as I ran into nothing but issues the first time I tried to get it working, however, I was now running into some major issues with the newer versions on OpenGL. OpenGL 3.0 had massively rewrote parts of OpenGL, deprecating the glBegin functions and then later removing them in 3.1, forcing you to use shaders and vertex buffers. This made things incredibly hard, as I was using OpenGL4.6 (I believe). Whilst I