[HN Gopher] High Performance Voxel Engine (2021)
___________________________________________________________________
High Performance Voxel Engine (2021)
Author : bibanez
Score : 46 points
Date : 2023-12-30 10:49 UTC (12 hours ago)
(HTM) web link (nickmcd.me)
(TXT) w3m dump (nickmcd.me)
| bibanez wrote:
| 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.
| bun_terminator wrote:
| 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.
| phero_cnstrcts wrote:
| 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.
| paholg wrote:
| I think voxel has grown to have two meanings. One is as you
| describe, another is systems like Minecraft.
| broast wrote:
| As an example, a more modern and higher resolution
| implementation of this style can be seen in "Teardown"
| bun_terminator wrote:
| Minecraft is just polygons sure, but it has a "voxely" look,
| that's what I was getting at.
| badpun wrote:
| If you want to use rasterization part of your GPU, you're
| going to have to eventually convert the voxel data into
| triangles.
| rzzzt wrote:
| I'm also thinking Novalogic games and Voxlap:
| http://advsys.net/ken/voxlap.htm
| paulddraper wrote:
| If you're familiar with pixels, you might be familiar with
| "pixel art", even though you every image on a screen has
| pixels
| Jasper_ wrote:
| Huh? What about it uses marching cubes?
| pixelpoet wrote:
| 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...
| eddd-ddde wrote:
| Would you happen to have a sample / example of this technique?
| I'd like to explore it.
| pixelpoet wrote:
| 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.
| pton_xd wrote:
| 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?
___________________________________________________________________
(page generated 2023-12-30 23:01 UTC)