News for hackers. Stuff that matters.
Re:High Performance Voxel Engine (2021) by bun_terminator on Saturday December 30, 2023 @06:34AM (#38814440)
I'm not a professional graphics programmer, but I dabble in it occasionally and hang out in GP communities. It's fascinating to see the wealth of voxel engines being written. Minecraft really had a massive cultural impact on the tech scene. Or maybe it's just that voxels are a particularly good target for various optimization techniques. Interesting either way!

For the author: Any particular reason you don't seem to be using DSA in your OpenGL code? ie glNamedBufferData() and friends. I found it the single thing that transforms OpenGL into something very user-friendly.

Re:High Performance Voxel Engine (2021) by phero_cnstrcts on Saturday December 30, 2023 @03:34PM (#38818826)
Has the definition of voxels changed recently? As far as I know voxels are pixels in 3D space. Minecraft is just a low poly engine based on marching cubes.
Re:High Performance Voxel Engine (2021) by bun_terminator on Saturday December 30, 2023 @04:07PM (#38819157)
Minecraft is just polygons sure, but it has a "voxely" look, that's what I was getting at.
Re:High Performance Voxel Engine (2021) by badpun on Saturday December 30, 2023 @04:19PM (#38819282)
If you want to use rasterization part of your GPU, you're going to have to eventually convert the voxel data into triangles.
Re:High Performance Voxel Engine (2021) by paholg on Saturday December 30, 2023 @03:44PM (#38818921)
I think voxel has grown to have two meanings. One is as you describe, another is systems like Minecraft.
Re:High Performance Voxel Engine (2021) by broast on Saturday December 30, 2023 @04:08PM (#38819158)
As an example, a more modern and higher resolution implementation of this style can be seen in "Teardown"
Re:High Performance Voxel Engine (2021) by rzzzt on Saturday December 30, 2023 @05:28PM (#38819915)
I'm also thinking Novalogic games and Voxlap: http://advsys.net/ken/voxlap.htm
Re:High Performance Voxel Engine (2021) by paulddraper on Saturday December 30, 2023 @05:30PM (#38819935)
If you're familiar with pixels, you might be familiar with "pixel art", even though you every image on a screen has pixels
Re:High Performance Voxel Engine (2021) by Jasper_ on Saturday December 30, 2023 @05:38PM (#38819993)
Huh? What about it uses marching cubes?
Re:High Performance Voxel Engine (2021) by SkeuomorphicBee on Saturday December 30, 2023 @08:06PM (#38820872)
Minecraft is just pixels in space. The world is built with a sort of very low resolution voxels. Yes, the 1m x 1m blocks that make up everything are voxels, they only have position (discrete, aligned to the 3D voxel grid) and "colour" (the type/material), and don't have dimensions nor rotation. That is prety much the textbook definition of a voxel. The fact that when rendered they are given texture is a rendering detail that doesn't erase the fact they are voxels.
Re:High Performance Voxel Engine (2021) by bibanez on Saturday December 30, 2023 @05:49AM (#38814231)
A showcase of the techniques explained in the article:

https://www.youtube.com/watch?v=IFUj53VwYvU

https://douglasdwyer.github.io/octo-release/ (online demo)

Lately I've been addicted to watching (micro) voxel engine videos on youtube. I need to resist my urge to write one (not that I think I would do a particularly good job). I've also found the voxel engine by John Lin to be particularly impressive.

Re:High Performance Voxel Engine (2021) by pixelpoet on Saturday December 30, 2023 @01:36PM (#38817561)
I'd rather just directly raycast against a nicely compressed hierarchical representation than create horrendous amounts of triangle geometry and rasterise that. The code would be absolutely tiny, and not mostly a bunch of calls into someone else's code.

But, you know, gotta do the OpenGL / DirectX / whatever vanilla API thing... that's what graphics programming is, isn't it...

Re:High Performance Voxel Engine (2021) by pton_xd on Saturday December 30, 2023 @02:00PM (#38817862)
That's the future but raycasting currently has some major drawbacks... namely that everything looks like a noisy mess when you look around.

Curious if anyone has plotted GPU compute increases against display resolution + update frequency increases? When do the two lines cross?

Re:High Performance Voxel Engine (2021) by zooi on Saturday December 30, 2023 @08:23PM (#38820967)
I'm fairly certain that pixelpoet is referring to direct raycasting, not raytracing (light transport simulations). These aren't noisy.
Re:High Performance Voxel Engine (2021) by pixelpoet on Saturday December 30, 2023 @09:31PM (#38821238)
I got nice and downvoted for it too, serves me right.

The noisy / Monte Carlo one is path tracing (which I've been doing since age 15 or something and commercially for over a decade), and that's indeed not what I meant but I guess all the expert gfxcoders at HN have done the efficiency analysis versus rasterisation.

Meh, I always have to remind myself how bad it is here for gfx stuff, might as well have been discussing cryptocurrency...

Re:High Performance Voxel Engine (2021) by eddd-ddde on Saturday December 30, 2023 @01:46PM (#38817672)
Would you happen to have a sample / example of this technique? I'd like to explore it.
Re:High Performance Voxel Engine (2021) by pixelpoet on Saturday December 30, 2023 @01:53PM (#38817759)
It's just normal old raycasting through a voxel grid a la Amanatides and Woo: http://www.cse.yorku.ca/~amana/research/grid.pdf https://github.com/cgyurgyik/fast-voxel-traversal-algorithm/...

Casting the rays from the camera will be nice and coherent, plus you probably get much better and easier shadowing using ray casts compared to shadow maps.

Re:High Performance Voxel Engine (2021) by amoss on Sunday December 31, 2023 @05:08AM (#38822968)
How does it handle dynamic scenes? The work by the OP looked like it took an update to the VAO/VBO if the chunk changed. What's the cost of rebuilding the acceleration structure here if the scene is updated?
Re:High Performance Voxel Engine (2021) by Duanemclemore on Saturday December 30, 2023 @06:48PM (#38820437)
Thank you, OP and everyone else who's commented. This is super helpful to see. It's great to learn about Nick's work specifically and as an introduction to the those working in this field - and to see the other helpful links everyone has posted.

I wrote a library to implement (most of) the Space Groups in the visual programming environment Grasshopper, which is inside 3d modeling software Rhino3d. This was to get architects working with 3d symmetries, not just 2d; and to get architecture students learning the spatial symmetries in more rigorous and complete ways. The scope and aim are completely different than these engines. But I'm hoping to rewrite it into a standalone program soon, so it's very helpful and timely to get this influx of information I hadn't sought out before!

Re:High Performance Voxel Engine (2021) by ricardobeat on Saturday December 30, 2023 @10:32PM (#38821487)
This brought back memories of Atomontage, a voxel engine which seemed to be way ahead of its time 10 years ago, but was never released, and became some kind of cloud platform.

https://www.youtube.com/watch?v=J62z_7JaYMw

https://client.atomontage.app/view?m=5C1RGKu4vT67qEBLO4gqh