Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(2 edits)

For placing a block made of 32x32x32 voxels, I'm seeing an update time of about 1/10 of a second.  For removing a block made of 32x32x32 voxels, I'm seeing an update time of about 1/100 of a second.

Placing a procedurally generated block takes longer than removing a block because procedural generation is more computationally expensive depending on the block type.

I still haven't gotten the voxel volume mipmap and voxel adjacency bits updating working in compute shaders, so these numbers are measured with code compiled to do said updates on the CPU and push the updated voxel data to the GPU.  (I would like to move procedural block generation to a compute shader too.)

For simple game play, these numbers are acceptable, but for procedural terrain and/or procedural structure (villages, castles, etc.) generation, world editing or anything that would update a lot of voxels at once, these numbers are way too slow in my opinion.

Wow. destroying voxels is pretty fast in comparison, Do you think pasting the 32 voxel blocks would be faster?

(1 edit)

I tested it with larger block of voxels sizes and it is definitely slower.  Once I get the more computationally expensive part of block placement (procedural generation, voxel adjacency bits and mipmap updates) moved to compute shaders (computationally parallel), it will be fast for any reasonable block size or number of blocks.

(1 edit)

I misread your question.  Yes, pasting would be faster rather than procedural generation.

Cool.