Some v1.20a Stuff Done With a Few Things to Go


I'm hoping to have v1.20a released by August at the very latest. The simulation system is fully operational now and just needs a few little tweaks and fixups. I've been sharing progress on the simulation system via Twitter (@BITPHORIA) among other coding progress on PixelCNC.


I've also just added some functionality that allows PixelCNC to only render the 3D view if the contents of the view have changed in any way, and otherwise just re-draws the UI over the most recent 3D view render so as to allow the UI to run at a much higher update rate, without bogging the system down with drawing ~million triangles each UI update frame. Now the whole 3D scene is rendered once into a framebuffer where it is stored for blitting to the main framebuffer underneath the UI each frame.

Unfortunately this feature requires a computer with graphics hardware that supports at least OpenGL 3.0, so just about anything made in the last decade should work fine. I have an idea for a bit of an antiquated method that could still work on older hardware, by directly copying the newest 3D view render into memory and then submitting it to texture memory, so that the texture could be used to draw a full-window quad depicting the most recent view underneath the UI. Older hardware needs this sort of functionality way more, because the UI runs like garbage if there's a detailed mesh onscreen when running on an older or slower machine.

The next sizable goal is implementing auto-update functionality. I don't want to require users to have to come back and check the page for updates, that's silly. I was considering just making an update-notification system, which simply notifies the user that there's a new version to download, then I wouldn't have to worry about the update system needing permissions to write files and whatnot to their PixelCNC install folder - that's going to be a decently sized headache on its own that I'm not looking forward to. However, popping up a little message could also serve as a temporary stand-in for the auto-update system, which I'd be comfortable releasing with v1.20a. But I'd almost rather just get the whole system up and running so that I wouldn't have to think about it again in the future.

For now though I'm debating writing my own simple server/client protocol, where I'd just run a server program in the background on one of my computers, and PixelCNC would directly receive updates from. Or, should I just maintain some webspace somewhere online where I store the update files and latest version information, and do it all HTTP-based? This would require that I incorporate some kind of HTTP library into PixelCNC, which seems a bit overkill. Maybe I could get away with just a simple FTP client library, but where would I host the PixelCNC files?

Decisions, decisions.

Meshes now render with a much smoother shading, instead of flat-shaded triangles. I suppose I could make this a toggle-able option, but the smooth texture-based shading just looks so much more clean.


Still a bit of a ways to go, but PixelCNC is shaping up really nice! Stay tuned!

Leave a comment

Log in with itch.io to leave a comment.