Skip to content
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 NoiseTexture support to Terrain Materials #486

Open
mrjustaguy opened this issue Sep 11, 2024 · 1 comment
Open

Add NoiseTexture support to Terrain Materials #486

mrjustaguy opened this issue Sep 11, 2024 · 1 comment
Labels
enhancement New feature or request low priority Low Priority
Milestone

Comments

@mrjustaguy
Copy link

Description

Currently Albedo and Normal Textures for terrain Materials only allow Image and Compressed Image textures.

This makes sense for Quick Art Prototyping from Within Godot, whilst also keeping file sizes to a minimum for prototypes (a few kb per texture vs dozens of mb per texture) albeit at the expense of longer loading times and higher VRAM consumption (as it has to generate the textures and they aren't compressed)

@TokisanGames
Copy link
Owner

It's a cool idea. I played with it today, but it's not practical at the moment.

  1. I can make a separate noise texture resource and bring it in. However, upon restarting the texture is invalid. In the editor you must double click the texture resource to start generating, then reassign the textures to the slots again. The textures are generated in a thread, and in gdscript you must request the load, then await until it is done. We don't have that option in C++. It would take quite a bit of restructuring to allow textures to lazy load noise textures at startup.

  2. I don't have an option to detect when the noise texture changed. It doesn't emit texture_changed when you change noise settings. So to get updates, you have to change the noise texture, then assign it to the texture slot again.

So I'll say this won't be implemented unless NoiseTexture no longer lazyloads, which will be never; or we redesign our system to facilitate dynamic textures. Perhaps when we build terrain generation with GPU based noise algorithms, we could build in noise generated textures.

@TokisanGames TokisanGames added the enhancement New feature or request label Sep 11, 2024
@TokisanGames TokisanGames added this to the Future milestone Sep 11, 2024
@TokisanGames TokisanGames moved this to Future Ideas in Terrain3D Roadmap Sep 11, 2024
@TokisanGames TokisanGames added the low priority Low Priority label Sep 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request low priority Low Priority
Projects
Status: Future Ideas
Development

No branches or pull requests

2 participants