Removing an external library from code

Project Page Previous project post Post History

I haven't posted much progress lately, that's because I've been busy trying to remove an external library from The Dark Room. It was a library use for matrix math and was convenient to use because it did what I needed it to do. But now that the display is becoming more involved, I felt I needed to make my own functions for the improved display.

The transition of moving away from this library has taken me several weeks to successfully complete. I had all sorts of issues I needed to overcome, mostly around re-arranging matrices, their columns, multiplication, and more. Not having been taught any of this, I was pretty much fumbling around in the dark until I got things right. It was frustrating to do.

I'm not completely against using third party libraries, but when I already had one in the Cinema4D (C4D) SDK to use, it seemed silly to have to use another library to do the matrix stuff for the display. Unfortunately, C4D's SDK can reach it's limit in places, which made the journey even more frustrating. I think more modern implementations of C4D have opened these things up more, but I'm unable to use those because my version is quite a few years old at this point.

The image below won't tell you much, but it tells me everything is working again. I have my own move, rotate, zoom functions (amongst a few others) and am working on further ways to interact with the project display.

The Dark Room engine in Grain View mode. This is a default screen for testing and debugging.

Not shown above, but there is also a project front-on view. This will be where the project composition can be viewed, and that will underpin the final rendering process. More on this another time.