Week 51 - Nearly there!
The dev blog is a little late this week, as Februaryitis kicked in. It’s far too cold to be sitting in my garage on a weekend typing up a blog post, and it’s been a busy one.
Prepping for public release
Much as I would like it to be different, I’ve got a limited amount of time (and mental effort) that I can devote to making something product-worthy. I have been hoping to get some of the big ticket items fixed before releasing Scanner generally - the remaining big three are some drift-correction on the point clouds coming in, colour correction on the textures, and better quality meshing.
Given my velocity over the last few months, if I actually focus on all of these, I may get them done by the end of my second year, and I may not. I’m certainly not going to get them finished in the next few weeks, and I really want to ship Scanner (and, to some degree, be done with it for the near future and get on to some other fun stuff!)
So, that’s what I’m going to do. I spent most of the last week getting Scanner in a state where it’s solid enough to be usable by anyone, and they’re going to feel like they got some value for their purchase. Even if that’s only one or two people (and I’ve had four sales so far!) then that’s good enough for me. I’ve improved the stability and performance of saving (moving everything into memory streams instead of writing to device, then reading that back in for the archive step). I’ve improved the performance of the pointcloud processing so that I can pass though twice as many points per depth frame, and still maintain a sensible framerate. And lastly, I’ve hunted down and resolved most of the issues with memory hanging around (not all, but most).
It’s not great, but it’s good enough.
Next week …
(well, this week really, as I’m writing this on a Monday morning) …
General release time. No more prevaricating!
Then, I’m going to do something new and shiny - I’m going to take a look at Compute Shaders. All of the improvements I’d like to make to Scanner (and to the holodeck in general) involve big chunks of math, and some of that work is trivially parallelisable, so throwing it at the GPU should get some big performance wins. I’m going to start with the mesh creation, and take it from there.