← All ideas
  • Published 31 Jul 2025

Texture Array Slice Indexing / DDS support

This idea proposes adding support for sampling the slices from a DDS texture array or in Blender’s Shader Nodes, using an attribute, value or input to drive that slice index. It enables clean, per-face or per-object texture variation using a single material—without tiled atlases, UV hacks, or mipmap bleed artifacts.

Blender currently supports texture atlases, *.dds and UDIM, adding support for texture Arrays, would be be a huge help to artists working with decals, terrain tiles, and efficient real-time rendering workflows.

texture_array.jpg

Why it's a good idea:

Current atlas-based setups require re-authoring textures for even small changes, which is time-consuming and hard to maintain. Adding more tiles increases texture size, introduces mipmap artifacts, and often requires padding to avoid bleed—wasting space. A texture array offers a cleaner, more scalable solution with predictable performance and simpler maintenance.

I envision this feature listed in the texture node options: array_slices_b.jpg There would be two ways to access the array slices once the image source "Array" has been selected. Either through a pre saved *.dds file with texture array slices or a folder/series of textures with a naming structure similar to UDIM. The array layers could be seen, generated and edited in the texture editor, also similar to UDIM. Slice_editor.jpg

This feature would position Blender as a more capable real-time rendering tool for storyboarding, presentation, and interactive experiences. It also improves compatibility with real-time asset pipelines like Unity and Unreal, and opens the door to GPU instancing and batching workflows.

Texture array slices, as supported in .dds files, are widely used in real-time engines. Blender already imports .dds; this would extend that support to include array-based sampling, making better use of an existing format.

This provides a clean, scalable alternative to texture atlases:

  1. No UV hacks or padding

  2. Eliminates mipmap bleed

  3. Supports per-object variation in a single material

  4. More efficient memory use and rendering

It’s cross-platform, GPU-standard, and opt-in, with minimal disruption to existing systems.

I would be eager to develop a working proof of concept, with full documentation and a test build.

100%

Development Status: Open

Upvote 21 Downvote 0

Duplicates

tommurphy
31 Jul 2025

0 Comments