Hacker News new | past | comments | ask | show | jobs | submit login

Dynamic shadows work in exactly the same way as they do for standard triangle rasterization.

Each light has a shadow map (which can be thought of as "the depth of the scene, from the point of view of the light").

During the final rasterization pass, the shadow map is sampled. If the sampled depth is less than or equal to the current fragment's depth, then the fragment is in light; otherwise it's in shadow.

So, nothing has fundamentally changed here. When a particle (voxel) is rasterized, it outputs a depth, just like a triangle outputs a depth.

tl;dr: Dynamic shadows work fine.




"tl;dr: Dynamic shadows work fine."

So... where were they in the video?

There's a difference between "some voxel engines can have dynamic lighting" and "dynamic lighting works with this particular engine".

It's not like this is some obscure or useless feature that nobody has ever heard of. In fact for all the "detail" one can't help but notice the number of other things missing from the video.


I didn't mean to imply Euclideon had dynamic shadows.

I meant to imply that Euclideon are lazy and haven't implemented dynamic shadows yet.

There's no fundamental reason why dynamic shadows wouldn't work in voxel engines. But whether you believe me or not is of course up to you.


Near the end they claim to have added more detailed shadows to their engine just after making this demo. I'm not sure if they meant 'dynamic shadows' by that.


I think they meant diffused shadows, the small shadow demo they give didn't appear to be dynamic.


The "improved shadow" demo they showed was clearly ambient occlusion. It's impossible to say whether their particular implementation supports dynamic shadows but as a rasterization technique many of the same techniques used in games ought to work fine here (pre-baked lightmaps, various kinds of shadow maps, screen-space ambient occlusion, and even the fanciest new real-time GI stuff coming from SIGGRAPH).


Obviously not every 3D rendering technique in existence would be included in a short demo video.


For something as obvious as for gaming (where in the video other games have people running around while these guys are hovering around a static environment), I expect something that at least looks like a game, hell id go for simple animation such as the top comments blade of grass.


from what i understand, the voxels more or less dynamically adjust their resolution according to their distance from the modelview origin (where the player is). if the engine generated dynamic shadow maps per light source, would'nt the voxels need to be high resolution with respect to each light source, so that the shadow map isn't a bunch of huge blocks? i imagine that alone would be a pretty big performance hit


The dynamic adjustment is traversing the voxel representation when you render the view. This kind of per-pixel shadow map requires rerendering the scene for each light source - but in more or less the exact same way that the player view is rendered. Then some work rectifying that information. So it would be a big performance hit, but not obviously any worse than normal rendering. Although did someone say it was only running at 20fps as it was?


20 fps in software. They're still finishing hardware rendering.


Because it's probably incredibly difficult to do with the added memory and bandwidth restrictions.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: