Generalized the extrude tool's functionality and used it to create a tool for quickly authoring "voxel grass".

#gamedev #indiedev #voxel #iolite

Last updated 1 year ago

Spent some time cleaning up the code and added more missing bits and pieces, like mirrored extruding and moving of voxels.

#iolite #gamedev #indiedev #voxels

Last updated 1 year ago

It seems like non-uniformly scaled voxel shapes are great for blocking out worlds. :)

The video also shows some progress on the tooling side, like the new extrude tool.

#iolite #gamdev #indiedev #voxels

Last updated 1 year ago

It seems like non-uniformly scaled voxel shapes are great for blocking out worlds. :) The video also shows some progress on the tooling side, like the new extrude tool.

#iolite #gamdev #indiedev #voxels

Last updated 1 year ago

Thanks to the new C API and plugin system, I've moved parts of the development to the open.

I'm currently building a plugin for editing "voxel shapes" in the editor, which will be helpful for quickly making assets or blocking out worlds.

Next up: Region-based tooling (extruding, magic wand for selection, etc.) and a stamp tool.

#iolite #gamedev #indiedev #voxels

Last updated 1 year ago

Kosmimatis🔥💍 · @kosmimatis
63 followers · 198 posts · Server handmade.social

I am spending some time bringing IOLITE's (offline) GPU path tracer up to speed. I added depth of field with various bokeh shapes, support for water planes, and more.

#iolite #gamedev #inidiedev #voxel

Last updated 1 year ago

IOLITE's mesh voxelizer is evolving nicely, now supporting meshes with materials and textures via glTF.

I've sculpted and textured a terrain mesh in Blender and voxelized various props for the scene in the screenshot. The grass is generated during the voxelization based on a parameter map, defining density and height. The underlying color palettes are automatically generated from the base color maps using k-means clustering.

#gamedev #indiedev #iolite #voxel

Last updated 1 year ago

Mesh voxelization in IOLITE. I'm using Intel's Embree for BVH construction, followed by parallelized point queries, detail box intersections, and vertex attribute interpolation based on the closest points on the intersecting triangles. Colors are derived from MagicaVoxel's (second) default palette; hence they won't match perfectly.

#iolite #gamedev #voxel #indiedev

Last updated 1 year ago

Hello, my dinosaur friends; stop running. :)

#iolite #gamedev #indiedev #voxel

Last updated 1 year ago

I worked on several optimizations to speed up the BVH traversal and overhauled some underlying data structures of voxel shapes in to save some memory.

The video shows creating a 4k² world by copying the initial 1k² world 16 times. Height is around 128 voxels, resulting in ~10k 64³ voxel shapes/chunks used for rendering.

#iolite #gamedev #indiedev #voxel

Last updated 1 year ago

I worked on several optimizations to speed up the BVH traversal and overhauled some underlying data structures of voxel shapes in to save some memory.

The video shows creating a 4k² world by copying the initial 1k² world 16 times. Height is around 128 voxels, resulting in ~10k 64³ voxel shapes/chunks used for rendering.

#iolite

Last updated 1 year ago

Today's screenshot shows a sector of the Minecraft map Greenfield rendered in IOLITE at night.

There is an additional ray-traced point light right in the center. Spans roughly 2k² voxels, once again exported to VOX via .

#avoyd #iolite #gamedev #indiedev #screenshotsaturday #voxel

Last updated 1 year ago

Short thread on how I'm handling "radius damage" in IOLITE after the recent optimizations:

After spawning a "damage sphere", there are three phases. The first phase collects all the affected voxel shapes in the world. The results are then handed over to the task scheduler, where subtasks compute local bounds for the affected voxels, followed by the actual damage calculations on the truncated areas. +

#iolite #gamedev #indiedev #voxel

Last updated 1 year ago

I worked on many more minor CPU-sided optimizations in the last few days. Working with larger datasets is a breeze now.

#iolite #gamedev #indiedev

Last updated 1 year ago

I almost finished up the palette editor today and added the fun option to specify the hardness of materials while I was at it.

In the video, I'm throwing grenades with varying thresholds for the material hardness parameter, controlling the types of voxel materials they can affect.

#iolite #gamedev #indiedev #voxel

Last updated 1 year ago

Working on fracturing based on Voronoi regions precomputed at different resolutions. The resulting IDs are fed to the component labeling algorithm and serve as an additional classification.

Users can control fracturing by setting the according mask in the underlying data or simply by using the volume of a sphere in world coordinates.

In this example, a "damage sphere" and a "fracturing sphere" with a slightly larger radius are applied on top of each other.

#iolite #gamedev #indiedev #voxel

Last updated 1 year ago

"Scale 10x to Minecraft"

#iolite #voxel #gamedev #indiedev

Last updated 1 year ago

Part of the "Midtown Manhattan" MC map exported via Avoyd and rendered in real-time in IOLITE.

#iolite #screenshotsaturday #gamedev #voxel

Last updated 1 year ago

I had some pretty complicated plans before implementing the voxel shape preview for IOLITE's editor, luckily I ended up with a simplistic solution:

The image is generated asynchronously on the CPU when hovering over the entries in the list. A small ray tracer operates line by line using my job scheduler, and the results get written to a single host-visible image displayed in the UI. There is no complex lighting or actual scene setup, but it gets the job done.

#voxel #gamedev #indiedev #iolite

Last updated 1 year ago