So I’ve been trying to fool around with OpenGL recently. Things have not been going well. Basically this is because OpenGL doesn’t actually have any way of easily creating itself. So you can either use windows window creation, or whatever operating system your on, to create OpenGL, or you can use a third party API, which vastly simplifies the process. I actually don’t really care that much about simplifying anything, the windows context creation, apologies if I’ve misused that term, is pretty much boilerplate code that can mostly be copied and pasted from an example. Additionally, Code::Blocks comes with an openGL sample project, that has all the context creation code in there.
The problem is that I’m trying to actually make a game here. That means sound, key presses, fonts, and other things I don’t want to have to actually write myself or manually interact with the operating system to do. I want to create something that is fun and impressive. To that end, I’m using SDL, as previously mentioned, which abstracts away from the OS, and also has a few useful plugins to do other things for me.
SDL should make things easy for me in creating a window to run OpenGL in. I believe that SDL does do this, it’s just really hard for me to figure out how it works because of three different and compoundingly irritating things.
1) My internet sucks. I don’t just mean that it’s slow, the vast majority of the time it doesn’t work at all. Even when it does work it is extremely slow, which means that it’s a race to load any web page before it cuts out again.
2) I’m using an old version of SDL. SDL 1.2 to be precise. Admittedly, this is my fault. I should be using SDL 2, and I’ve been wanting to upgrade for a while. It will cause my plugins to stop working, but I only use TTF_Fonts anyway, since SDL_mixer wasn’t working right.
3) I don’t know what version of OpenGL is installed on this computer. I keep getting a bunch of undefined reference to “fillinblank” errors, such as “undefined reference to ‘glMatrixMode&4′”. I could understand me just not doing things properly when initializing OpenGL, but the same errors happen in every tutorial I’ve tried so far, 4 for those interested. I think I’m accidentally using an advanced version of OpenGL, where those are depreciated features that I’m using.
I hope upgrading to SDL 2.0 will solve those problems. SDL <2.0 can’t handle OpenGL 3.0+, so I just might kill 2 birds with one stone. Until then it’s very frustrating. I’m going to bed.