Global Illumination Per-Voxel Normals | Voxel Dev Bugs

Поділитися
Вставка
  • Опубліковано 24 лют 2024
  • Per-voxel normals are really buggy with GI at the moment, as they can technically face away from the camera in some situations. This can lead to a weird flickering effect. I'm not sure of a good way to mitigate the issue of generating normals for very thin surfaces....
    This video was previously unlisted, but I made it public because I want to be able to show more content without the necessary effort that comes with making videos with commentary. I talked about this in this video: • What has changed in my... .
  • Наука та технологія

КОМЕНТАРІ • 11

  • @sparkydoggo8691
    @sparkydoggo8691 3 місяці тому +2

    I would assume the other method would be per-face
    have you tried calculating face angles then just “turning” each voxel so it always faces toward you? would that be too intensive?

    • @GabeRundlett
      @GabeRundlett  3 місяці тому

      That was part of the fix for this. Most of the problems were in the GI computation itself, not handling well the normals. However, thin structures still have ugly normals anyways, so it's difficult.

    • @sparkydoggo8691
      @sparkydoggo8691 3 місяці тому +1

      @@GabeRundlett I see- looks amazing either way

  • @The14Some1
    @The14Some1 3 місяці тому +1

    This is great. I always thought per-voxel normals is proper way of doing this.
    I'd have even tried to render screen-coplanar squares instead of cubes, because at some point of detalization it doesn't even make a big difference.
    The other thing i'd love to see your take of implementing octree lods, which is the way of having infinite render distance. Yeah, i know, i know, this most likely would require complete rewriting of the engine :)

    • @GabeRundlett
      @GabeRundlett  3 місяці тому +2

      Level of detail is coming. It's not an entire rewrite of the engine, but instead just a rewrite of the src/voxels/impl folder you can see on GitHub github.com/GabeRundlett/gvox_engine. I've been preparing for this rewrite for a couple weeks now 😅

    • @The14Some1
      @The14Some1 3 місяці тому

      @@GabeRundlett I've been watching ethan gore's and y000's engines, they both showcase mind blowing render distance by using octree lods, i believe. Take a look, if you haven't yet.

    • @GabeRundlett
      @GabeRundlett  3 місяці тому +1

      @@The14Some1 thanks, I've chatted with both of them before. If/when I do LODs, I want to make sure I do it right, with no visible transitions.

  • @MilkDrinker01
    @MilkDrinker01 3 місяці тому +1

    de_nuke

  • @quentinarrius
    @quentinarrius 3 місяці тому +1

    So cool!

  • @The14Some1
    @The14Some1 3 місяці тому +1

    How many bounces it does?

    • @GabeRundlett
      @GabeRundlett  3 місяці тому

      There are theoretically infinite bounces, as the irradiance cache feeds back into itself. This is a bit misleading of course, as with the same argument you can say that TAA has infinite sub-samples. Figuring out how many rays are cast per pixel/per frame is not straight forward, but you can have a look at the bottom of the GI overview document in Kajiya's github