New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add trivial implementation of 3d biomes and 3d blur (off by default) #1225
Add trivial implementation of 3d biomes and 3d blur (off by default) #1225
Conversation
chunky/src/java/se/llbit/math/structures/Position2ReferenceStructure.java
Show resolved
Hide resolved
Still need to do #1225 (comment). Do you want me to add it to the json serialisation for the scene? It shouldn't affect anything but the |
Currently the only problem with this PR I see is that the biome palette indices are loaded into a structure which isn't yet implementable by anything else. Ideally we'd just have the structures be generic and it'd just work but java generics can't handle primitives :( |
biomeStructureImplementation.getItems().addAll(biomeStructureNames); | ||
biomeStructureImplementation.getSelectionModel().selectedItemProperty() | ||
.addListener((observable, oldvalue, newvalue) -> { | ||
scene.setBiomeStructureImplementation(newvalue); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A prompt (as for the emitter grid implementation) would be nice in a follow-up PR 👍
In the future it would be great to add a better implementation for performance - this is good enough for now
BiomeStructure now completely replaces WorldTexture, which are now loaded as BiomeStructures if the octree format is outdated Add biomeBlending toggle Add reload chunks confirmation on relevant changes to biome settings (with minor jank due to no snapshotting) Refactoring of the BiomeStructure implementations
…ementations are stored for futures reference
Return a default implementation instead of null for an invalid BiomeStructure registry key similar to how the octree factory works
…dices implementation It defaults to the previous implementation
01941b8
to
cf6a04a
Compare
* Add trivial implementation of 3d biomes and 3d blur (off by default) In the future it would be great to add a better implementation for performance - this is good enough for now * Rename using3dBiomes->use3dBiomes * Fixes and refactoring to trivial implementation datastructures * Complete implementing BiomeStructure BiomeStructure now completely replaces WorldTexture, which are now loaded as BiomeStructures if the octree format is outdated Add biomeBlending toggle Add reload chunks confirmation on relevant changes to biome settings (with minor jank due to no snapshotting) Refactoring of the BiomeStructure implementations * Add additional javadoc describing how the trivial BiomeStructure implementations are stored for futures reference * Remove incorrectly boxed int due to changed implementation * Add better error handling for BiomeStructure registry usage and loading itself * Add selection option for BiomeStructure in the UI Return a default implementation instead of null for an invalid BiomeStructure registry key similar to how the octree factory works * Implement better hashing for xyz positions * Add BiomeStructure.Factory.createIndexStructure, for biome palette indices implementation It defaults to the previous implementation * Simplify initial checkbox disable logic
In the future it would be great to add a better implementation for performance