Skip to content

[Tracker] Feature branches #640

@Zylann

Description

@Zylann

New features and changes often get worked on in separate branches.
These branches should be working in their current state but might be incomplete, more buggy than usual, and can get breaking changes. You are welcome to test them or propose some changes if you need what they implement. Documentation about them should be either present on linked issues, or directly in the doc changes of each branch.
They will be merged to the main branch once they are considered stable enough or don't need more breaking changes.

WIP

  • dmc2: attempt at re-implementing dual marching cubes, based on the implementation from the FastNoise2 preview tool. It still doesn't implement adaptativity or sharp features, however it has the advantage of producing nicer geometry and uses a simpler approach to hide LOD seams (no special shader required). However voxel materials are not well figured out at the moment, instancing needs adjustments, and detail rendering doesn't work with it.
  • inherit_godot_noise: makes noise classes provided by the module inherit Noise, so they can be used in more places (depends on Make Noise virtual so custom noises can be created godotengine/godot#100443)
  • mesher_script: WIP, allows to create custom meshers using scripts (or GDExtensions)
  • graph_raycast_down: WIP, adds a function to VoxelGeneratorGraph to calculate the height of the highest surface from an SDF generator at specific coordinates
  • connected_textures: WIP, introduces the concept of "tiles" to blocky voxel cubes, where sides can connect to neighbor voxels if they share the same tile, or randomize across multiple variants, or extend larger patterns. (related to Autotiling and tile randomizing for voxels. #721)
  • counting: WIP, introduces voxel counting functions, for example to find how many voxels contain matter in a VoxelBuffer, or count certain IDs.
  • voxel_size: adds a new property to change the size of voxels without changing node scale. Untested WIP.
  • procedural_cubemap: adds a new cubemap class with functions to work with its data on the CPU. It can be procedurally generated with a graph, and then used in a voxel generation graph. Could be used to precalculate planet biome/elevation maps. Almost independent from voxel features, but separating it is quite annoying at the moment.
  • instancer_scene_pooling: adds an option to pool scene instances created when using VoxelInstancerLibrarySceneItem
  • mesher_preprocessing: adds an option to convert voxel data just before passing it to the mesher, mainly for visual purposes. For example, it allows converting smooth voxels into model IDs so that the visuals can look like blocky voxels, even though the rest of the system keeps using smooth voxels. I wrote this for a very specific personal need that isn't for a game, so I'm unsure if this will be merged.
  • image_norm_coords: adds a setting to the Image graph node to sample it using normalized coordinates instead of pixels
  • floating_chunks: WIP, improvements to separate_floating_chunks, like making it available to VoxelTerrain, blocky voxels, and customizing what to do with separated voxels.

Inactive

These feature branches are no longer in active development. They might be refactored in the future, or discontinued.

Other

A lot of other branches exist, but they are not pending features. Some are version branches. Most others are old merged branches that happen to still exist so they are listed by Github. Maybe some archiving process should be decided to sort them out (I don't want to delete them)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions