Hello - my first post here, so please be forgiving if I have missed some obvious link or explanation.
I'm trying to understand how BSEffectShaderProperty flags SLSF1_Greyscale_to_PaletteAlpha and SLSF1_Greyscale_to_PaletteColor work. I understand the general idea - Greyscale Texture is used as palette and it is being indexed on u,v based on some transformation of original pixels. What I'm trying to understand is how this works exactly.
From my tests so far, closest I was able to get is that for alpha, horizonal coordinate equals to Source texture alpha and vertical coordinate equals to falloff computed from falloff angles. It works almost ok (I use Dungeons\AzurasStar\AzuraEpicCrystal05.nif as my test object, with base mesh removed, so only two decal meshes with palettes are visible).
For PaletteColor I'm at loss. It looks a bit like greyscale average of source texture.rgb is used as vertical coordinate, but thats not fully accurate (could be issue of (r+g+b)/3 versus more accurate greyscale conversion) - and what with horizontal coordinate?
Does anybody know how exactly these things are used? In particular PaletteAlpha.