Sprawling Voxel World using Vulkan/Rasterization/Octree

Поделиться
HTML-код
  • Опубликовано: 7 фев 2025
  • This rough demo showcases an octree that renders massive numbers of voxels using rasterization. It's buggy and a work in progress, but it demonstrates how level of detail can significantly improve the scale of a voxel world, especially when the level of detail range is smaller than a pixel.
    Current Features:
    Vulkan renderer
    Quads are packed into 5 bytes total for the entire quad using manual vertex pulling in the vertex shader (not padded to 8 bytes).
    Binary greedy meshing (source: github.com/cge...)
    Culling compute shader generates one indirect draw call for each of the visible faces of the chunk if visible at the chunk level (early backface culling per chunk)
    Octree determines whether to split nodes further or halt and generate mesh. - Terrain generation is scaled by LOD
    TODOs:
    Occlusion culling, re-enable frustum culling (accidentally disabled for demo)
    Terrain modification: instanced structures and SDF edits
    Better terrain generation and procedural structures
    Palette compression for more than 256 colors and/or textures
    Bugs (as visible in the video)
    PC Specs: 4070 desktop GPU, AMD 7800x3d CPU.
    Source code: github.com/ton...

Комментарии • 2

  • @MiriadCalibrumAstar
    @MiriadCalibrumAstar 15 дней назад

    is your fps locked at 144?

    • @tonadr1022
      @tonadr1022  15 дней назад

      @@MiriadCalibrumAstar Yep, should’ve turned off vsync, next time…