Can you be a bit more specific on how you accomplish texture blending? You mentioned you store two material IDs and their intensities in each voxel. How do you get this information to the fragment shader, 3D textures? After you relay this information about material IDs to the fragment shader, how is the blending done? Some floats would have to be interpolated at each vertex (unless I'm missing something), but I'm not sure how one would know which interpolated float represents which material. Also, how many times do you sample textures in the fragment shader? Triplanar texturing is already expensive with one texture, but you're blending up to 6(?) textures per fragment, so does that mean you're sampling textures 18 times in the fragment shader? How did you stitch chunks in your LOD videos? There's a solution to this in dual contouring meshes, where you collect all the nodes contributing to the seam, create a new octree, then run the dual contouring algorithm on that octree. This approach creates a dependency between chunks and would reduce performance.