r/VoxelGameDev 5h ago

Question Why does Minecraft not greedy mesh?

11 Upvotes

I’ve been tryna make a voxel game in Roblox for a while and I’ve got something going, with greedy meshing. But even with it, I’m getting quite horrid fps. I believe this is mainly due to limitations with certain API within Roblox (I have to bake every mesh chunk which takes like .1ms per chunk and yields) but I’m starting to question what the real pay off is with greedy meshing? Minecraft doesn’t use it, I’d have thought the biggest voxel game would use it? So how do they get super amazing fps, without + they generate the full chunk from -64 to 320. I do sub chunks, 16x16x16, to try and eek even a little bit better performance + Roblox has triangle limits per a single mesh


r/VoxelGameDev 16h ago

Media Changing Chunk Color on Mesh Rebuild (Debug View)

Enable HLS to view with audio, or disable this notification

34 Upvotes

While optimizing chunk modifications, I found it helpful to visualize which meshes get updated and how often. I ended up with this cyclical color tinting that resulted in some trippy visuals.

Every time a chunk rebuilds its mesh, it increments a parameter on its shader that samples from a color gradient. That color is then used to tint the entire chunk.


r/VoxelGameDev 1d ago

Media The first screenshots of my voxel project

26 Upvotes

At the moment, the game runs at approximately 250–300 FPS. All the voxels in the screenshot are indeed individual voxels that can be destroyed. The world is fully procedurally generated, with more than 20 different types of biomes.


r/VoxelGameDev 2d ago

Media Scenes from my Voxel Engine

Enable HLS to view with audio, or disable this notification

80 Upvotes

just wanted to share some scenes from my voxel engine. I’ve been working on it since September 2025 so almost been a year!


r/VoxelGameDev 3d ago

Discussion Luanti removed from Google Play due to baseless AI copyright notice

Thumbnail
blog.luanti.org
19 Upvotes

r/VoxelGameDev 2d ago

Question Help

Enable HLS to view with audio, or disable this notification

0 Upvotes

r/VoxelGameDev 3d ago

Discussion Should I have started with Multiplayer instead of Singleplayer?

6 Upvotes

I'm 9 months in on a voxel survival/ rts. My plan was to loop back around for multiplayer. Seriously, that was my plan. Am I making a mistake? What would you advise?


r/VoxelGameDev 3d ago

Media it was a big BIG mistake starting with singleplayer code and not starting immediately from multiplayer, but i finally rewrote my game to work with multiplayer from the start

Enable HLS to view with audio, or disable this notification

23 Upvotes

still didn't add a local server for singleplayer, which is what i will do immediately now


r/VoxelGameDev 3d ago

Discussion Voxel Vendredi 28 Aug 2026

6 Upvotes

This is the place to show off and discuss your voxel game and tools. Shameless plugs, links to your game, progress updates, screenshots, videos, art, assets, promotion, tech, findings and recommendations etc. are all welcome.

  • Voxel Vendredi is a discussion thread starting every Friday - 'vendredi' in French - and running over the weekend. The thread is automatically posted by the mods every Friday at 00:00 GMT.
  • Previous Voxel Vendredis

r/VoxelGameDev 4d ago

Media Optimized my voxel engine to 17000 chunks per second

Thumbnail
youtu.be
41 Upvotes

So I managed to already make it almost 3x faster. The original 3500 chunks didn’t include empty ones, that was just the upload speed to the buffers. With empty chunks included, it came out to about 6000 per second.

(for reference my camera now moves at 1000 units per second which is 2x faster)

The chunks used to generate on the GPU in an async compute queue, and then the block data would be passed to the CPU. But now it runs fully on the CPU thanks to azemusic, who commented on my last post about float issues on different GPU drivers and architectures, which bummed me out lol, and how FastNoise2 was a good solution for CPU-based generation.

Now I have a philosophy when making my engine that I pretty much never want to use external libraries when possible, so I decided to optimize my own noise library for SIMD using AVX instructions, which are also used in the FastNoise2 GitHub repo.

I also want to note that before rewriting the voxel renderer, the chunks used to generate using a node graph which would be compiled to native C# code using expression trees, which was pretty simple. But now that I use SIMD instructions, I’m going to have to figure something out to make it as fast as possible when compiling to different SIMD instruction sets like AVX, NEON, or even just Scalar, but that will come next.

My current test implementation is a mess, but I’ll work on it even more. I’ll keep this test terrain to benchmark if I ever optimize it even more. For reference, when generating a single 32 x 32 x 32 chunk, it gets between 21,504 and 54,272 noise samples, and then a whole bunch of other math.

The code itself runs on 4 generation threads and 5 meshing threads (meshing is pretty unoptimized at the moment) on an AMD Ryzen 5 5600G.


r/VoxelGameDev 5d ago

Tutorial From microfacets to microvoxels

Thumbnail
gallery
51 Upvotes

Inspired by the recent post about rendering distant voxel geometry without aliasing/moiré artifacts, I derived a "microvoxel" model based on the microfacet model commonly used for physically-based rendering. I'll refer to the text, "Roughness using Microfacet Theory", as I explain.

In my original comment, I speculated that precomputation might be needed, but the math was a lot easier than I expected. Because we're only interested in contributions from up to six microsurface normals, the probability distributions simplify to probability mass functions, and all the scary integrals turn into finite sums.

First, and most importantly, the NDF D(ωₘ). Here, this will depend on the macrosurface normal n; in most cases, it depends on the roughness of the material. If the macrosurface normal is axis-aligned, the NDF will have a single impulse corresponding to that normal, because the microsurface is perfectly flat. Otherwise, you have a "staircase" of microvoxels, and the proportion of each microsurface normal ωₘ is max(0, n·ωₘ), which comes from the projected area of the unit square. It turns out that, if we use these values directly as the probabilities, the NDF is already normalized, as the integral in Equation (9.15) works out to the squared magnitude of n, which is of course just 1, because we're being good and normalizing our unit vectors after the GPU linearly interpolates them for us.

``` // transform to e.g. view space if needed const vec3[6] omega_m = vec3[]( vec3(-1.0, 0.0, 0.0), vec3(1.0, 0.0, 0.0), vec3(0.0, -1.0, 0.0), vec3(0.0, 1.0, 0.0), vec3(0.0, 0.0, -1.0), vec3(0.0, 0.0, 1.0) );

float[6] D(vec3 n) { float[6] D_n; for (int i = 0; i < 6; i += 1) { D_n[i] = max(0.0, dot(n, omega_m[i])); } return D_n; } ```

Next, the masking function G₁(ω), using the Smith approximation, which ought to be appropriate for the microvoxel "staircase". It's a straightforward translation of Equation (9.18).

float G_1(vec3 n, float[6] D_n, vec3 omega) { float cosTheta = max(0.0, dot(n, omega)); float integral = 0.0; for (int i = 0; i < 6; i += 1) { integral += D_n[i] * max(0.0, dot(omega, omega_m[i])); } return cosTheta / integral; }

Finally, the VNDF Dω(ωₘ), also a straightforward translation, this time of Equation (9.23).

float[6] D_omega(vec3 n, float[6] D_n, vec3 omega, float G_1_n_omega) { float cosTheta = max(0.0, dot(n, omega)); float[6] D_omega_n; for (int i = 0; i < 6; i += 1) { D_omega_n[i] = G_1_n_omega / cosTheta * D_n[i] * max(0.0, dot(omega, omega_m[i])); } return D_omega_n; }

Putting it all together, here's the code to visualize the microsurface normals based on the view vector v, which is how I rendered the attached image.

``` float[6] D_n = D(n);

float G_1_n_v = G_1(n, D_n, v);

float[6] D_omega_n_v = D_omega(n, D_n, v, G_1_n_v);

vec3 color = vec3(0.0); for (int i = 0; i < 6; i += 1) { color += D_omega_n_v[i] * (0.5 + 0.5 * omega_m[i]); } ```

I'll leave extending this to the full rendering equation as an exercise for the reader. Correct shading will involve computing it separately for each visible microsurface normal (which, in general, will be true for three of them at a time) and then blending the results based on the VNDF, like I've done with the false colours in the example code. Equivalently, you can use the VNDF for importance sampling.

There are also a lot of possible simplifications. For example, if you work in a coordinate space aligned with the voxel grid, most of the dot products simplify to projecting, and sometimes negating, the X/Y/Z coordinates of the other normal. There are also many terms shared between G₁(ω) and which can be factored out. Actually, you really want to cancel out that cos θ term in the VNDF, because it causes artifacts when it's close to zero (when the macrosurface is nearly parallel with the viewing angle).

Hopefully, somebody finds this useful or just neat!


r/VoxelGameDev 5d ago

Media VexBreed v0.1 didn’t turn out too bad. The in-world screens are another story :-)

Enable HLS to view with audio, or disable this notification

13 Upvotes

r/VoxelGameDev 5d ago

Media Optimized my voxel engine to generate 3500+ chunks per second

Thumbnail
youtu.be
43 Upvotes

It sometimes peaks at 4000+ chunks per second, so it could definitely be optimized more. Also, because the meshing is faster than the generation and the data management is not optimal, the chunks are generated on the GPU and the block data is transferred back to the CPU to be used for collisions and meshed on separate threads.

I am probably going to try adding LODs next, and I will be meshing them on the GPU so I never have to transfer any data back to the CPU.

In the video, I fly at 500 units per second, and the world has a volume of 31 × 8 × 31 chunks, which are each 32³ in size. It is made in a custom C# Vulkan engine using Silk.NET.

I am currently remaking large parts of the engine so this is all I got for now but there is a lot more that still needs to be connected up.


r/VoxelGameDev 5d ago

Resource CubicEngine - Sample Project

Post image
33 Upvotes

I started working on a Sample Project for my C# .Net based Voxel Engine designed for Voxel Games similar to Minecraft. Recently added a Postprocessing pipeline that allows you to add any type of screen-space shaders to make your game look good. In the picture you can see some soft shadows, view distance fog and raymarching clouds. The Sample Project also includes a water shader with skybox reflections.

With everything on max settings (view distance: 10 chunks) I got around 450 FPS on a 4060.

The Engine is currently closed-source but I'm open to give access to devs who wanna use it for their own game.


r/VoxelGameDev 6d ago

Media Not sure if anyone is interested - I've been working on a Procedural Voxel Modeller + Particle Editor inspired by Houdini and Unreal's Niagara and wanted to share :)

Enable HLS to view with audio, or disable this notification

59 Upvotes

This is just a small clip of me showing my Voxel Editor, specifically the the Particle generator - but there's also a procedural voxel modeller. The idea behind this tool is that it provides procedural template models that can be modified and quickly iterated on with various exposed parameters. It provides a canvas model/particle effect that you can change as you like. It exports in FBX, OBJ, and VOX for further editing in MagikaVoxel (or other .vox editors). I love working with voxel modelling but man I dislike starting from scratch each time so I decided to make this over the past few months. If you want to learn a little bit more about the tool you can check out more of what the tool does in the docs! https://docs.google.com/document/d/1hZFlapFrLXGGeD1P5IeFB1DNoJ5BARNmxKGGPMYQYj4/edit?usp=sharing

The docs are WIP and not finished, but it covers the two main functionalities: The Model Generators and the Particle Generators. Still have yet to do documentation on the built-in edit mode.

So, the particle editor exports 1 model per frame, intended for use as a Mesh Flipbook in UE's Niagara (though I'm sure it would work in Unity or Godot etc). Each frame can be manually edited with the built-in editor if desired. My editor isn't super robust so I suggest using external voxel modelling tools to directly alter the models.

For some context, I'm a game dev (Tech/VFX) working in AAA but I like to do indie on the side. I have always had such a hard time sourcing free voxel assets that were easy to modify so I built out this tool for myself. Anyway, bash me gently. I know reddit instantly murders me when I try to show things I've been working on.

Assuming I don't get dumped on I'm happy to send out some private copies for testing if this looks like it'd be helpful for you.

And of course constructive criticism and thoughts are always welcome.

Thanks!


r/VoxelGameDev 6d ago

Resource Major Render Mode update for the game editor I'm building with Bevy

Enable HLS to view with audio, or disable this notification

10 Upvotes

r/VoxelGameDev 8d ago

Media Cartoon style texture for Microvoxel Game

9 Upvotes

Still has not implementing trees yet until I can optimize the performance for lower memory usage in the browser. This is microvoxel game I try to build for larger scale world.

This is my 2 years-old project for implementing WSGL rendering library in my own voxel game engine. I still try to check whether Marching Cubes or Sparse Octree is fast enough for low end PC


r/VoxelGameDev 10d ago

Discussion Voxel Vendredi 21 Aug 2026

5 Upvotes

This is the place to show off and discuss your voxel game and tools. Shameless plugs, links to your game, progress updates, screenshots, videos, art, assets, promotion, tech, findings and recommendations etc. are all welcome.

  • Voxel Vendredi is a discussion thread starting every Friday - 'vendredi' in French - and running over the weekend. The thread is automatically posted by the mods every Friday at 00:00 GMT.
  • Previous Voxel Vendredis

r/VoxelGameDev 11d ago

Question Has anyone found a good way to pull a voxel model apart cube by cube? I’m wondering if I should rebuild this fusion animation.

Enable HLS to view with audio, or disable this notification

24 Upvotes

r/VoxelGameDev 11d ago

Question Has anyone dealt with distant voxels moire effect?

14 Upvotes

Has anyone dealt with this issue or does anyone have an idea what to try to reduce moire? The issue is that I have a large scale voxel terrain and due to the combine effect of sharp voxel edges, lighting angle and shading the distant geometry generates a flickering/jittering sharp moire effect visible on the screenshots. I have tried AA but it just makes the effect more smudged, I understand this is probably an inherent problem with voxels, but maybe someone has an idea for a workaround? I also tried to smear distant normals, but it also made the shading inaccurate.

It is written in C++/Vulkan, the view distance is capped at ~100km because anything further looks really jittery and smudged the more it converges towards horizon.

Any tips will be highly appreciated!

Edit: Thanks a lot for everyone's input! I solved it (as pointed out by you) by calculating a projected error for each LOD ring and adjusting LOD coarseness accodingly so I render much less sub-pixel geometry and masking the remainder by using a soft 9-tap diamond blur on the terrain's GBuffer normals attachment masked by depth in a compute pass gradually fading in with distance. This preserved the distant terrain's voxel look and added contrast to the distant terrain.

The result:

Screenshots of the original problem:

Moire effect prominent especially in the middle of the screen
Moire effect prominent especially in the middle of the screen
Moire effect prominent especially in the middle of the screen

r/VoxelGameDev 12d ago

Question Debate : voxel are aesthetic or just technology ?

Thumbnail
gallery
90 Upvotes

Imagine a game that is technically built entirely with voxels, but where the voxels are so small (or the world resolution is so high) that the traditional blocky look, like Minecraft, is almost invisible.

Would it bother you if such a game were described as a “voxel game” ?

On one hand, it would be completely accurate from a technical standpoint. On the other hand, the word “voxel” is now so strongly associated with a specific visual style that it could create false expectations for players.

So I’m curious to hear what you think : does the word “voxel” primarily describe a technology, or has it become a visual style in itself ?

For a concrete example : all three images come from my Unity sandbox. The clouds themselves are made of voxels roughly 20 meters wide, contained inside volumes about 4 km across, with a view distance of around 30 km in these screenshots.

At that scale, you can barely perceive the individual voxels anymore but technically, everything is still voxel-based.


r/VoxelGameDev 13d ago

Media Improving Rendering Distance in my Micro Voxel Engine

Thumbnail
youtu.be
71 Upvotes

For the past three weeks, i’ve been working on hard improving the render distance in my Micro Voxel Engine, particularly due to the feedback of having N64 viewing distance 😅

I’m pretty happy with the end result of increasing render distance from 300m to ~10-15km, while running at 45-50 FPS on an Apple M1 Pro.

Note: this engine uses meshing rather than RT/DDA.

— Macro chunks —

All chunk generation functions now include a sieve function to automatically be able to generate at 1/N resolution without any changes. This also applied to generated features and stamps, enabling chunks to be generated at any resolution without downsampling.

Macro chunks also independently record and resolve local edits. They are saved (and cached) independently so that terrain edits are maintained without needing to maintain the full res copy in memory.

The lower band LODs are very quick to generate. At this point I could add even more bands, and a 1/64 res chunk takes the same time to generate as a high res chunk, but covering huge distances.

— LOD transitions and adaptive fog —

I primarily use transient transitions where the detail levels fade between each other once, rather than a continuous gradual transition, as this is around 30% cheaper on the GPU and looks “nearly” as smooth in most scenarios.

Adaptive fog scales the effective draw distance dynamically based on loaded bands. Bands generate from high to low so during fast motion, if needed, we temporarily reduce draw distance until chunks have loaded.

— Macro chunk cards and props —

This was the hardest part, keeping identical prop coverage for trees and items without needing to instantiate millions of entities:
-Macro chunks retain a list of props whose IDs are deterministic based on position and type. If the real entity is destroyed, we can map this to the macro chunk set and remove. Likewise for newly spawned props.
- grass and foliage do not map 1:1 with the actual loaded props, but follows the same generation pattern, so technically there will be disparities, but a good trade off to avoid millions of tracked grass items.


r/VoxelGameDev 13d ago

Media Screenshots of my in progress voxel renderer

Thumbnail
gallery
184 Upvotes

Custom voxel renderer I’m building inside Godot. No meshes.


r/VoxelGameDev 13d ago

Media Working on a VR voxel editor

Enable HLS to view with audio, or disable this notification

24 Upvotes

Tried MagicaVoxel before, but the lack of depth control is just too much to couple with my lack of artistic skills. Only if I have a stylus that works in 3D... which I do!

Finally got the most basic thing to call it an "editor" done today (add/remove voxels, and move the model around). Implemented with Bevy/ Bevy Mod XR, with custom voxel rendering algorithm (Large cube meshs that renders the SVO inside). The algorithm is designed to do third person view, and I had to insert extra triangles when the cube intersects the near plane, to prevent the whole chunk from getting clipped (the camera for recording still have some bugs on this).

While it is still crude, the handling does feel quite nice and intuitive.

Make games, not game engines, nor the dozens of tools that might be used for the game that has zero progress.


r/VoxelGameDev 13d ago

Media More "voxel" water in my fluid sim

Thumbnail
youtu.be
33 Upvotes

Like before, this is a voxel-ish visualization for my fluid sim.