// if the blueprint I sent breaks, which it's prone to do when sent via text, here is the code of the two custom nodes. // -- HLSL Dither -- struct Functions { int4x4 DitherTable; }; Functions func; func.DitherTable = int4x4( -4, 0, -3, 1, 2, -2, 3, -1, -3, 1, -4, 0, 3, -1, 2, -2 ); int dither; dither = func.DitherTable[uv.x % 4][uv.y % 4]; col += dither; return col; // -- HLSL Truncate -- // Thanks to ompuco for this snippet of code for colour truncation. col = lerp((uint3(col) & 0xf8), 0xf8, step(0xf8,col)); col/=255; return col;