I’ve been silent for a little while, but I have been getting some work done! I ended up fixing a bunch of threading issues with the OpenGL version of my API. The problems were with sharing display lists and loading resources on worker threads. Shibboleth can now run with both Direct3D 11 and OpenGL 4.3 renderers. I’ve also implemented deferred versions of render device on both versions of the API. With these you can generate command lists on other threads and then play them back on the main thread.
A little past a month, but better late than never I guess. This month I converted all my projects over to premake, specifically premake5, which you can only get by building it yourself! I’m not expecting everyone to build premake and generate their own projects, so I pre-generate Visual Studio 2013 solutions and Linux makefiles for you! I also converted the projects for ResIL and ResILU from generating statically linked libraries to dynamically linked libraries, to comply with the LGPL license.
I missed my one month window for my post! Nuuuuuuuuu! This is just a quick post to say that I’m not dead. I’m a bit tired and it’s late to start something technical, but I have made some progress on Shibboleth. I’ve gotten some of the basic infrastructure down and started integrating Gleam and OtterUI into the engine. Although, I should point out that my “integration” is completely optional from an engine standpoint.
An actual technical post! Whooo! To start, why am I posting about this? Well, for one thing, this is one of the most recent things I’ve implemented in Gleam. First thing to note is, when I saw “raw input”, I do not mean DirectInput. Modern versions of DirectInput are simply wrappers around Windows’ raw input API. While you can still use DirectInput, it is not recommended, as it has been deprecated for quite some time.
Man, my titles really are boring. I’ve made some pretty significant progress. I’ve actually started developing the game engine! Yay! One of my main efforts in this engine is to make everything as data driven as possible. Although, this may lead to some overkill with DLLs, or, as I’m calling them, dynamic modules, since other platforms do not use DLL as their extension. I’ve implemented a wrapper around Jansson, a JSON parser written in C.
Been switching gears from Gaff to Gleam. Did a big round of bug fixes, majority on the OpenGL side. Turns out glTexStorageXD() (X being the dimension) followed by glTexSubImageXD() does not produce the same result as calling glTexImageXD(). While it compiled and glError() reported nothing, textures were not getting loaded correctly. The texture would have a random sized black block in the bottom-right corner. Switching to glTexImageXD() fixed this issue.
Hello all! I didn’t quite meet my one post every month quota this time. But I am here to wish you all a happy Thanksgiving! Not as much to talk about as I’d like, but I’ve made quite a bit of progress on Gaff and Gleam. I cleaned up the codebase a bit and added some cool new classes by using typename aliases and variadic templates. Not sure if I mentioned, but I kind of changed the scope of Gleam a little bit.
Over this past week, I have migrated everything I was hosting onto my own server at home. I bought myself a Mini/Book sized PC and a 4GB stick of RAM and used my old 320GB hard drive. I installed Debian and am using Lighttpd as my webserver. Not the most powerful machine ever, but it is suiting my needs and I don’t get that much traffic anyways. I spent about three days setting it up.
No pictures or video yet, but shader support is complete and I have a working camera that you can move around the world! I have some basic shapes that I’m generating in code as test cases right now. I had to go around the code base a bit and make abstract interfaces for some of my classes, since it was possible that they could be compiled into different versions depending on whether you were compiling for Direct3D or OpenGL.
Just checked my grades and it is now official! I have graduated from DigiPen with my bachelors in Computer Science! Or Real-Time Interactive Simulation (RTIS), if you want the useless name for it. I also have just gotten my graphics engine, Gleam, into a state where things are actually appearing on the screen. Here’s a screenshot of my first test! I just have to clean a few things up and fix/implement some things on the OpenGL side and I’ll be off to a very good start.