See the tradeoffs
Inspect sample materials, change sampling modes, and load your own .ntc files in the viewer.
Open the demo →NEURAL TEXTURE COMPRESSION / THREE.JS
One compact model for an entire PBR texture set. Decode it on the GPU and use it as a standard three.js node material.
npm install three three-ntc
FROM TEXTURES TO NEURAL MATERIALS
Inspect sample materials, change sampling modes, and load your own .ntc files in the viewer.
Open the demo →Bake a MaterialX material, fit its latent grids and decoder, then export a portable .ntc asset.
Launch the trainer →Learn how learned feature grids, a small MLP and GPU decoding reconstruct a PBR texture set.
Read the explainer →The runtime loads the model and connects the decoded channels to a node material. The trainer is a separate package, so it stays out of your production app.
Runtime integration →import { NTCLoader, NTCNodeMaterial } from 'three-ntc';
const { cpuModel, channelClassification } =
await new NTCLoader().loadAsync('material.ntc');
mesh.material = new NTCNodeMaterial(
cpuModel,
channelClassification,
);