HoloprojStreaming/Assets/lilToon/Shader/Includes/lil_vert_encryption.hlsl

27 lines
1.2 KiB
HLSL

//------------------------------------------------------------------------------------------------------------------------------
// GTAvaCrypt (https://github.com/rygo6/GTAvaCrypt/blob/master/LICENSE)
#if defined(LIL_MODIFY_PREVPOS)
#define LIL_MODIFY_TARGET input.previousPositionOS
#else
#define LIL_MODIFY_TARGET input.positionOS
#endif
#if !defined(LIL_LITE) && !defined(LIL_BAKER) && defined(LIL_FEATURE_ENCRYPTION)
if(!_IgnoreEncryption)
{
float4 keys = floor(_Keys + 0.5);
keys = keys.x == 0 ? float4(0,0,0,0) : floor(keys / 3) * 3 + 1;
keys.x *= 1;
keys.y *= 2;
keys.z *= 3;
keys.w *= 4;
LIL_MODIFY_TARGET.xyz -= input.normalOS * input.uv6.x * (sin((keys.z - keys.y) * 2) * cos(keys.w - keys.x));
LIL_MODIFY_TARGET.xyz -= input.normalOS * input.uv6.y * (sin((keys.w - keys.x) * 3) * cos(keys.z - keys.y));
LIL_MODIFY_TARGET.xyz -= input.normalOS * input.uv7.x * (sin((keys.x - keys.w) * 4) * cos(keys.y - keys.z));
LIL_MODIFY_TARGET.xyz -= input.normalOS * input.uv7.y * (sin((keys.y - keys.z) * 5) * cos(keys.x - keys.w));
}
#endif
#undef LIL_MODIFY_TARGET