// Copyright (c) 2023 Lachlan McDonald // This work is licensed under the MIT License (MIT) // https://github.com/lachlanmcdonald/magicavoxel-shaders // // xs outline [Color] // // xs_begin // author : '@lmcdx.bsky.social' // arg : { name = 'Color' var = 'm_color' range = '0 255' value = '1' step = '1' precision = '0' } // xs_end bool isSelectedPal(float p) { for (int i = 0; i < i_num_color_sels; i += 1) { if (p == color_sel(float(i))) { return true; } } return false; } float map(vec3 v) { float index = voxel(v); if (isSelectedPal(index)) { for (float x = -1.0; x <= 1.0; x += 1.0) { for (float y = -1.0; y <= 1.0; y += 1.0) { for (float z = -1.0; z <= 1.0; z += 1.0) { vec3 p = v + vec3(x, y, z); if (p != v) { float n = voxel(p); if (isSelectedPal(n) == false && n != 0.0) { return m_color; } } } } } } return index; }