Now that the idea of making my own voxel engine has resurfaced and plagued my mind…I find that I will most likely be creating a new voxel format.
Currently there is the basic uncompressed raw VOX file, with a 255 color palette(1 is for void).Then KVX and KV6 formats that are more optimized, containing surface voxels only, normals, and mip-map levels.I've cracked the VOX code fairly easily, because it was simple, but the other formats I think have more than I need, and I haven't quite figured out how to work with them yet…So I decided to do the next best thing, make my own format.Now I'm planning on making an engine that just uses this format, although I'll have methods of converting the raw VOX file into it too.Haven't thought of the extension yet, maybe something like VXS. Voxel Surface.I'm still working out the details, but it should a be much simpler system. Surface voxels will be stored, but no mip-maps or normals. Instead the data will included which faces are visible, location and what the voxels color is in RGB.Don't count on me trying anything with translucent voxels just yet.And I may not actually use DF's ray casting wonder for the 3d voxel engine at all, but I do plan on playing around with it for a sidescrolling experiment.No, this time I'll be doing something with simple length-direction rays that will hunt through the map grid, finding objects.Now depending on the faces that are marked visible, your camera's horizontal and vertical angles will determin if its in view, drawing it to screen.Instead of one large voxel world, it'll be just like how I was doing the voxel RPG, a bunch of voxel objects.And just like the previous one I'll be doing faked lighting and fogging….although I guess now it can be real, since I'll be able to manipulate them on a voxel level instead of a object level.Still have to write out the format and create a viewing system. Hopefully I can make it simple and portable. Take advantage of pre-defined math for speed.Here's the Evaldraw version, haven't touched it in a month...