Material View

Overview

Physically based (PBR) materials using channel-packed textures compressed via Block Compression (BCn).

BCn is an industry standard compression format commonly used by major game engines, and a now it's my side quest for the weekend. Using this we can squeeze more texture per Megabyte.

Texture format example

Each terrain material will have 3 textures/maps.

Special properties such as Metalicity or Emission can be excluded, as they are rare for terrain textures. For making cool special materials such as ore veins or lava, custom shaders should be sufficient.

Texture TypeChannelsCompression Format
AlbedoRGBBC1
NormalRGBC5
Ambient Occlusion, Roughness, HeightRGBBC1

Another choice would be to add another map in place of Height, and have Height be its own texture in BC4

Texture costs, .ktx2 compared to .png

I use the BCn file format .ktx2 which is available on more platforms than it's popular native alternative .dds.

Rocky Ground example (4K textures)

TexturePNGKTX2SavingsReduction
Albedo8.53 MB2.19 MB6.34 MB74%
Normal22.4 MB5.31 MB17.09 MB76%
AO + Roughness + Height11.4 MB1.79 MB9.61 MB84%
Total42.33 MB9.29 MB33.04 MB78%

The combined AO, Roughness, and Height textures (2.6 + 2.4 + 6.4 MB as separate PNGs) are channel-packed into a single aorh.ktx2 file.

Tools

I used Nvidia's Texture Tools Exporter to create the .ktx2 files.

Sources

Downloaded from ambientcg with CCO license