Tiled Texture Masking
tracked
Jabadahut50 Resident
Potentially a bit of a pie in the sky request here but... Tiled Texture Masking is a main stay of modern game rendering techniques that allow the use of lower resolution, smaller data, tillable textures in a manner that visually looks less repetitive, creating a higher quality end result from less intensive texturing.
Second Life could GREATLY benefit from such a feature.
It could be a drop-down option in the pbr materials menu to enable a procedural texture and allow the creator to put in 3 different materials and a map texture that uses the red green and blue channels to define masks for where each of the materials can show up on the face, using whichever channel value is the highest for that pixel with Red>Green>Blue as a priority fall back for any values that are equal. The alpha channel of the map would be ignored.
Each material would still share the same offsets, repeats, animation settings, etc.
To avoid too much strain that would potentially be caused by too many high-res textures. The materials for this feature should be limited to 512x512 at maximum for any texture that is a part of the material. A full suite of 3 materials that use all 4 textures at 512x512 with alpha layers and the map texture including an alpha layer would still take up less memory than a single material that used 1024x1024 textures with alpha channels for each texture in the material at 13mb vs 16mb. Take out the two unneeded alpha channels and remove the emissive mask and the numbers fall to 3.25mb (less than a single 1024x1024 w/ alpha channel) vs 10mb.
Here's a youtube video of the concept by well known blender artist the Blender Guru on the concept. I have set the link to skip straight to the part of his explanation on how the technique works.
Log In
SL Feedback
Merged in a post from Jasdac Stockholm:
Title: Splat Map Support
Details: When doing large meshes where you want to combine multiple tiling textures, it would be nice if SL supported splat mapping. (https://en.wikipedia.org/wiki/Texture_splatting)
Basically a splat map is an RGBA map where each channel represents the visibility of a material on a face, allowing you to "draw" with tiling textures (see image).
This would help greatly when making things like land meshes, roads, rocks, ruins, or any large scale builds where baking textures would lead to excessive texture usage, highly stretched out textures, or seams caused by using material faces to swap between tiling textures.
Proposition:
- Add a splat map slot to the build tool texture tab. When a texture is assigned to the slot, a dropdown is shown which lets you select which material you're working on in the usual material editor.
- The splat map uses RGBA values and each channel represents one slot. Which means a face can have max 4 materials applied.
Benefits:
- Lets you re-use the same tiling materials across a vast amount of meshes, reducing texture memory usage.
- Fixes issues with seams on many meshes (especially land meshes such as cliffs, caves and rocks).
Maestro Linden
tracked
Vincent Nacon
As much I'd like this, I got a feeling this may end up being part of the custom-node shader plan. It has been talked about along with a few lindens in the past.
Jabadahut50 Resident
Vincent Nacon: I'd take it in that form too. It's a really useful technique to lower VRAM usage and still get highly detailed looking scenes.