So I’ve been doing some stuff lately, and little of it has actually made it onto the blog so far… But that’s about to change!
Hark upon the tale which is: Programming tools in Win32 and OpenGL!
So yes. I noticed a while back that I really lack a good end at using any existing GUI APIs out there. And I went through a few hoping for the best. First off I tried, since I have Code::Blocks installed on my computer, wxWidgets using the wxSmith plugin that is included with Code::Blocks.
This had some success, but to the point which was not to my content. I couldn’t get OpenGL drawing working. And I found little to no help anywhere so I decided to scrap that in the end.
Next up I “tried” GTK+ but I scrapped that too… Uh… About 15 minutes into looking at it. *Cough*
After that I went onto looking at QT but I didn’t go for that either. Even though it seems awesome enough. I’ll probably use it for something in the near future.
At this point I didn’t really know where to look. The Visual Studio 2008 Express edition windows forms drag & drop thing isn’t giving me what I need so the only “sane” option was to code it in Win32 without any helping stuff like that drag & drop creator. And boy is it ever vague! But it’s OK. I actually got used to working with it pretty quickly. But the sheer design of it still baffles me at times.
About 8 hours into coding I knocked out a small application which works sort of like a realtime texture/mesh viewer.
This is what it looks like:
So yeah. The main idea behind this application is that you can load a 3d mesh, and specify a texture that it should map onto that mesh (since the mesh file already includes UV maps this program doesn’t need to care about that at all). And that texture is, every time it’s changed on disk, updated onto the mesh. This enables the user to see the texture update realtime when painting it in a image program. Makes the artist’s job slightly easier and a tad bit more visual! 😀
Besides this I’ve coded on my engine which is making less sense every day I have to say. I’m a bit distracted with the general design of it so far and I don’t have any way to visualize the architecture that much, which makes it a really dim experience. It feels like I don’t know exactly what I’m doing from time to time but I do think that if I just keep hammering at individual parts of it it will eventually fall into place… Right?
Right now, as in: in this very second, I’m coding a system for the engine to load a bunch of 3d meshes from a list and store them in a so called “Mesh Cache” that is then used by every object in a scene to reference from when they need to draw a specific mesh at a specific place. This ensures a pretty straight-forward solution for loading any given mesh only ONCE into memory.
I’m fixing on extending this list system to use with any type of resource the engine needs. Even so, I’ll need to somehow work out a system where it only loads resources that are immediately going to be used. And then unloading the resources it’s no longer using to pave way for new resources and… *Sigh*
Yeah. It’s a big chunk of stuff to do. And what I mentioned barely even constitutes a fraction of it.
Back to work! Bye! 🙂