From eb84bb298d2b95aec7b2ae12cbf25ac64f25379a Mon Sep 17 00:00:00 2001 From: tylermurphy534 Date: Sun, 6 Nov 2022 15:12:42 -0500 Subject: move to self host --- .../Materials/OptimizedShaders/Atlas-bf040773.meta | 8 + .../OptimizedShaders/Atlas-bf040773/Assets.meta | 8 + .../Atlas-bf040773/Assets/Resources.meta | 8 + .../Atlas-bf040773/Assets/Resources/Poyomi.meta | 8 + .../Assets/Resources/Poyomi/Shaders.meta | 8 + .../Assets/Resources/Poyomi/Shaders/Toon.meta | 8 + .../Resources/Poyomi/Shaders/Toon/Includes.meta | 8 + .../Toon/Includes/CGI_PoiAlphaToCoverage.cginc | 32 + .../Includes/CGI_PoiAlphaToCoverage.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBackFace.cginc | 32 + .../Toon/Includes/CGI_PoiBackFace.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlackLight.cginc | 54 + .../Toon/Includes/CGI_PoiBlackLight.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlending.cginc | 39 + .../Toon/Includes/CGI_PoiBlending.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiClearCoat.cginc | 108 + .../Toon/Includes/CGI_PoiClearCoat.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc | 262 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc | 249 + .../Shaders/Toon/Includes/CGI_PoiData.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc | 107 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc | 58 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDefines.cginc | 21 + .../Toon/Includes/CGI_PoiDefines.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDepthColor.cginc | 112 + .../Toon/Includes/CGI_PoiDepthColor.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDissolve.cginc | 171 + .../Toon/Includes/CGI_PoiDissolve.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDithering.cginc | 34 + .../Toon/Includes/CGI_PoiDithering.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiEmission.cginc | 240 + .../Toon/Includes/CGI_PoiEmission.cginc.meta | 9 + .../Includes/CGI_PoiEnvironmentalRimLighting.cginc | 43 + .../CGI_PoiEnvironmentalRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiFlipbook.cginc | 153 + .../Toon/Includes/CGI_PoiFlipbook.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc | 376 + .../Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGeomFur.cginc | 37 + .../Toon/Includes/CGI_PoiGeomFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGlitter.cginc | 232 + .../Toon/Includes/CGI_PoiGlitter.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc | 127 + .../Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHelpers.cginc | 338 + .../Toon/Includes/CGI_PoiHelpers.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHologram.cginc | 36 + .../Toon/Includes/CGI_PoiHologram.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiIridescence.cginc | 61 + .../Toon/Includes/CGI_PoiIridescence.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiLighting.cginc | 668 ++ .../Toon/Includes/CGI_PoiLighting.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc | 243 + .../Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc | 33 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMainTex.cginc | 147 + .../Toon/Includes/CGI_PoiMainTex.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc | 115 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc | 104 + .../Shaders/Toon/Includes/CGI_PoiMath.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc | 130 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc | 77 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc | 107 + .../Toon/Includes/CGI_PoiOutlineFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc | 105 + .../Toon/Includes/CGI_PoiOutlineVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPanosphere.cginc | 63 + .../Toon/Includes/CGI_PoiPanosphere.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiParallax.cginc | 143 + .../Toon/Includes/CGI_PoiParallax.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc | 233 + .../Shaders/Toon/Includes/CGI_PoiPass.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassOutline.cginc | 26 + .../Toon/Includes/CGI_PoiPassOutline.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassShadow.cginc | 44 + .../Toon/Includes/CGI_PoiPassShadow.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRGBMask.cginc | 131 + .../Toon/Includes/CGI_PoiRGBMask.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc | 4 + .../Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRimLighting.cginc | 47 + .../Toon/Includes/CGI_PoiRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc | 116 + .../Toon/Includes/CGI_PoiShadowFrag.cginc.meta | 9 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc | 41 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowVert.cginc | 80 + .../Toon/Includes/CGI_PoiShadowVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc | 58 + .../Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc | 40 + .../Toon/Includes/CGI_PoiSpawnInVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpecular.cginc | 488 ++ .../Toon/Includes/CGI_PoiSpecular.cginc.meta | 9 + .../Includes/CGI_PoiSubsurfaceScattering.cginc | 28 + .../CGI_PoiSubsurfaceScattering.cginc.meta | 9 + .../Toon/Includes/CGI_PoiTessellation.cginc | 117 + .../Toon/Includes/CGI_PoiTessellation.cginc.meta | 9 + .../Toon/Includes/CGI_PoiUVDistortion.cginc | 34 + .../Toon/Includes/CGI_PoiUVDistortion.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc | 126 + .../Shaders/Toon/Includes/CGI_PoiVert.cginc.meta | 9 + .../Toon/Includes/CGI_PoiVertexManipulations.cginc | 93 + .../Includes/CGI_PoiVertexManipulations.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc | 266 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVoronoi.cginc | 304 + .../Toon/Includes/CGI_PoiVoronoi.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiWireframe.cginc | 111 + .../Toon/Includes/CGI_PoiWireframe.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc | 171 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc.meta | 9 + .../Resources/Poyomi/Shaders/Toon/Shaders.meta | 8 + .../Shaders/Toon/Shaders/S_Poiyomi_Toon.shader | 7648 ++++++++++++++++++++ .../Toon/Shaders/S_Poiyomi_Toon.shader.meta | 9 + .../PC_B_EQ_Default_Face_02-14a945a8.meta | 8 + .../PC_B_EQ_Default_Face_02-14a945a8/Assets.meta | 8 + .../Assets/Resources.meta | 8 + .../Assets/Resources/Poyomi.meta | 8 + .../Assets/Resources/Poyomi/Shaders.meta | 8 + .../Assets/Resources/Poyomi/Shaders/Toon.meta | 8 + .../Resources/Poyomi/Shaders/Toon/Includes.meta | 8 + .../Toon/Includes/CGI_PoiAlphaToCoverage.cginc | 32 + .../Includes/CGI_PoiAlphaToCoverage.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBackFace.cginc | 32 + .../Toon/Includes/CGI_PoiBackFace.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlackLight.cginc | 54 + .../Toon/Includes/CGI_PoiBlackLight.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlending.cginc | 39 + .../Toon/Includes/CGI_PoiBlending.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiClearCoat.cginc | 108 + .../Toon/Includes/CGI_PoiClearCoat.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc | 262 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc | 249 + .../Shaders/Toon/Includes/CGI_PoiData.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc | 107 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc | 58 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDefines.cginc | 21 + .../Toon/Includes/CGI_PoiDefines.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDepthColor.cginc | 112 + .../Toon/Includes/CGI_PoiDepthColor.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDissolve.cginc | 171 + .../Toon/Includes/CGI_PoiDissolve.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDithering.cginc | 34 + .../Toon/Includes/CGI_PoiDithering.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiEmission.cginc | 240 + .../Toon/Includes/CGI_PoiEmission.cginc.meta | 9 + .../Includes/CGI_PoiEnvironmentalRimLighting.cginc | 43 + .../CGI_PoiEnvironmentalRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiFlipbook.cginc | 153 + .../Toon/Includes/CGI_PoiFlipbook.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc | 376 + .../Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGeomFur.cginc | 37 + .../Toon/Includes/CGI_PoiGeomFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGlitter.cginc | 232 + .../Toon/Includes/CGI_PoiGlitter.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc | 127 + .../Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHelpers.cginc | 338 + .../Toon/Includes/CGI_PoiHelpers.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHologram.cginc | 36 + .../Toon/Includes/CGI_PoiHologram.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiIridescence.cginc | 61 + .../Toon/Includes/CGI_PoiIridescence.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiLighting.cginc | 668 ++ .../Toon/Includes/CGI_PoiLighting.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc | 243 + .../Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc | 33 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMainTex.cginc | 147 + .../Toon/Includes/CGI_PoiMainTex.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc | 115 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc | 104 + .../Shaders/Toon/Includes/CGI_PoiMath.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc | 130 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc | 77 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc | 107 + .../Toon/Includes/CGI_PoiOutlineFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc | 105 + .../Toon/Includes/CGI_PoiOutlineVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPanosphere.cginc | 63 + .../Toon/Includes/CGI_PoiPanosphere.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiParallax.cginc | 143 + .../Toon/Includes/CGI_PoiParallax.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc | 233 + .../Shaders/Toon/Includes/CGI_PoiPass.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassOutline.cginc | 26 + .../Toon/Includes/CGI_PoiPassOutline.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassShadow.cginc | 44 + .../Toon/Includes/CGI_PoiPassShadow.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRGBMask.cginc | 131 + .../Toon/Includes/CGI_PoiRGBMask.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc | 4 + .../Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRimLighting.cginc | 47 + .../Toon/Includes/CGI_PoiRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc | 116 + .../Toon/Includes/CGI_PoiShadowFrag.cginc.meta | 9 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc | 41 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowVert.cginc | 80 + .../Toon/Includes/CGI_PoiShadowVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc | 58 + .../Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc | 40 + .../Toon/Includes/CGI_PoiSpawnInVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpecular.cginc | 488 ++ .../Toon/Includes/CGI_PoiSpecular.cginc.meta | 9 + .../Includes/CGI_PoiSubsurfaceScattering.cginc | 28 + .../CGI_PoiSubsurfaceScattering.cginc.meta | 9 + .../Toon/Includes/CGI_PoiTessellation.cginc | 117 + .../Toon/Includes/CGI_PoiTessellation.cginc.meta | 9 + .../Toon/Includes/CGI_PoiUVDistortion.cginc | 34 + .../Toon/Includes/CGI_PoiUVDistortion.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc | 126 + .../Shaders/Toon/Includes/CGI_PoiVert.cginc.meta | 9 + .../Toon/Includes/CGI_PoiVertexManipulations.cginc | 93 + .../Includes/CGI_PoiVertexManipulations.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc | 266 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVoronoi.cginc | 304 + .../Toon/Includes/CGI_PoiVoronoi.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiWireframe.cginc | 111 + .../Toon/Includes/CGI_PoiWireframe.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc | 171 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc.meta | 9 + .../Resources/Poyomi/Shaders/Toon/Shaders.meta | 8 + .../Shaders/Toon/Shaders/S_Poiyomi_Toon.shader | 7648 ++++++++++++++++++++ .../Toon/Shaders/S_Poiyomi_Toon.shader.meta | 9 + ...C_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0.meta | 8 + .../Assets.meta | 8 + .../Assets/Resources.meta | 8 + .../Assets/Resources/Poyomi.meta | 8 + .../Assets/Resources/Poyomi/Shaders.meta | 8 + .../Assets/Resources/Poyomi/Shaders/Toon.meta | 8 + .../Resources/Poyomi/Shaders/Toon/Includes.meta | 8 + .../Toon/Includes/CGI_PoiAlphaToCoverage.cginc | 32 + .../Includes/CGI_PoiAlphaToCoverage.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBackFace.cginc | 32 + .../Toon/Includes/CGI_PoiBackFace.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlackLight.cginc | 54 + .../Toon/Includes/CGI_PoiBlackLight.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlending.cginc | 39 + .../Toon/Includes/CGI_PoiBlending.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiClearCoat.cginc | 108 + .../Toon/Includes/CGI_PoiClearCoat.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc | 262 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc | 249 + .../Shaders/Toon/Includes/CGI_PoiData.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc | 107 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc | 58 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDefines.cginc | 21 + .../Toon/Includes/CGI_PoiDefines.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDepthColor.cginc | 112 + .../Toon/Includes/CGI_PoiDepthColor.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDissolve.cginc | 171 + .../Toon/Includes/CGI_PoiDissolve.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDithering.cginc | 34 + .../Toon/Includes/CGI_PoiDithering.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiEmission.cginc | 240 + .../Toon/Includes/CGI_PoiEmission.cginc.meta | 9 + .../Includes/CGI_PoiEnvironmentalRimLighting.cginc | 43 + .../CGI_PoiEnvironmentalRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiFlipbook.cginc | 153 + .../Toon/Includes/CGI_PoiFlipbook.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc | 376 + .../Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGeomFur.cginc | 37 + .../Toon/Includes/CGI_PoiGeomFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGlitter.cginc | 232 + .../Toon/Includes/CGI_PoiGlitter.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc | 127 + .../Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHelpers.cginc | 338 + .../Toon/Includes/CGI_PoiHelpers.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHologram.cginc | 36 + .../Toon/Includes/CGI_PoiHologram.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiIridescence.cginc | 61 + .../Toon/Includes/CGI_PoiIridescence.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiLighting.cginc | 668 ++ .../Toon/Includes/CGI_PoiLighting.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc | 243 + .../Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc | 33 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMainTex.cginc | 147 + .../Toon/Includes/CGI_PoiMainTex.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc | 115 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc | 104 + .../Shaders/Toon/Includes/CGI_PoiMath.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc | 130 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc | 77 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc | 107 + .../Toon/Includes/CGI_PoiOutlineFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc | 105 + .../Toon/Includes/CGI_PoiOutlineVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPanosphere.cginc | 63 + .../Toon/Includes/CGI_PoiPanosphere.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiParallax.cginc | 143 + .../Toon/Includes/CGI_PoiParallax.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc | 233 + .../Shaders/Toon/Includes/CGI_PoiPass.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassOutline.cginc | 26 + .../Toon/Includes/CGI_PoiPassOutline.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassShadow.cginc | 44 + .../Toon/Includes/CGI_PoiPassShadow.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRGBMask.cginc | 131 + .../Toon/Includes/CGI_PoiRGBMask.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc | 4 + .../Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRimLighting.cginc | 47 + .../Toon/Includes/CGI_PoiRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc | 116 + .../Toon/Includes/CGI_PoiShadowFrag.cginc.meta | 9 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc | 41 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowVert.cginc | 80 + .../Toon/Includes/CGI_PoiShadowVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc | 58 + .../Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc | 40 + .../Toon/Includes/CGI_PoiSpawnInVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpecular.cginc | 488 ++ .../Toon/Includes/CGI_PoiSpecular.cginc.meta | 9 + .../Includes/CGI_PoiSubsurfaceScattering.cginc | 28 + .../CGI_PoiSubsurfaceScattering.cginc.meta | 9 + .../Toon/Includes/CGI_PoiTessellation.cginc | 117 + .../Toon/Includes/CGI_PoiTessellation.cginc.meta | 9 + .../Toon/Includes/CGI_PoiUVDistortion.cginc | 34 + .../Toon/Includes/CGI_PoiUVDistortion.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc | 126 + .../Shaders/Toon/Includes/CGI_PoiVert.cginc.meta | 9 + .../Toon/Includes/CGI_PoiVertexManipulations.cginc | 93 + .../Includes/CGI_PoiVertexManipulations.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc | 266 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVoronoi.cginc | 304 + .../Toon/Includes/CGI_PoiVoronoi.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiWireframe.cginc | 111 + .../Toon/Includes/CGI_PoiWireframe.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc | 171 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc.meta | 9 + .../Resources/Poyomi/Shaders/Toon/Shaders.meta | 8 + .../Shaders/Toon/Shaders/S_Poiyomi_Toon.shader | 7648 ++++++++++++++++++++ .../Toon/Shaders/S_Poiyomi_Toon.shader.meta | 9 + ...C_B_EQ_MilkCowOutfit_Costume02_08-930551b9.meta | 8 + .../Assets.meta | 8 + .../Assets/Resources.meta | 8 + .../Assets/Resources/Poyomi.meta | 8 + .../Assets/Resources/Poyomi/Shaders.meta | 8 + .../Assets/Resources/Poyomi/Shaders/Toon.meta | 8 + .../Resources/Poyomi/Shaders/Toon/Includes.meta | 8 + .../Toon/Includes/CGI_PoiAlphaToCoverage.cginc | 32 + .../Includes/CGI_PoiAlphaToCoverage.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBackFace.cginc | 32 + .../Toon/Includes/CGI_PoiBackFace.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlackLight.cginc | 54 + .../Toon/Includes/CGI_PoiBlackLight.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlending.cginc | 39 + .../Toon/Includes/CGI_PoiBlending.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiClearCoat.cginc | 108 + .../Toon/Includes/CGI_PoiClearCoat.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc | 262 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc | 249 + .../Shaders/Toon/Includes/CGI_PoiData.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc | 107 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc | 58 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDefines.cginc | 21 + .../Toon/Includes/CGI_PoiDefines.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDepthColor.cginc | 112 + .../Toon/Includes/CGI_PoiDepthColor.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDissolve.cginc | 171 + .../Toon/Includes/CGI_PoiDissolve.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDithering.cginc | 34 + .../Toon/Includes/CGI_PoiDithering.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiEmission.cginc | 240 + .../Toon/Includes/CGI_PoiEmission.cginc.meta | 9 + .../Includes/CGI_PoiEnvironmentalRimLighting.cginc | 43 + .../CGI_PoiEnvironmentalRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiFlipbook.cginc | 153 + .../Toon/Includes/CGI_PoiFlipbook.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc | 376 + .../Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGeomFur.cginc | 37 + .../Toon/Includes/CGI_PoiGeomFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGlitter.cginc | 232 + .../Toon/Includes/CGI_PoiGlitter.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc | 127 + .../Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHelpers.cginc | 338 + .../Toon/Includes/CGI_PoiHelpers.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHologram.cginc | 36 + .../Toon/Includes/CGI_PoiHologram.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiIridescence.cginc | 61 + .../Toon/Includes/CGI_PoiIridescence.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiLighting.cginc | 668 ++ .../Toon/Includes/CGI_PoiLighting.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc | 243 + .../Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc | 33 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMainTex.cginc | 147 + .../Toon/Includes/CGI_PoiMainTex.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc | 115 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc | 104 + .../Shaders/Toon/Includes/CGI_PoiMath.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc | 130 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc | 77 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc | 107 + .../Toon/Includes/CGI_PoiOutlineFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc | 105 + .../Toon/Includes/CGI_PoiOutlineVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPanosphere.cginc | 63 + .../Toon/Includes/CGI_PoiPanosphere.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiParallax.cginc | 143 + .../Toon/Includes/CGI_PoiParallax.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc | 233 + .../Shaders/Toon/Includes/CGI_PoiPass.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassOutline.cginc | 26 + .../Toon/Includes/CGI_PoiPassOutline.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassShadow.cginc | 44 + .../Toon/Includes/CGI_PoiPassShadow.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRGBMask.cginc | 131 + .../Toon/Includes/CGI_PoiRGBMask.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc | 4 + .../Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRimLighting.cginc | 47 + .../Toon/Includes/CGI_PoiRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc | 116 + .../Toon/Includes/CGI_PoiShadowFrag.cginc.meta | 9 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc | 41 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowVert.cginc | 80 + .../Toon/Includes/CGI_PoiShadowVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc | 58 + .../Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc | 40 + .../Toon/Includes/CGI_PoiSpawnInVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpecular.cginc | 488 ++ .../Toon/Includes/CGI_PoiSpecular.cginc.meta | 9 + .../Includes/CGI_PoiSubsurfaceScattering.cginc | 28 + .../CGI_PoiSubsurfaceScattering.cginc.meta | 9 + .../Toon/Includes/CGI_PoiTessellation.cginc | 117 + .../Toon/Includes/CGI_PoiTessellation.cginc.meta | 9 + .../Toon/Includes/CGI_PoiUVDistortion.cginc | 34 + .../Toon/Includes/CGI_PoiUVDistortion.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc | 126 + .../Shaders/Toon/Includes/CGI_PoiVert.cginc.meta | 9 + .../Toon/Includes/CGI_PoiVertexManipulations.cginc | 93 + .../Includes/CGI_PoiVertexManipulations.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc | 266 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVoronoi.cginc | 304 + .../Toon/Includes/CGI_PoiVoronoi.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiWireframe.cginc | 111 + .../Toon/Includes/CGI_PoiWireframe.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc | 171 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc.meta | 9 + .../Resources/Poyomi/Shaders/Toon/Shaders.meta | 8 + .../Shaders/Toon/Shaders/S_Poiyomi_Toon.shader | 7648 ++++++++++++++++++++ .../Toon/Shaders/S_Poiyomi_Toon.shader.meta | 9 + ...EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269.meta | 8 + .../Assets.meta | 8 + .../Assets/Resources.meta | 8 + .../Assets/Resources/Poyomi.meta | 8 + .../Assets/Resources/Poyomi/Shaders.meta | 8 + .../Assets/Resources/Poyomi/Shaders/Toon.meta | 8 + .../Resources/Poyomi/Shaders/Toon/Includes.meta | 8 + .../Toon/Includes/CGI_PoiAlphaToCoverage.cginc | 32 + .../Includes/CGI_PoiAlphaToCoverage.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBackFace.cginc | 32 + .../Toon/Includes/CGI_PoiBackFace.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlackLight.cginc | 54 + .../Toon/Includes/CGI_PoiBlackLight.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlending.cginc | 39 + .../Toon/Includes/CGI_PoiBlending.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiClearCoat.cginc | 108 + .../Toon/Includes/CGI_PoiClearCoat.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc | 262 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc | 249 + .../Shaders/Toon/Includes/CGI_PoiData.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc | 107 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc | 58 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDefines.cginc | 21 + .../Toon/Includes/CGI_PoiDefines.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDepthColor.cginc | 112 + .../Toon/Includes/CGI_PoiDepthColor.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDissolve.cginc | 171 + .../Toon/Includes/CGI_PoiDissolve.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDithering.cginc | 34 + .../Toon/Includes/CGI_PoiDithering.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiEmission.cginc | 240 + .../Toon/Includes/CGI_PoiEmission.cginc.meta | 9 + .../Includes/CGI_PoiEnvironmentalRimLighting.cginc | 43 + .../CGI_PoiEnvironmentalRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiFlipbook.cginc | 153 + .../Toon/Includes/CGI_PoiFlipbook.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc | 376 + .../Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGeomFur.cginc | 37 + .../Toon/Includes/CGI_PoiGeomFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGlitter.cginc | 232 + .../Toon/Includes/CGI_PoiGlitter.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc | 127 + .../Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHelpers.cginc | 338 + .../Toon/Includes/CGI_PoiHelpers.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHologram.cginc | 36 + .../Toon/Includes/CGI_PoiHologram.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiIridescence.cginc | 61 + .../Toon/Includes/CGI_PoiIridescence.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiLighting.cginc | 668 ++ .../Toon/Includes/CGI_PoiLighting.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc | 243 + .../Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc | 33 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMainTex.cginc | 147 + .../Toon/Includes/CGI_PoiMainTex.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc | 115 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc | 104 + .../Shaders/Toon/Includes/CGI_PoiMath.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc | 130 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc | 77 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc | 107 + .../Toon/Includes/CGI_PoiOutlineFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc | 105 + .../Toon/Includes/CGI_PoiOutlineVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPanosphere.cginc | 63 + .../Toon/Includes/CGI_PoiPanosphere.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiParallax.cginc | 143 + .../Toon/Includes/CGI_PoiParallax.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc | 233 + .../Shaders/Toon/Includes/CGI_PoiPass.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassOutline.cginc | 26 + .../Toon/Includes/CGI_PoiPassOutline.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassShadow.cginc | 44 + .../Toon/Includes/CGI_PoiPassShadow.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRGBMask.cginc | 131 + .../Toon/Includes/CGI_PoiRGBMask.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc | 4 + .../Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRimLighting.cginc | 47 + .../Toon/Includes/CGI_PoiRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc | 116 + .../Toon/Includes/CGI_PoiShadowFrag.cginc.meta | 9 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc | 41 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowVert.cginc | 80 + .../Toon/Includes/CGI_PoiShadowVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc | 58 + .../Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc | 40 + .../Toon/Includes/CGI_PoiSpawnInVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpecular.cginc | 488 ++ .../Toon/Includes/CGI_PoiSpecular.cginc.meta | 9 + .../Includes/CGI_PoiSubsurfaceScattering.cginc | 28 + .../CGI_PoiSubsurfaceScattering.cginc.meta | 9 + .../Toon/Includes/CGI_PoiTessellation.cginc | 117 + .../Toon/Includes/CGI_PoiTessellation.cginc.meta | 9 + .../Toon/Includes/CGI_PoiUVDistortion.cginc | 34 + .../Toon/Includes/CGI_PoiUVDistortion.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc | 126 + .../Shaders/Toon/Includes/CGI_PoiVert.cginc.meta | 9 + .../Toon/Includes/CGI_PoiVertexManipulations.cginc | 93 + .../Includes/CGI_PoiVertexManipulations.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc | 266 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVoronoi.cginc | 304 + .../Toon/Includes/CGI_PoiVoronoi.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiWireframe.cginc | 111 + .../Toon/Includes/CGI_PoiWireframe.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc | 171 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc.meta | 9 + .../Resources/Poyomi/Shaders/Toon/Shaders.meta | 8 + .../Shaders/Toon/Shaders/S_Poiyomi_Toon.shader | 7648 ++++++++++++++++++++ .../Toon/Shaders/S_Poiyomi_Toon.shader.meta | 9 + .../PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859.meta | 8 + .../Assets.meta | 8 + .../Assets/Resources.meta | 8 + .../Assets/Resources/Poyomi.meta | 8 + .../Assets/Resources/Poyomi/Shaders.meta | 8 + .../Assets/Resources/Poyomi/Shaders/Toon.meta | 8 + .../Resources/Poyomi/Shaders/Toon/Includes.meta | 8 + .../Toon/Includes/CGI_PoiAlphaToCoverage.cginc | 32 + .../Includes/CGI_PoiAlphaToCoverage.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBackFace.cginc | 32 + .../Toon/Includes/CGI_PoiBackFace.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlackLight.cginc | 54 + .../Toon/Includes/CGI_PoiBlackLight.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlending.cginc | 39 + .../Toon/Includes/CGI_PoiBlending.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiClearCoat.cginc | 108 + .../Toon/Includes/CGI_PoiClearCoat.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc | 262 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc | 249 + .../Shaders/Toon/Includes/CGI_PoiData.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc | 107 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc | 58 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDefines.cginc | 21 + .../Toon/Includes/CGI_PoiDefines.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDepthColor.cginc | 112 + .../Toon/Includes/CGI_PoiDepthColor.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDissolve.cginc | 171 + .../Toon/Includes/CGI_PoiDissolve.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDithering.cginc | 34 + .../Toon/Includes/CGI_PoiDithering.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiEmission.cginc | 240 + .../Toon/Includes/CGI_PoiEmission.cginc.meta | 9 + .../Includes/CGI_PoiEnvironmentalRimLighting.cginc | 43 + .../CGI_PoiEnvironmentalRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiFlipbook.cginc | 153 + .../Toon/Includes/CGI_PoiFlipbook.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc | 376 + .../Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGeomFur.cginc | 37 + .../Toon/Includes/CGI_PoiGeomFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGlitter.cginc | 232 + .../Toon/Includes/CGI_PoiGlitter.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc | 127 + .../Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHelpers.cginc | 338 + .../Toon/Includes/CGI_PoiHelpers.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHologram.cginc | 36 + .../Toon/Includes/CGI_PoiHologram.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiIridescence.cginc | 61 + .../Toon/Includes/CGI_PoiIridescence.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiLighting.cginc | 668 ++ .../Toon/Includes/CGI_PoiLighting.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc | 243 + .../Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc | 33 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMainTex.cginc | 147 + .../Toon/Includes/CGI_PoiMainTex.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc | 115 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc | 104 + .../Shaders/Toon/Includes/CGI_PoiMath.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc | 130 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc | 77 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc | 107 + .../Toon/Includes/CGI_PoiOutlineFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc | 105 + .../Toon/Includes/CGI_PoiOutlineVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPanosphere.cginc | 63 + .../Toon/Includes/CGI_PoiPanosphere.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiParallax.cginc | 143 + .../Toon/Includes/CGI_PoiParallax.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc | 233 + .../Shaders/Toon/Includes/CGI_PoiPass.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassOutline.cginc | 26 + .../Toon/Includes/CGI_PoiPassOutline.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassShadow.cginc | 44 + .../Toon/Includes/CGI_PoiPassShadow.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRGBMask.cginc | 131 + .../Toon/Includes/CGI_PoiRGBMask.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc | 4 + .../Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRimLighting.cginc | 47 + .../Toon/Includes/CGI_PoiRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc | 116 + .../Toon/Includes/CGI_PoiShadowFrag.cginc.meta | 9 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc | 41 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowVert.cginc | 80 + .../Toon/Includes/CGI_PoiShadowVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc | 58 + .../Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc | 40 + .../Toon/Includes/CGI_PoiSpawnInVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpecular.cginc | 488 ++ .../Toon/Includes/CGI_PoiSpecular.cginc.meta | 9 + .../Includes/CGI_PoiSubsurfaceScattering.cginc | 28 + .../CGI_PoiSubsurfaceScattering.cginc.meta | 9 + .../Toon/Includes/CGI_PoiTessellation.cginc | 117 + .../Toon/Includes/CGI_PoiTessellation.cginc.meta | 9 + .../Toon/Includes/CGI_PoiUVDistortion.cginc | 34 + .../Toon/Includes/CGI_PoiUVDistortion.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc | 126 + .../Shaders/Toon/Includes/CGI_PoiVert.cginc.meta | 9 + .../Toon/Includes/CGI_PoiVertexManipulations.cginc | 93 + .../Includes/CGI_PoiVertexManipulations.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc | 266 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVoronoi.cginc | 304 + .../Toon/Includes/CGI_PoiVoronoi.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiWireframe.cginc | 111 + .../Toon/Includes/CGI_PoiWireframe.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc | 171 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc.meta | 9 + .../Resources/Poyomi/Shaders/Toon/Shaders.meta | 8 + .../Shaders/Toon/Shaders/S_Poiyomi_Toon.shader | 7648 ++++++++++++++++++++ .../Toon/Shaders/S_Poiyomi_Toon.shader.meta | 9 + .../PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c.meta | 8 + .../Assets.meta | 8 + .../Assets/Resources.meta | 8 + .../Assets/Resources/Poyomi.meta | 8 + .../Assets/Resources/Poyomi/Shaders.meta | 8 + .../Assets/Resources/Poyomi/Shaders/Toon.meta | 8 + .../Resources/Poyomi/Shaders/Toon/Includes.meta | 8 + .../Toon/Includes/CGI_PoiAlphaToCoverage.cginc | 32 + .../Includes/CGI_PoiAlphaToCoverage.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBackFace.cginc | 32 + .../Toon/Includes/CGI_PoiBackFace.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlackLight.cginc | 54 + .../Toon/Includes/CGI_PoiBlackLight.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlending.cginc | 39 + .../Toon/Includes/CGI_PoiBlending.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiClearCoat.cginc | 108 + .../Toon/Includes/CGI_PoiClearCoat.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc | 262 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc | 249 + .../Shaders/Toon/Includes/CGI_PoiData.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc | 107 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc | 58 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDefines.cginc | 21 + .../Toon/Includes/CGI_PoiDefines.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDepthColor.cginc | 112 + .../Toon/Includes/CGI_PoiDepthColor.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDissolve.cginc | 171 + .../Toon/Includes/CGI_PoiDissolve.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDithering.cginc | 34 + .../Toon/Includes/CGI_PoiDithering.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiEmission.cginc | 240 + .../Toon/Includes/CGI_PoiEmission.cginc.meta | 9 + .../Includes/CGI_PoiEnvironmentalRimLighting.cginc | 43 + .../CGI_PoiEnvironmentalRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiFlipbook.cginc | 153 + .../Toon/Includes/CGI_PoiFlipbook.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc | 376 + .../Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGeomFur.cginc | 37 + .../Toon/Includes/CGI_PoiGeomFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGlitter.cginc | 232 + .../Toon/Includes/CGI_PoiGlitter.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc | 127 + .../Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHelpers.cginc | 338 + .../Toon/Includes/CGI_PoiHelpers.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHologram.cginc | 36 + .../Toon/Includes/CGI_PoiHologram.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiIridescence.cginc | 61 + .../Toon/Includes/CGI_PoiIridescence.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiLighting.cginc | 668 ++ .../Toon/Includes/CGI_PoiLighting.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc | 243 + .../Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc | 33 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMainTex.cginc | 147 + .../Toon/Includes/CGI_PoiMainTex.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc | 115 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc | 104 + .../Shaders/Toon/Includes/CGI_PoiMath.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc | 130 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc | 77 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc | 107 + .../Toon/Includes/CGI_PoiOutlineFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc | 105 + .../Toon/Includes/CGI_PoiOutlineVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPanosphere.cginc | 63 + .../Toon/Includes/CGI_PoiPanosphere.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiParallax.cginc | 143 + .../Toon/Includes/CGI_PoiParallax.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc | 233 + .../Shaders/Toon/Includes/CGI_PoiPass.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassOutline.cginc | 26 + .../Toon/Includes/CGI_PoiPassOutline.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassShadow.cginc | 44 + .../Toon/Includes/CGI_PoiPassShadow.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRGBMask.cginc | 131 + .../Toon/Includes/CGI_PoiRGBMask.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc | 4 + .../Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRimLighting.cginc | 47 + .../Toon/Includes/CGI_PoiRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc | 116 + .../Toon/Includes/CGI_PoiShadowFrag.cginc.meta | 9 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc | 41 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowVert.cginc | 80 + .../Toon/Includes/CGI_PoiShadowVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc | 58 + .../Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc | 40 + .../Toon/Includes/CGI_PoiSpawnInVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpecular.cginc | 488 ++ .../Toon/Includes/CGI_PoiSpecular.cginc.meta | 9 + .../Includes/CGI_PoiSubsurfaceScattering.cginc | 28 + .../CGI_PoiSubsurfaceScattering.cginc.meta | 9 + .../Toon/Includes/CGI_PoiTessellation.cginc | 117 + .../Toon/Includes/CGI_PoiTessellation.cginc.meta | 9 + .../Toon/Includes/CGI_PoiUVDistortion.cginc | 34 + .../Toon/Includes/CGI_PoiUVDistortion.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc | 126 + .../Shaders/Toon/Includes/CGI_PoiVert.cginc.meta | 9 + .../Toon/Includes/CGI_PoiVertexManipulations.cginc | 93 + .../Includes/CGI_PoiVertexManipulations.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc | 266 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVoronoi.cginc | 304 + .../Toon/Includes/CGI_PoiVoronoi.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiWireframe.cginc | 111 + .../Toon/Includes/CGI_PoiWireframe.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc | 171 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc.meta | 9 + .../Resources/Poyomi/Shaders/Toon/Shaders.meta | 8 + .../Shaders/Toon/Shaders/S_Poiyomi_Toon.shader | 7648 ++++++++++++++++++++ .../Toon/Shaders/S_Poiyomi_Toon.shader.meta | 9 + .../PC_B_Parts_Default_Body_03-cca4c1f7.meta | 8 + .../Assets.meta | 8 + .../Assets/Resources.meta | 8 + .../Assets/Resources/Poyomi.meta | 8 + .../Assets/Resources/Poyomi/Shaders.meta | 8 + .../Assets/Resources/Poyomi/Shaders/Toon.meta | 8 + .../Resources/Poyomi/Shaders/Toon/Includes.meta | 8 + .../Toon/Includes/CGI_PoiAlphaToCoverage.cginc | 32 + .../Includes/CGI_PoiAlphaToCoverage.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBackFace.cginc | 32 + .../Toon/Includes/CGI_PoiBackFace.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlackLight.cginc | 54 + .../Toon/Includes/CGI_PoiBlackLight.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlending.cginc | 39 + .../Toon/Includes/CGI_PoiBlending.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiClearCoat.cginc | 108 + .../Toon/Includes/CGI_PoiClearCoat.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc | 262 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc | 249 + .../Shaders/Toon/Includes/CGI_PoiData.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc | 107 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc | 58 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDefines.cginc | 21 + .../Toon/Includes/CGI_PoiDefines.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDepthColor.cginc | 112 + .../Toon/Includes/CGI_PoiDepthColor.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDissolve.cginc | 171 + .../Toon/Includes/CGI_PoiDissolve.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDithering.cginc | 34 + .../Toon/Includes/CGI_PoiDithering.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiEmission.cginc | 240 + .../Toon/Includes/CGI_PoiEmission.cginc.meta | 9 + .../Includes/CGI_PoiEnvironmentalRimLighting.cginc | 43 + .../CGI_PoiEnvironmentalRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiFlipbook.cginc | 153 + .../Toon/Includes/CGI_PoiFlipbook.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc | 376 + .../Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGeomFur.cginc | 37 + .../Toon/Includes/CGI_PoiGeomFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGlitter.cginc | 232 + .../Toon/Includes/CGI_PoiGlitter.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc | 127 + .../Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHelpers.cginc | 338 + .../Toon/Includes/CGI_PoiHelpers.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHologram.cginc | 36 + .../Toon/Includes/CGI_PoiHologram.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiIridescence.cginc | 61 + .../Toon/Includes/CGI_PoiIridescence.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiLighting.cginc | 668 ++ .../Toon/Includes/CGI_PoiLighting.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc | 243 + .../Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc | 33 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMainTex.cginc | 147 + .../Toon/Includes/CGI_PoiMainTex.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc | 115 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc | 104 + .../Shaders/Toon/Includes/CGI_PoiMath.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc | 130 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc | 77 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc | 107 + .../Toon/Includes/CGI_PoiOutlineFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc | 105 + .../Toon/Includes/CGI_PoiOutlineVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPanosphere.cginc | 63 + .../Toon/Includes/CGI_PoiPanosphere.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiParallax.cginc | 143 + .../Toon/Includes/CGI_PoiParallax.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc | 233 + .../Shaders/Toon/Includes/CGI_PoiPass.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassOutline.cginc | 26 + .../Toon/Includes/CGI_PoiPassOutline.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassShadow.cginc | 44 + .../Toon/Includes/CGI_PoiPassShadow.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRGBMask.cginc | 131 + .../Toon/Includes/CGI_PoiRGBMask.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc | 4 + .../Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRimLighting.cginc | 47 + .../Toon/Includes/CGI_PoiRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc | 116 + .../Toon/Includes/CGI_PoiShadowFrag.cginc.meta | 9 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc | 41 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowVert.cginc | 80 + .../Toon/Includes/CGI_PoiShadowVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc | 58 + .../Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc | 40 + .../Toon/Includes/CGI_PoiSpawnInVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpecular.cginc | 488 ++ .../Toon/Includes/CGI_PoiSpecular.cginc.meta | 9 + .../Includes/CGI_PoiSubsurfaceScattering.cginc | 28 + .../CGI_PoiSubsurfaceScattering.cginc.meta | 9 + .../Toon/Includes/CGI_PoiTessellation.cginc | 117 + .../Toon/Includes/CGI_PoiTessellation.cginc.meta | 9 + .../Toon/Includes/CGI_PoiUVDistortion.cginc | 34 + .../Toon/Includes/CGI_PoiUVDistortion.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc | 126 + .../Shaders/Toon/Includes/CGI_PoiVert.cginc.meta | 9 + .../Toon/Includes/CGI_PoiVertexManipulations.cginc | 93 + .../Includes/CGI_PoiVertexManipulations.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc | 266 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVoronoi.cginc | 304 + .../Toon/Includes/CGI_PoiVoronoi.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiWireframe.cginc | 111 + .../Toon/Includes/CGI_PoiWireframe.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc | 171 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc.meta | 9 + .../Resources/Poyomi/Shaders/Toon/Shaders.meta | 8 + .../Shaders/Toon/Shaders/S_Poiyomi_Toon.shader | 7648 ++++++++++++++++++++ .../Toon/Shaders/S_Poiyomi_Toon.shader.meta | 9 + .../OptimizedShaders/skin color-654df2de.meta | 8 + .../skin color-654df2de/Assets.meta | 8 + .../skin color-654df2de/Assets/Resources.meta | 8 + .../Assets/Resources/Poyomi.meta | 8 + .../Assets/Resources/Poyomi/Shaders.meta | 8 + .../Assets/Resources/Poyomi/Shaders/Toon.meta | 8 + .../Resources/Poyomi/Shaders/Toon/Includes.meta | 8 + .../Toon/Includes/CGI_PoiAlphaToCoverage.cginc | 32 + .../Includes/CGI_PoiAlphaToCoverage.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBackFace.cginc | 32 + .../Toon/Includes/CGI_PoiBackFace.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlackLight.cginc | 54 + .../Toon/Includes/CGI_PoiBlackLight.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBlending.cginc | 39 + .../Toon/Includes/CGI_PoiBlending.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiClearCoat.cginc | 108 + .../Toon/Includes/CGI_PoiClearCoat.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc | 262 + .../Shaders/Toon/Includes/CGI_PoiColors.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc | 249 + .../Shaders/Toon/Includes/CGI_PoiData.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc | 107 + .../Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc | 58 + .../Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDefines.cginc | 21 + .../Toon/Includes/CGI_PoiDefines.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDepthColor.cginc | 112 + .../Toon/Includes/CGI_PoiDepthColor.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDissolve.cginc | 171 + .../Toon/Includes/CGI_PoiDissolve.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiDithering.cginc | 34 + .../Toon/Includes/CGI_PoiDithering.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiEmission.cginc | 240 + .../Toon/Includes/CGI_PoiEmission.cginc.meta | 9 + .../Includes/CGI_PoiEnvironmentalRimLighting.cginc | 43 + .../CGI_PoiEnvironmentalRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiFlipbook.cginc | 153 + .../Toon/Includes/CGI_PoiFlipbook.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc | 376 + .../Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGeomFur.cginc | 37 + .../Toon/Includes/CGI_PoiGeomFur.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiGlitter.cginc | 232 + .../Toon/Includes/CGI_PoiGlitter.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc | 127 + .../Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHelpers.cginc | 338 + .../Toon/Includes/CGI_PoiHelpers.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiHologram.cginc | 36 + .../Toon/Includes/CGI_PoiHologram.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiIridescence.cginc | 61 + .../Toon/Includes/CGI_PoiIridescence.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiLighting.cginc | 668 ++ .../Toon/Includes/CGI_PoiLighting.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc | 243 + .../Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc | 33 + .../Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMainTex.cginc | 147 + .../Toon/Includes/CGI_PoiMainTex.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc | 115 + .../Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc | 104 + .../Shaders/Toon/Includes/CGI_PoiMath.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc | 130 + .../Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc | 77 + .../Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc | 107 + .../Toon/Includes/CGI_PoiOutlineFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc | 105 + .../Toon/Includes/CGI_PoiOutlineVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPanosphere.cginc | 63 + .../Toon/Includes/CGI_PoiPanosphere.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiParallax.cginc | 143 + .../Toon/Includes/CGI_PoiParallax.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc | 233 + .../Shaders/Toon/Includes/CGI_PoiPass.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassOutline.cginc | 26 + .../Toon/Includes/CGI_PoiPassOutline.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiPassShadow.cginc | 44 + .../Toon/Includes/CGI_PoiPassShadow.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRGBMask.cginc | 131 + .../Toon/Includes/CGI_PoiRGBMask.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc | 4 + .../Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc | 41 + .../Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiRimLighting.cginc | 47 + .../Toon/Includes/CGI_PoiRimLighting.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc | 116 + .../Toon/Includes/CGI_PoiShadowFrag.cginc.meta | 9 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc | 41 + .../Toon/Includes/CGI_PoiShadowIncludes.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiShadowVert.cginc | 80 + .../Toon/Includes/CGI_PoiShadowVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc | 58 + .../Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc | 40 + .../Toon/Includes/CGI_PoiSpawnInVert.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiSpecular.cginc | 488 ++ .../Toon/Includes/CGI_PoiSpecular.cginc.meta | 9 + .../Includes/CGI_PoiSubsurfaceScattering.cginc | 28 + .../CGI_PoiSubsurfaceScattering.cginc.meta | 9 + .../Toon/Includes/CGI_PoiTessellation.cginc | 117 + .../Toon/Includes/CGI_PoiTessellation.cginc.meta | 9 + .../Toon/Includes/CGI_PoiUVDistortion.cginc | 34 + .../Toon/Includes/CGI_PoiUVDistortion.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc | 34 + .../Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta | 9 + .../Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc | 126 + .../Shaders/Toon/Includes/CGI_PoiVert.cginc.meta | 9 + .../Toon/Includes/CGI_PoiVertexManipulations.cginc | 93 + .../Includes/CGI_PoiVertexManipulations.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc | 266 + .../Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiVoronoi.cginc | 304 + .../Toon/Includes/CGI_PoiVoronoi.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_PoiWireframe.cginc | 111 + .../Toon/Includes/CGI_PoiWireframe.cginc.meta | 9 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc | 171 + .../Shaders/Toon/Includes/CGI_Poicludes.cginc.meta | 9 + .../Resources/Poyomi/Shaders/Toon/Shaders.meta | 8 + .../Shaders/Toon/Shaders/S_Poiyomi_Toon.shader | 7648 ++++++++++++++++++++ .../Toon/Shaders/S_Poiyomi_Toon.shader.meta | 9 + 1170 files changed, 142434 insertions(+) create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader create mode 100644 VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta (limited to 'VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders') diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773.meta new file mode 100644 index 00000000..121fff9d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44936434218f976469f4fbd099933654 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets.meta new file mode 100644 index 00000000..7d576b61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 74931dec655ec724bb48efef9eec16fd +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources.meta new file mode 100644 index 00000000..0dcc44c3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 77c416699e975b041ac923559750aa52 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi.meta new file mode 100644 index 00000000..81f41c42 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7aadc18eb0e5ffc40ac4a581001441d4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders.meta new file mode 100644 index 00000000..5cd2a077 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4810adda5eaaac445b7c504356050e91 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon.meta new file mode 100644 index 00000000..91d19dfa --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 67783011c15fad64f8f395a55948feba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta new file mode 100644 index 00000000..4002b3a5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 80e43d4078ff689499cbeeb8340a54bb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc new file mode 100644 index 00000000..9f01532c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc @@ -0,0 +1,32 @@ +#ifndef POI_ALPHA_TO_COVERAGE + #define POI_ALPHA_TO_COVERAGE + + half _MainMipScale; + float _MainAlphaToCoverage; + + float CalcMipLevel(float2 texture_coord) + { + float2 dx = ddx(texture_coord); + float2 dy = ddy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + + return 0.5 * log2(delta_max_sqr); + } + + void ApplyAlphaToCoverage(inout float4 finalColor) + { + // Force Model Opacity to 1 if desired + + if (float(0) == 1) + { + + if(float(0)) + { + // rescale alpha by mip level + finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.0004882813,0.0004882813,2048,2048).zw)) * float(0.25); + // rescale alpha by partial derivative + finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta new file mode 100644 index 00000000..97074f91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e0e41d4e8696eec4987552c9d2737b19 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc new file mode 100644 index 00000000..e529136f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc @@ -0,0 +1,32 @@ +#ifndef POI_BACKFACE + #define POI_BACKFACE + + float _BackFaceEnabled; + float _BackFaceTextureUV; + float _BackFaceDetailIntensity; + float _BackFaceEmissionStrength; + float2 _BackFacePanning; + float _BackFaceHueShift; + float4 _BackFaceColor; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST; + + float3 BackFaceColor; + void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission) + { + backFaceEmission = 0; + BackFaceColor = 0; + + if (float(0)) + { + if(!poiMesh.isFrontFace) + { + albedo = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + backFaceDetailIntensity = float(1); + BackFaceColor = albedo.rgb; + mixedHueShift = float(0); + backFaceEmission = BackFaceColor * float(0); + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta new file mode 100644 index 00000000..8b695124 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2412a9160e6df044496b5e7f1c67d9af +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc new file mode 100644 index 00000000..750364ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc @@ -0,0 +1,54 @@ +#ifndef POI_BLACKLIGHT + #define POI_BLACKLIGHT + + float4 _BlackLightMaskStart; + float4 _BlackLightMaskEnd; + float4 _BlackLightMaskKeys; + float _BlackLightMaskDebug; + float _BlackLightMaskDissolve; + float _BlackLightMaskMetallic; + float _BlackLightMaskClearCoat; + float _BlackLightMaskMatcap; + float _BlackLightMaskMatcap2; + float _BlackLightMaskEmission; + float _BlackLightMaskEmission2; + float _BlackLightMaskFlipbook; + float _BlackLightMaskPanosphere; + float _BlackLightMaskIridescence; + + half _BlackLightMaskGlitter; + + half4 blackLightMask; + + void createBlackLightMask() + { + blackLightMask = 0; + #ifdef VERTEXLIGHT_ON + + for (int lightIndex = 0; lightIndex < 4; lightIndex ++) + { + float3 lightPos = float3(unity_4LightPosX0[lightIndex], unity_4LightPosY0[lightIndex], unity_4LightPosZ0[lightIndex]); + if (!distance(unity_LightColor[lightIndex].rgb, float3(0, 0, 0))) + { + for (int maskIndex = 0; maskIndex < 4; maskIndex ++) + { + float4 comparison = _BlackLightMaskKeys; + if(unity_LightColor[lightIndex].a == comparison[maskIndex]) + { + blackLightMask[maskIndex] = max(blackLightMask[maskIndex], smoothstep(_BlackLightMaskEnd[maskIndex], _BlackLightMaskStart[maskIndex], distance(poiMesh.worldPos, lightPos))); + } + } + } + } + #endif + } +#endif + +/* +#ifdef POI_BLACKLIGHT + if (_BlackLightMaskDissolve != 4) + { + blackLightMask[mask]; + } +#endif +*/ diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta new file mode 100644 index 00000000..8e235634 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9106b3ca6f34c0047b2e16a1e4a3200b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc new file mode 100644 index 00000000..f87ae6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc @@ -0,0 +1,39 @@ +#ifndef POI_BLENDING + #define POI_BLENDING + + /* + 0: Zero float4(0.0, 0.0, 0.0, 0.0), + 1: One float4(1.0, 1.0, 1.0, 1.0), + 2: DstColor destinationColor, + 3: SrcColor sourceColor, + 4: OneMinusDstColor float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + 5: SrcAlpha sourceColor.aaaa, + 6: OneMinusSrcColor float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + 7: DstAlpha destinationColor.aaaa, + 8: OneMinusDstAlpha float4(1.0, 1.0, 1.0, 1.0) - destinationColor., + 9: SrcAlphaSaturate saturate(sourceColor.aaaa), + 10: OneMinusSrcAlpha float4(1.0, 1.0, 1.0, 1.0) - sourceColor.aaaa, + */ + + float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor) + { + float4 sA = 1-blendFactor; + const float4 blendData[11] = { + float4(0.0, 0.0, 0.0, 0.0), + float4(1.0, 1.0, 1.0, 1.0), + destinationColor, + sourceColor, + float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sA, + saturate(sourceColor.aaaa), + 1 - sA, + }; + + return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor,sourceColor, sA); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta new file mode 100644 index 00000000..d5017918 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 51f6c0b51e91095449f26eb1a893a723 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc new file mode 100644 index 00000000..6e4db3fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc @@ -0,0 +1,34 @@ +#ifndef POI_BULGE + #define POI_BULGE + + + sampler2D _BulgeMask; + float _BuldgeFadeLength; + float _BuldgeHeight; + + void bulgyWolgy(inout v2f o) + { + float depth = DecodeFloatRG(tex2Dlod(_CameraDepthTexture, float4(o.grabPos.xy / o.grabPos.w, 0, 0))); + float bulgeMask = tex2Dlod(_BulgeMask, float4(o.uv0.xy, 0, 0)); + depth = Linear01Depth(depth); + + float intersect = 0; + if (depth != 1) + { + float diff = distance(depth, Linear01Depth(o.pos.z / o.pos.w)); + if(diff > 0) + { + intersect = 1 - smoothstep(0, _ProjectionParams.w * _BuldgeFadeLength, diff); + } + } + float4 offset = intersect * _BuldgeHeight * float4(o.normal, 0); + + offset = IsInMirror() ? 0: offset; + offset *= bulgeMask; + + o.worldPos = mul(unity_ObjectToWorld, o.localPos) + offset; + o.localPos = mul(unity_WorldToObject, o.worldPos); + o.pos = UnityObjectToClipPos(o.localPos); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta new file mode 100644 index 00000000..89354fa8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 33a3f70e32cb92d48a4ede895a2abacc +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc new file mode 100644 index 00000000..5adf7340 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc @@ -0,0 +1,108 @@ +#ifndef POI_CLEARCOAT + #define POI_CLEARCOAT + + samplerCUBE _ClearCoatCubeMap; + float _ClearCoatSampleWorld; + POI_TEXTURE_NOSAMPLER(_ClearCoatMask); + POI_TEXTURE_NOSAMPLER(_ClearCoatSmoothnessMap); + float _ClearCoatInvertSmoothness; + float _ClearCoat; + float _ClearCoatSmoothness; + float3 _ClearCoatTint; + float _ClearCoatNormalToUse; + float _ClearCoatForceLighting; + float lighty_clear_boy_uwu_var; + + + float3 CalculateClearCoatEnvironmentalReflections() + { + float3 reflectionColor; + + float smoothnessMap = (POI2D_SAMPLER_PAN(_ClearCoatSmoothnessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + if (float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + float roughness = 1 - smoothnessMap; + + lighty_clear_boy_uwu_var = 0; + + float3 reflectedDir = float(0) == 0 ? poiCam.vertexReflectionDir: poiCam.reflectionDir; + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + + + if(float(0) == 0 && no_probe == 0) + { + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflectionColor = lerp(probe1, probe0, interpolator); + } + else + { + reflectionColor = probe0; + } + } + else + { + lighty_clear_boy_uwu_var = 1; + reflectionColor = texCUBElod(_ClearCoatCubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + if(float(0)) + { + lighty_clear_boy_uwu_var = 1; + } + + return reflectionColor * float4(1,1,1,1); + } + + void calculateAndApplyClearCoat(inout float4 finalColor) + { + half clearCoatMap = POI2D_SAMPLER_PAN(_ClearCoatMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskClearCoat != 4) + { + clearCoatMap *= blackLightMask[_BlackLightMaskClearCoat]; + } + #endif + + half3 reflectionColor = CalculateClearCoatEnvironmentalReflections(); + + float NormalDotView = abs(dot(float(1), float(0) == 0 ? poiLight.N0DotV: poiLight.nDotV).r); + #ifdef POI_LIGHTING + finalColor.rgb = lerp(finalColor.rgb, reflectionColor * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var), clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + //finalColor.rgb += reflectionColor; + //finalColor.rgb = finalColor.rgb * (1- (reflectionColor.r + reflectionColor.g + reflectionColor.b)/3) + reflectionColor * clearCoatMap * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var); + #else + finalColor.rgb = lerp(finalColor.rgb, reflectionColor, clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta new file mode 100644 index 00000000..fb976c06 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: adb4d583a72b8ee4384fa48573c695b0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc new file mode 100644 index 00000000..687dc443 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc @@ -0,0 +1,262 @@ +#ifndef POI_COLOR + #define POI_COLOR + + #ifndef pi + #define pi float(3.14159265359) + #endif + + static const float Epsilon = 1e-10; + // The weights of RGB contributions to luminance. + // Should sum to unity. + static const float3 HCYwts = float3(0.299, 0.587, 0.114); + static const float HCLgamma = 3; + static const float HCLy0 = 100; + static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5 + static const float3 wref = float3(1.0, 1.0, 1.0); + #define TAU 6.28318531 + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 RGBtoHCV(in float3 RGB) + { + // Based on work by Sam Hocevar and Emil Persson + float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0); + float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx); + float C = Q.x - min(Q.w, Q.y); + float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z); + return float3(H, C, Q.x); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float3 RGBtoHSV(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float S = HCV.y / (HCV.z + Epsilon); + return float3(HCV.x, S, HCV.z); + } + + float3 HSLtoRGB(in float3 HSL) + { + float3 RGB = HUEtoRGB(HSL.x); + float C = (1 - abs(2 * HSL.z - 1)) * HSL.y; + return(RGB - 0.5) * C + HSL.z; + } + + float3 RGBtoHSL(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float L = HCV.z - HCV.y * 0.5; + float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon); + return float3(HCV.x, S, L); + } + + float3 HCYtoRGB(in float3 HCY) + { + + + float3 RGB = HUEtoRGB(HCY.x); + float Z = dot(RGB, HCYwts); + if (HCY.z < Z) + { + HCY.y *= HCY.z / Z; + } + else if(Z < 1) + { + HCY.y *= (1 - HCY.z) / (1 - Z); + } + return(RGB - Z) * HCY.y + HCY.z; + } + + float3 RGBtoHCY(in float3 RGB) + { + // Corrected by David Schaeffer + float3 HCV = RGBtoHCV(RGB); + float Y = dot(RGB, HCYwts); + float Z = dot(HUEtoRGB(HCV.x), HCYwts); + if (Y < Z) + { + HCV.y *= Z / (Epsilon + Y); + } + else + { + HCV.y *= (1 - Z) / (Epsilon + 1 - Y); + } + return float3(HCV.x, HCV.y, Y); + } + + float3 HCLtoRGB(in float3 HCL) + { + float3 RGB = 0; + if(HCL.z != 0) + { + float H = HCL.x; + float C = HCL.y; + float L = HCL.z * HCLmaxL; + float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0)); + float U = (2 * L - C) / (2 * Q - 1); + float V = C / Q; + float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2; + float T; + H *= 6; + if(H <= 0.999) + { + T = tan(A); + RGB.r = 1; + RGB.g = T / (1 + T); + } + else if(H <= 1.001) + { + RGB.r = 1; + RGB.g = 1; + } + else if(H <= 2) + { + T = tan(A); + RGB.r = (1 + T) / T; + RGB.g = 1; + } + else if(H <= 3) + { + T = tan(A); + RGB.g = 1; + RGB.b = 1 + T; + } + else if(H <= 3.999) + { + T = tan(A); + RGB.g = 1 / (1 + T); + RGB.b = 1; + } + else if(H <= 4.001) + { + RGB.g = 0; + RGB.b = 1; + } + else if(H <= 5) + { + T = tan(A); + RGB.r = -1 / T; + RGB.b = 1; + } + else + { + T = tan(A); + RGB.r = 1; + RGB.b = -T; + } + RGB = RGB * V + U; + } + return RGB; + } + + float3 RGBtoHCL(in float3 RGB) + { + float3 HCL; + float H = 0; + float U = min(RGB.r, min(RGB.g, RGB.b)); + float V = max(RGB.r, max(RGB.g, RGB.b)); + float Q = HCLgamma / HCLy0; + HCL.y = V - U; + if(HCL.y != 0) + { + H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi; + Q *= U / V; + } + Q = exp(Q); + HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6); + HCL.y *= Q; + HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2); + return HCL; + } + + //HSL MODIFT + float3 ModifyViaHSL(float3 color, float3 HSLMod) + { + float3 colorHSL = RGBtoHSL(color); + colorHSL.r = frac(colorHSL.r + HSLMod.r); + colorHSL.g = saturate(colorHSL.g + HSLMod.g); + colorHSL.b = saturate(colorHSL.b + HSLMod.b); + return HSLtoRGB(colorHSL); + } + + float3 hueShift(float3 col, float hueAdjust) + { + hueAdjust *= 2 * pi; + const float3 k = float3(0.57735, 0.57735, 0.57735); + half cosAngle = cos(hueAdjust); + return col * cosAngle + cross(k, col) * sin(hueAdjust) + k * dot(k, col) * (1.0 - cosAngle); + } + + float3 poiSaturation(float3 In, float Saturation) + { + float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750)); + return luma.xxx + Saturation.xxx * (In - luma.xxx); + } + // LCH + float xyzF(float t) + { + return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645)); + } + float xyzR(float t) + { + return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655)); + } + float3 rgb2lch(in float3 c) + { + c = mul(float3x3(0.4124, 0.3576, 0.1805, + 0.2126, 0.7152, 0.0722, + 0.0193, 0.1192, 0.9505), c); + c.x = xyzF(c.x / wref.x); + c.y = xyzF(c.y / wref.y); + c.z = xyzF(c.z / wref.z); + float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z)); + return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y)); + } + + float3 lch2rgb(in float3 c) + { + c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y); + + float lg = 1. / 116. * (c.x + 16.); + float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y), + wref.y * xyzR(lg), + wref.z * xyzR(lg - 0.005 * c.z)); + + float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986, + - 0.9689, 1.8758, 0.0415, + 0.0557, -0.2040, 1.0570), xyz); + + return rgb; + } + + //cheaply lerp around a circle + float lerpAng(in float a, in float b, in float x) + { + float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi; + return ang * x + b; + } + + //Linear interpolation between two colors in Lch space + float3 lerpLch(in float3 a, in float3 b, in float x) + { + float hue = lerpAng(a.z, b.z, x); + return float3(lerp(b.xy, a.xy, x), hue); + } + + float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha) + { + return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha)); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta new file mode 100644 index 00000000..7bf2a3ee --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 10a4366d6d530d844a9fa419ebce8ca4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc new file mode 100644 index 00000000..cd354f85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc @@ -0,0 +1,249 @@ +#ifndef POI_DATA + #define POI_DATA + + float _ParallaxBias; + float _LightingAdditiveLimitIntensity; + float _LightingAdditiveMaxIntensity; + POI_TEXTURE_NOSAMPLER(_BumpMap); + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailMask); + POI_TEXTURE_NOSAMPLER(_DetailNormalMap); + float _DetailNormalMapScale; + #endif + float _BumpScale; + + void calculateAttenuation(v2f i) + { + #ifdef FORWARD_ADD_PASS + #if defined(POINT) || defined(SPOT) + POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz) + poiLight.additiveShadow = shadow; + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + poiLight.additiveShadow == 0; + #endif + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + // fix for rare bug where light atten is 0 when there is no directional light in the scene + #ifdef FORWARD_BASE_PASS + if (all(_LightColor0.rgb == 0.0)) + { + attenuation = 1.0; + } + #endif + #endif + poiLight.attenuation = attenuation; + } + + void calculateVertexLightingData(in v2f i) + { + #ifdef VERTEXLIGHT_ON + float4 toLightX = unity_4LightPosX0 - i.worldPos.x; + float4 toLightY = unity_4LightPosY0 - i.worldPos.y; + float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z; + float4 lengthSq = 0; + lengthSq += toLightX * toLightX; + lengthSq += toLightY * toLightY; + lengthSq += toLightZ * toLightZ; + + float4 lightAttenSq = unity_4LightAtten0; + float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq); + float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25)); + poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight); + + poiLight.vDotNL = 0; + poiLight.vDotNL += toLightX * poiMesh.normals[1].x; + poiLight.vDotNL += toLightY * poiMesh.normals[1].y; + poiLight.vDotNL += toLightZ * poiMesh.normals[1].z; + + float4 corr = rsqrt(lengthSq); + poiLight.vDotNL = max(0, poiLight.vDotNL * corr); + poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL; + + for (int index = 0; index < 4; index ++) + { + poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]); + + float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos; + poiLight.vDirection[index] = normalize(vertexToLightSource); + //poiLight.vAttenuationDotNL[index] = 1.0 / (1.0 + unity_4LightAtten0[index] * poiLight.vDotNL[index]); + poiLight.vColor[index] = unity_LightColor[index].rgb; + + if (float(0) == 1) + { + float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b)); + poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1))); + } + poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir); + poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]); + poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1); + + #ifdef POI_VAR_DOTLH + poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index])); + #endif + + #ifdef POI_VAR_DOTNH + poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index])); + #endif + } + #endif + } + + void calculateLightingData(in v2f i) + { + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb; + poiLight.color = magic + normalLight; + #else + #ifdef FORWARD_ADD_PASS + poiLight.color = _LightColor0.rgb; + + + if (float(0) == 1) + { + float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b)); + poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1))); + } + #endif + #endif + + #ifdef FORWARD_BASE_PASS + poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + #else + #if defined(POINT) || defined(SPOT) + poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #else + poiLight.direction = _WorldSpaceLightPos0; + #endif + #endif + + poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); + + #ifdef POI_VAR_DOTNH + poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir)); + #endif + + #ifdef POI_VAR_DOTLH + poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir)); + #endif + + poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir); + poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir); + poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); + poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); + poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); + poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); + } + + float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) + { + return cross(normal, tangent.xyz) * (binormalSign * unity_WorldTransformParams.w); + } + + void InitializeMeshData(inout v2f i, uint facing) + { + poiMesh.isFrontFace = facing; + poiMesh.normals[0] = normalize(i.normal); + poiMesh.binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + poiMesh.tangent = i.tangent.xyz; + + #ifndef OUTLINE + if(!poiMesh.isFrontFace) + { + poiMesh.normals[0] *= -1; + poiMesh.tangent *= -1; + poiMesh.binormal *= -1; + } + #endif + + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + poiMesh.barycentricCoordinates = i.barycentricCoordinates; + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + #ifdef POI_UV_DISTORTION + poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy); + #else + poiMesh.uv[4] = poiMesh.uv[0]; + #endif + + poiMesh.vertexColor = i.vertexColor; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + poiMesh.lightmapUV = i.lightmapUV; + #endif + poiMesh.modelPos = i.modelPos; + + #ifdef FUR + poiMesh.furAlpha = i.furAlpha; + #endif + } + + void initializeCamera(v2f i) + { + poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); + poiCam.forwardDir = getCameraForward(); + poiCam.worldPos = _WorldSpaceCameraPos; + poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos); + poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); + poiCam.grabPos = i.grabPos; + poiCam.screenUV = calcScreenUVs(i.grabPos); + poiCam.clipPos = i.pos; + #if defined(GRAIN) + poiCam.worldDirection = i.worldDirection; + #endif + + poiCam.tangentViewDir = normalize(i.tangentViewDir); + poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42)); + } + + void calculateTangentData() + { + poiTData.tangentTransform = float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0]); + poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0])); + } + + void CalculateReflectionData() + { + #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON) + poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); + poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); + #endif + } + + void calculateNormals(inout half3 detailMask) + { + half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + #ifdef FINALPASS + detailMask = POI2D_SAMPLER_PAN(_DetailMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(1) > 0) + { + half3 detailNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_DetailNormalMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1) * detailMask.g); + poiMesh.tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + } + else + { + poiMesh.tangentSpaceNormal = mainNormal; + } + #else + poiMesh.tangentSpaceNormal = mainNormal; + #endif + + #ifdef POI_RGBMASK + calculateRGBNormals(poiMesh.tangentSpaceNormal); + #endif + + poiMesh.normals[1] = normalize( + poiMesh.tangentSpaceNormal.x * poiMesh.tangent + + poiMesh.tangentSpaceNormal.y * poiMesh.binormal + + poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] + ); + + poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1])); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta new file mode 100644 index 00000000..c007b600 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b64a1258c4cb85f419c557e8d3dc6e24 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc new file mode 100644 index 00000000..125d2cd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc @@ -0,0 +1,107 @@ +#ifndef POI_DEBUG + #define POI_DEBUG + + float _DebugEnabled; + float _DebugMeshData; + float _DebugLightingData; + float _DebugCameraData; + + void displayDebugInfo(inout float4 finalColor) + { + + if (float(0) != 0) + { + //Mesh Data + if (float(0) == 1) + { + finalColor.rgb = poiMesh.normals[0]; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiMesh.normals[1]; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiMesh.tangent; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiMesh.binormal; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiMesh.localPos; + return; + } + + #ifdef POI_LIGHTING + if(float(0) == 1) + { + finalColor.rgb = poiLight.attenuation; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiLight.directLighting; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiLight.indirectLighting; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiLight.lightMap; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiLight.rampedLightMap; + return; + } + else if(float(0) == 6) + { + finalColor.rgb = poiLight.finalLighting; + return; + } + else if(float(0) == 7) + { + finalColor.rgb = poiLight.nDotL; + return; + } + #endif + + if(float(0) == 1) + { + finalColor.rgb = poiCam.viewDir; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiCam.tangentViewDir; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiCam.forwardDir; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiCam.worldPos; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiCam.viewDotNormal; + return; + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta new file mode 100644 index 00000000..44360e89 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3e7228c920328024ca647829872381c1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc new file mode 100644 index 00000000..280fcbc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc @@ -0,0 +1,58 @@ +#ifndef POI_DECAL + #define POI_DECAL + + POI_TEXTURE_NOSAMPLER(_DecalTexture); + POI_TEXTURE_NOSAMPLER(_DecalMask); + float4 _DecalColor; + fixed _DecalTiled; + fixed _DecalBlendAdd; + fixed _DecalBlendMultiply; + fixed _DecalBlendReplace; + half _DecalRotation; + half2 _DecalScale; + half2 _DecalPosition; + half _DecalRotationSpeed; + float _DecalEmissionStrength; + + void applyDecal(inout float4 albedo, inout float3 decalEmission) + { + float2 uv = poiMesh.uv[float(0)]; + float2 decalCenter = float4(0.5,0.5,0,0); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); + uv = remap(uv, float2(0, 0) - float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float2(0, 0), float2(1, 1)); + + half decalAlpha = 1; + //float2 uv = TRANSFORM_TEX(poiMesh.uv[float(0)], _DecalTexture) + _Time.x * float4(0,0,0,0); + float4 decalColor = POI2D_SAMPLER_PAN(_DecalTexture, _MainTex, uv, float4(0,0,0,0)) * float4(1,1,1,1); + decalAlpha *= POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if (!float(0)) + { + if(uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) + { + decalAlpha = 0; + } + } + + if(float(0)) + { + albedo.rgb = lerp(albedo.rgb, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb *= lerp(1, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb += decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + albedo = saturate(albedo); + decalEmission = decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta new file mode 100644 index 00000000..ba2c9c0a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3bd80e35970634147b6db7e245affc22 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc new file mode 100644 index 00000000..9b70067a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc @@ -0,0 +1,21 @@ +#ifndef POI_DEFINES + #define POI_DEFINES + + #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) + + #ifdef _SPECGLOSSMAP // Specular + #ifndef POI_VAR_DOTNH + #define POI_VAR_DOTNH + #endif + #ifndef POI_VAR_DOTLH + #define POI_VAR_DOTLH + #endif + #endif + + #ifdef VIGNETTE_MASKED // Lighting + #ifndef POI_VAR_DOTNL + #define POI_VAR_DOTNL + #endif + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta new file mode 100644 index 00000000..a5c382e3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 58375f08edae87448a767d01c9b45d53 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc new file mode 100644 index 00000000..828460bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc @@ -0,0 +1,112 @@ +#ifndef POI_DEPTH_COLOR + #define POI_DEPTH_COLOR + + float4 _DepthGlowColor; + float _DepthGlowEmission; + float _FadeLength; + float _DepthAlphaMin; + float _DepthAlphaMax; + POI_TEXTURE_NOSAMPLER(_DepthGradient); + POI_TEXTURE_NOSAMPLER(_DepthMask); + float _DepthGradientTextureUV; + float _DepthGradientBlend; + + /* + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, float4 worldDirection, float4 clipPos) + { + float3 touchEmission = 0; + if (!IsInMirror()) + { + float fadeLength = _FadeLength; + fadeLength *= 0.01; + float depth = DecodeFloatRG(tex2Dproj(_CameraDepthTexture, worldDirection)); + depth = Linear01Depth(depth); + if(depth != 1) + { + float diff = distance(depth, Linear01Depth(clipPos.z)); + float intersect = 0; + if(diff > 0) + { + intersect = clamp(1 - smoothstep(0, _ProjectionParams.w * fadeLength, diff), 0, 1); + } + half4 depthGradient = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthGradient, _MainTex, intersect); + half3 depthMask = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthMask, _MainTex, poiMesh.uv[0]); + half3 depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + } + } + depthTouchEmission = touchEmission; + } + */ + + inline float CorrectedLinearEyeDepth(float z, float B) + { + return 1.0 / (z / PM._34 + B); + } + + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, in float4 worldDirection) + { + float3 touchEmission = 0; + float fadeLength = _FadeLength; + fadeLength *= 0.01; + + float perspectiveDivide = 1.0f / poiCam.clipPos.w; + float4 direction = worldDirection * perspectiveDivide; + float2 screenPos = poiCam.grabPos.xy * perspectiveDivide; + float z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenPos); + + #if UNITY_REVERSED_Z + if (z == 0) + #else + if(z == 1) + #endif + return; + + float depth = CorrectedLinearEyeDepth(z, direction.w); + float3 worldpos = direction * depth + _WorldSpaceCameraPos.xyz; + /* + finalColor.rgb = frac(worldpos); + return; + */ + + float diff = distance(worldpos, poiMesh.worldPos); + float intersect = 0; + intersect = clamp(1 - smoothstep(0, fadeLength, diff), 0, 1); + half3 depthMask = POI2D_SAMPLER_PAN(_DepthMask, _MainTex, poiMesh.uv[_DepthMaskUV], _DepthMaskPan); + + half4 depthGradient = 0; + half3 depthColor = 0; + + + if (_DepthGradientTextureUV == 0) + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, float2(intersect, intersect), _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + } + else + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, poiMesh.uv[_DepthGradientUV], _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb * intersect; + } + + + if(_DepthGradientBlend == 0) // rpelace + { + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + } + else if(_DepthGradientBlend == 1) // add + { + finalColor.rgb += depthColor * intersect * depthMask; + } + else if(_DepthGradientBlend == 2) // multiply + { + finalColor.rgb *= lerp(1, depthColor, intersect * depthMask); + } + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect * depthMask); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + + depthTouchEmission = touchEmission; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta new file mode 100644 index 00000000..036c82e5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 06ab12790cb68014d9af8ffa42af7415 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc new file mode 100644 index 00000000..13175f00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc @@ -0,0 +1,171 @@ +#ifndef POI_DISSOLVE + #define POI_DISSOLVE + + float _DissolveType; + float _DissolveEdgeWidth; + float4 _DissolveEdgeColor; + sampler2D _DissolveEdgeGradient; float4 _DissolveEdgeGradient_ST; + float _DissolveEdgeEmission; + float4 _DissolveTextureColor; + + POI_TEXTURE_NOSAMPLER(_DissolveToTexture); + POI_TEXTURE_NOSAMPLER(_DissolveNoiseTexture); + POI_TEXTURE_NOSAMPLER(_DissolveDetailNoise); + POI_TEXTURE_NOSAMPLER(_DissolveMask); + + float _DissolveMaskInvert; + float _DissolveAlpha; + float _ContinuousDissolve; + float _DissolveDetailStrength; + float _DissolveEdgeHardness; + float _DissolveInvertNoise; + float _DissolveInvertDetailNoise; + float _DissolveToEmissionStrength; + + // Point to Point + float _DissolveP2PWorldLocal; + float _DissolveP2PEdgeLength; + float4 _DissolveStartPoint; + float4 _DissolveEndPoint; + + // World Dissolve + float _DissolveWorldShape; + float4 _DissolveShapePosition; + float4 _DissolveShapeRotation; + float _DissolveShapeScale; + float _DissolveInvertShape; + float _DissolveShapeEdgeLength; + + float _DissolveAlpha0; + float _DissolveAlpha1; + float _DissolveAlpha2; + float _DissolveAlpha3; + float _DissolveAlpha4; + float _DissolveAlpha5; + float _DissolveAlpha6; + float _DissolveAlpha7; + float _DissolveAlpha8; + float _DissolveAlpha9; + + // Masking + float _DissolveEmissionSide; + float _DissolveEmission1Side; + float _DissolveUseVertexColors; + + float4 edgeColor; + float edgeAlpha; + float dissolveAlpha; + float4 dissolveToTexture; + //Globals + + + void calculateDissolve(inout float4 albedo, inout float3 dissolveEmission) + { + + float dissolveMask = POI2D_SAMPLER_PAN(_DissolveMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + + if (float(0)) + { + // Vertex Color Imprecision hype + dissolveMask = ceil(poiMesh.vertexColor.g * 100000) / 100000; + } + + dissolveToTexture = POI2D_SAMPLER_PAN(_DissolveToTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + float dissolveNoiseTexture = POI2D_SAMPLER_PAN(_DissolveNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + float da = float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0); + da = saturate(da); + + float dds = float(0.1); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskDissolve != 4) + { + dissolveMask *= blackLightMask[_BlackLightMaskDissolve]; + } + #endif + + if(float(0)) + { + dissolveMask = 1 - dissolveMask; + } + + float dissolveDetailNoise = POI2D_SAMPLER_PAN(_DissolveDetailNoise, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(0)) + { + dissolveNoiseTexture = 1 - dissolveNoiseTexture; + } + if(float(0)) + { + dissolveDetailNoise = 1 - dissolveDetailNoise; + } + if(float(0) != 0) + { + da = sin(_Time.y * float(0)) * .5 + .5; + } + da *= dissolveMask; + dissolveAlpha = da; + edgeAlpha = 0; + + + if(float(1) == 1) // Basic + { + da = remap(da, 0, 1, -float(0.025), 1); + dissolveAlpha = da; + //Adjust detail strength to avoid artifacts + dds *= smoothstep(1, .99, da); + float noise = saturate(dissolveNoiseTexture - dissolveDetailNoise * dds); + + noise = saturate(noise + 0.001); + //noise = remap(noise, 0, 1, float(0.025), 1 - float(0.025)); + dissolveAlpha = dissolveAlpha >= noise; + edgeAlpha = remapClamped(noise, da + float(0.025), da, 0, 1) * (1 - dissolveAlpha); + } + else if (float(1) == 2) // Point to Point + { + float3 direction; + float3 currentPos; + float distanceTo = 0; + direction = normalize(float4(0,1,0,0) - float4(0,-1,0,0)); + currentPos = lerp(float4(0,-1,0,0), float4(0,1,0,0), dissolveAlpha); + if (float(0) == 0) + { + distanceTo = dot(poiMesh.localPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + else + { + distanceTo = dot(poiMesh.worldPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + } + + albedo = lerp(albedo, dissolveToTexture, dissolveAlpha); + + + if(float(0.025)) + { + edgeColor = tex2D(_DissolveEdgeGradient, TRANSFORM_TEX(float2(edgeAlpha, edgeAlpha), _DissolveEdgeGradient)) * float4(1,1,1,1); + albedo.rgb = lerp(albedo.rgb, edgeColor.rgb, smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + dissolveEmission = lerp(0, dissolveToTexture * float(0), dissolveAlpha) + lerp(0, edgeColor.rgb * float(0), smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta new file mode 100644 index 00000000..5cdee29e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 561cefa1fcb59434b8821bcd3042fe3f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc new file mode 100644 index 00000000..91efad39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc @@ -0,0 +1,34 @@ +#ifndef POI_DITHERING + #define POI_DITHERING + fixed _DitheringEnabled; + fixed _DitherGradient; + + half calcDither(half2 grabPos) + { + half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8)); + return dither; + } + + #ifndef POI_SHADOW + void applyDithering(inout float4 finalColor) + { + + if (float(0)) + { + half dither = calcDither(poiCam.screenUV.xy); + finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1)); + } + } + #else + void applyShadowDithering(inout float alpha, float2 screenUV) + { + + if(float(0)) + { + half dither = calcDither(screenUV); + alpha = alpha - (dither * (1 - alpha) * float(0.1)); + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta new file mode 100644 index 00000000..5c1370f1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4180f0cbaa473d049a569f6de43f3436 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc new file mode 100644 index 00000000..cff31fe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc @@ -0,0 +1,240 @@ +#ifndef POI_EMISSION + #define POI_EMISSION + + float4 _EmissionColor; + POI_TEXTURE_NOSAMPLER(_EmissionMap); + POI_TEXTURE_NOSAMPLER(_EmissionMask); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve); float4 _EmissionScrollingCurve_ST; + float _EmissionBaseColorAsMap; + float _EmissionStrength; + float _EnableEmission; + float _EmissionHueShift; + float4 _EmissiveScroll_Direction; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissionBlinkingEnabled; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + float _EnableGITDEmission; + float _GITDEMinEmissionMultiplier; + float _GITDEMaxEmissionMultiplier; + float _GITDEMinLight; + float _GITDEMaxLight; + float _GITDEWorldOrMesh; + float _EmissionCenterOutEnabled; + float _EmissionCenterOutSpeed; + float _EmissionHueShiftEnabled; + float _EmissionBlinkingOffset; + float _EmissionScrollingOffset; + + float4 _EmissionColor1; + #ifdef EFFECT_HUE_VARIATION + POI_TEXTURE_NOSAMPLER(_EmissionMap1); + POI_TEXTURE_NOSAMPLER(_EmissionMask1); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve1); float4 _EmissionScrollingCurve1_ST; + #endif + float _EmissionBaseColorAsMap1; + float _EmissionStrength1; + float _EnableEmission1; + float _EmissionHueShift1; + float4 _EmissiveScroll_Direction1; + float _EmissiveScroll_Width1; + float _EmissiveScroll_Velocity1; + float _EmissiveScroll_Interval1; + float _EmissionBlinkingEnabled1; + float _EmissiveBlink_Min1; + float _EmissiveBlink_Max1; + float _EmissiveBlink_Velocity1; + float _ScrollingEmission1; + float _EnableGITDEmission1; + float _GITDEMinEmissionMultiplier1; + float _GITDEMaxEmissionMultiplier1; + float _GITDEMinLight1; + float _GITDEMaxLight1; + float _GITDEWorldOrMesh1; + float _EmissionCenterOutEnabled1; + float _EmissionCenterOutSpeed1; + float _EmissionHueShiftEnabled1; + float _EmissionBlinkingOffset1; + float _EmissionScrollingOffset1; + + float _EmissionReplace; + + float _EmissionScrollingVertexColor; + float _EmissionScrollingVertexColor1; + + float _EmissionScrollingUseCurve; + float _EmissionScrollingUseCurve1; + + float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled) + { + float glowInTheDarkMultiplier = 1; + + if (enabled) + { + #ifdef POI_LIGHTING + float3 lightValue = float(0) ? poiLight.finalLighting.rgb: poiLight.directLighting.rgb; + float gitdeAlpha = (clamp(poiMax(lightValue), minLight, maxLight) - minLight) / (maxLight - minLight); + glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); + #endif + } + return glowInTheDarkMultiplier; + } + + float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) + { + float phase = 0; + phase = dot(position, direction); + phase -= (_Time.y + offset) * velocity; + phase /= interval; + phase -= floor(phase); + phase = saturate(phase); + return(pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; + } + + float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) + { + float amplitude = (blinkMax - blinkMin) * 0.5f; + float base = blinkMin + amplitude; + return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; + } + + float3 calculateEmissionNew(in float4 baseColor, inout float4 finalColor) + { + // First Emission + float3 emission0 = 0; + float emissionStrength0 = float(0); + float3 emissionColor0 = 0; + + float glowInTheDarkMultiplier0 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + else + { + emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + + + if(float(0)) + { + float3 pos = poiMesh.localPos; + + if(float(0)) + { + pos = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve) + (dot(pos, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos); + } + } + + + if(float(0)) + { + emissionStrength0 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor0 = hueShift(emissionColor0, float(0) * float(0)); + float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask) + _Time.x * float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission != 4) + { + emissionMask0 *= blackLightMask[_BlackLightMaskEmission]; + } + #endif + + emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; + emission0 = emissionStrength0 * emissionColor0; + + #ifdef POI_DISSOLVE + + if(float(2) != 2) + { + emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + + // Second Emission + float3 emission1 = 0; + float emissionStrength1 = 0; + float3 emissionColor1 = 0; + + #ifdef EFFECT_HUE_VARIATION + emissionStrength1 = float(0); + float glowInTheDarkMultiplier1 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor1 = POI2D_SAMPLER_PAN(_EmissionMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + else + { + emissionColor1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap1, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)).rgb * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + + + if(float(0)) + { + float3 pos1 = poiMesh.localPos; + + if(float(0)) + { + pos1 = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength1 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve1) + (dot(pos1, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength1 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos1); + } + } + + if(float(0)) + { + emissionStrength1 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor1 = hueShift(emissionColor1, float(0) * float(0)); + float emissionMask1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask1) + _Time.x * float4(0,0,0,0)); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission2 != 4) + { + emissionMask1 *= blackLightMask[_BlackLightMaskEmission2]; + } + #endif + emissionStrength1 *= glowInTheDarkMultiplier1 * emissionMask1; + emission1 = emissionStrength1 * emissionColor1; + + #ifdef POI_DISSOLVE + if(float(2) != 2) + { + emission1 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + #endif + finalColor.rgb = lerp(finalColor.rgb, saturate(emissionColor0 + emissionColor1), saturate(emissionStrength0 + emissionStrength1) * float(0) * poiMax(emission0 + emission1)); + + return emission0 + emission1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta new file mode 100644 index 00000000..7676514e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bc492224d3476d44fbc2ec243e68c9eb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc new file mode 100644 index 00000000..1e9188ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc @@ -0,0 +1,43 @@ +#ifndef POI_ENVIRONMENTAL_RIM + #define POI_ENVIRONMENTAL_RIM + + //enviro rim + float _EnableEnvironmentalRim; + POI_TEXTURE_NOSAMPLER(_RimEnviroMask); + float _RimEnviroBlur; + float _RimEnviroMinBrightness; + float _RimEnviroWidth; + float _RimEnviroSharpness; + float _RimEnviroIntensity; + + float3 calculateEnvironmentalRimLighting(in float4 albedo) + { + float enviroRimAlpha = saturate(1 - smoothstep(min(float(0), float(0.45)), float(0.45), poiCam.viewDotNormal)); + float(0.7) *= 1.7 - 0.7 * float(0.7); + + float3 enviroRimColor = 0; + float interpolator = unity_SpecCube0_BoxMin.w; + + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + enviroRimColor = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + enviroRimColor = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + half enviroMask = poiMax(POI2D_SAMPLER_PAN(_RimEnviroMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb); + return lerp(0, max(0, (enviroRimColor - float(0)) * albedo.rgb), enviroRimAlpha).rgb * enviroMask * float(1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta new file mode 100644 index 00000000..b5a805c5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 49c03d45ddc25d44aa0325ae9fb59a0d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc new file mode 100644 index 00000000..0ed89b59 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc @@ -0,0 +1,153 @@ +#ifndef POI_FLIPBOOK + #define POI_FLIPBOOK + + UNITY_DECLARE_TEX2DARRAY(_FlipbookTexArray); float4 _FlipbookTexArray_ST; + float4 _FlipbookColor; + float _FlipbookFPS; + float _FlipbookTotalFrames; + float4 _FlipbookScaleOffset; + float _FlipbookTiled; + float _FlipbookCurrentFrame; + float _FlipbookEmissionStrength; + float _FlipbookRotation; + float _EnableFlipbook; + float _FlipbookTexArrayUV; + float _FlipbookAlphaControlsFinalAlpha; + float _FlipbookRotationSpeed; + float _FlipbookIntensityControlsAlpha; + float _FlipbookColorReplaces; + float2 _FlipbookTexArrayPan; + + // blending + float _FlipbookReplace; + float _FlipbookMultiply; + float _FlipbookAdd; + POI_TEXTURE_NOSAMPLER(_FlipbookMask); + + // anim + float _FlipbookMovementType; + float4 _FlipbookStartEndOffset; + float _FlipbookMovementSpeed; + + // Global + float4 flipBookPixel; + float4 flipBookPixelMultiply; + float flipBookMask; + + #ifndef POI_SHADOW + + void applyFlipbook(inout float4 finalColor, inout float3 flipbookEmission) + { + flipBookMask = POI2D_SAMPLER_PAN(_FlipbookMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float2 uv = frac(poiMesh.uv[float(0)]); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + // 2d rotation + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + if (float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipBookPixel = 0; + return; + } + } + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + flipBookPixel = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipBookPixel.a = poiMax(flipBookPixel.rgb); + } + + if(float(0)) + { + flipBookPixel.rgb = float4(1,1,1,1).rgb; + } + else + { + flipBookPixel.rgb *= float4(1,1,1,1).rgb; + } + + #ifdef POI_BLACKLIGHT + + if(_BlackLightMaskFlipbook != 4) + { + flipBookMask *= blackLightMask[_BlackLightMaskFlipbook]; + } + #endif + + finalColor.rgb = lerp(finalColor, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * float(1) * flipBookMask); + finalColor.rgb = finalColor + flipBookPixel.rgb * float(0) * flipBookMask; + finalColor.rgb = finalColor * lerp(1, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * flipBookMask * float(0)); + + + if(float(0)) + { + finalColor.a = lerp(finalColor.a, flipBookPixel.a * float4(1,1,1,1).a, flipBookMask); + } + flipbookEmission = lerp(0, flipBookPixel.rgb * float(0), flipBookPixel.a * float4(1,1,1,1).a * flipBookMask); + } + + #else + + float applyFlipbookAlphaToShadow(float2 uv) + { + + if(float(0)) + { + float flipbookShadowAlpha = 0; + + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float theta = radians(float(0)); + + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + half4 flipbookColor = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipbookColor.a = poiMax(flipbookColor.rgb); + } + + + if(float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipbookColor.a = 0; + } + } + return flipbookColor.a * float4(1,1,1,1).a; + } + return 1; + } + + #endif +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta new file mode 100644 index 00000000..c61fc2c3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 077c2e66114a05141aea3aef2d919b04 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc new file mode 100644 index 00000000..aa950e7d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc @@ -0,0 +1,376 @@ +#ifndef POIFRAG + #define POIFRAG + + float _MainEmissionStrength; + float _IgnoreFog; + half _GIEmissionMultiplier; + float _IridescenceTime; + float _AlphaToMask; + float _ForceOpaque; + float _commentIfZero_EnableGrabpass; + float _AlphaPremultiply; + float2 _MainTexPan; + float _MainTextureUV; + float _commentIfZero_LightingAdditiveEnable; + + float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target + { + #ifdef FORWARD_ADD_PASS + #if !defined(POI_LIGHTING) + return 0; + #endif + #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL) + return 0; + #endif + #endif + #ifdef FORWARD_ADD_PASS + + if (float(1) == 0) + { + return 0; + } + #endif + UNITY_SETUP_INSTANCE_ID(i); + // Color + float4 albedo = 1; + float4 finalColor = 1; + + // Lighting + float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication + float3 finalSpecular0 = 0; + float3 finalSpecular1 = 0; + float3 finalSSS = 0; + fixed lightingAlpha = 1; + float3 finalEnvironmentalRim = 0; + + // Emissions + float3 finalEmission = 0; + float3 finalLighting = 1; + float3 IridescenceEmission = 0; + float3 spawnInEmission = 0; + float3 voronoiEmission = 0; + float3 matcapEmission = 0; + float3 depthTouchEmission = 0; + float3 decalEmission = 0; + float3 glitterEmission = 0; + float3 panosphereEmission = 0; + float3 backFaceEmission = 0; + float3 dissolveEmission = 0; + float3 rimLightEmission = 0; + float3 flipbookEmission = 0; + float3 textOverlayEmission = 0; + float3 videoEmission = 0; + /********************************************************************** + Initialize the base data that's needed everywhere else in the shader + **********************************************************************/ + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + + #ifdef POI_BLACKLIGHT + createBlackLightMask(); + + if (_BlackLightMaskDebug) + { + return float4(blackLightMask.rgb, 1); + } + #endif + + // This has to happen in the initializbecause it alters UV data globally + #ifdef POI_PARALLAX + calculateandApplyParallax(); + #endif + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + calculateVertexLightingData(i); + /********************************************************************** + Calculate Light Maps + **********************************************************************/ + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + /********************************************************************** + Calculate Color Data + **********************************************************************/ + + initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask); + + #ifdef POI_DECAL + applyDecal(albedo, decalEmission); + #endif + + + #ifdef POI_IRIDESCENCE + + if (_IridescenceTime == 0) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VORONOI + applyVoronoi(albedo, voronoiEmission); + #endif + + #ifdef POI_MSDF + ApplyTextOverlayColor(albedo, textOverlayEmission); + #endif + + #ifdef POI_ENVIRONMENTAL_RIM + finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo); + #endif + + #if defined(POI_METAL) || defined(POI_CLEARCOAT) + CalculateReflectionData(); + #endif + + #ifdef POI_DATA + distanceFade(albedo); + #endif + + #ifdef POI_RANDOM + albedo.a *= i.angleAlpha; + #endif + + #ifdef MATCAP + applyMatcap(albedo, matcapEmission); + #endif + + #ifdef PANOSPHERE + applyPanosphereColor(albedo, panosphereEmission); + #endif + + #ifdef POI_FLIPBOOK + applyFlipbook(albedo, flipbookEmission); + #endif + + #ifdef POI_GLITTER + applyGlitter(albedo, glitterEmission); + #endif + + #ifdef POI_RIM + applyRimLighting(albedo, rimLightEmission); + #endif + + #ifdef POI_DEPTH_COLOR + applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection); + #endif + + #ifdef POI_IRIDESCENCE + + if(_IridescenceTime == 1) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VIDEO + applyScreenEffect(albedo, videoEmission); + #endif + + applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos); + + /********************************************************************** + Handle a few alpha options + **********************************************************************/ + + if (float(0) == 1) + { + + if(float(0) == 0) + { + applyDithering(albedo); + } + } + + albedo.a = max(float(0), albedo.a); + + + if(float(0) >= 1) + { + clip(albedo.a - float(0.5)); + } + + + if(float(0)) + { + albedo.rgb *= saturate(albedo.a + 0.0000000001); + } + + /********************************************************************** + Lighting Time :) + **********************************************************************/ + + #ifdef POI_LIGHTING + finalLighting = calculateFinalLighting(albedo.rgb, finalColor); + + #ifdef SUBSURFACE + finalSSS = calculateSubsurfaceScattering(); + #endif + #endif + + float4 finalColorBeforeLighting = albedo; + finalColor = finalColorBeforeLighting; + + #ifdef POI_SPECULAR + finalSpecular0 = calculateSpecular(finalColorBeforeLighting); + #endif + #ifdef POI_PARALLAX + calculateAndApplyInternalParallax(finalColor); + #endif + + #ifdef POI_ALPHA_TO_COVERAGE + ApplyAlphaToCoverage(finalColor); + #endif + + + if (float(0) == 1) + { + + if(float(0) == 1) + { + applyDithering(finalColor); + } + } + + #ifdef POI_METAL + calculateMetallicness(); + bool probeExists = shouldMetalHappenBeforeLighting(); + + if(!probeExists) + { + ApplyMetallicsFake(finalColor, albedo); + } + #endif + + #ifdef POI_LIGHTING + #if defined(FORWARD_ADD_PASS) && defined(POI_METAL) + finalLighting *= 1 - metalicMap; + #endif + #endif + + #ifdef VERTEXLIGHT_ON + finalColor.rgb *= finalLighting + poiLight.vFinalLighting; + #else + finalColor.rgb *= finalLighting; + #endif + + #ifdef POI_METAL + + if(probeExists) + { + ApplyMetallics(finalColor, albedo); + } + #endif + + finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS; + + #ifdef FORWARD_BASE_PASS + #ifdef POI_CLEARCOAT + calculateAndApplyClearCoat(finalColor); + #endif + #endif + + finalColor.a = saturate(finalColor.a); + + /********************************************************************** + Add Up all the emission values :D + **********************************************************************/ + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a; + finalEmission += wireframeEmission; + finalEmission += IridescenceEmission; + finalEmission += spawnInEmission; + finalEmission += voronoiEmission; + finalEmission += matcapEmission; + finalEmission += depthTouchEmission; + finalEmission += decalEmission; + finalEmission += glitterEmission; + finalEmission += panosphereEmission; + finalEmission += backFaceEmission; + finalEmission += rimLightEmission; + finalEmission += flipbookEmission; + finalEmission += videoEmission; + finalEmission += textOverlayEmission; + finalEmission += dissolveEmission; + #ifdef POI_EMISSION + finalEmission += calculateEmissionNew(finalColorBeforeLighting, finalColor); + #endif + #endif + + /********************************************************************** + Meta Pass Hype :D + **********************************************************************/ + #ifdef POI_META_PASS + UnityMetaInput meta; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta); + meta.Emission = finalEmission * float(1); + meta.Albedo = saturate(finalColor.rgb); + #ifdef POI_SPECULAR + meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a; + #else + meta.SpecularColor = poiLight.color.rgb * albedo.rgb; + #endif + return UnityMetaFragment(meta); + #endif + + /********************************************************************** + Apply Emission to finalColor + **********************************************************************/ + finalColor.rgb += finalEmission; + + /********************************************************************** + Grabpass features + **********************************************************************/ + + + if (_commentIfZero_EnableGrabpass) + { + applyGrabEffects(finalColor); + } + + /********************************************************************** + Unity Fog + **********************************************************************/ + #ifdef FORWARD_BASE_PASS + + if (float(0) == 0) + { + UNITY_APPLY_FOG(i.fogCoord, finalColor); + } + #endif + + #ifdef FORWARD_ADD_PASS + if(float(0) > 0) + { + finalColor.rgb *= finalColor.a; + } + #endif + + + if(float(0) == 0) + { + finalColor.a = 1; + } + + #ifdef FORWARD_ADD_PASS + //finalColor.rgb = smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5)); + #endif + + #ifdef POI_DEBUG + displayDebugInfo(finalColor); + #endif + + //finalColor.rgb = frac(finalColor.rgb); + return finalColor; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta new file mode 100644 index 00000000..3bfff032 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 89063df4d5e3e8e428682fb956a747e2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc new file mode 100644 index 00000000..8d260cdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc @@ -0,0 +1,41 @@ +#ifndef POI_FUR + #define POI_FUR + + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurTexture); float4 _FurTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurHeightMap); float4 _FurHeightMap_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurMask); float4 _FurMask_ST; + float _FurAO; + float4 _FurColor; + float _FurLayers; + float _FurMinDistance; + float _FurMaxDistance; + float _FurHeightMapMin; + float _FurHeightMapMax; + float _FurDebug; + float _AoRampMin; + float _AoRampMax; + float _FurTipAlpha; + float _FurFadeStart; + + //globals + half furHeightMap; + half furMask; + + void calculateFur() + { + + furHeightMap = UNITY_SAMPLE_TEX2D_SAMPLER(_FurHeightMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurHeightMap)).x; + furHeightMap = remap(furHeightMap, 0, _FurHeightMapMax, _FurHeightMapMin, 1); + furMask = poiMax(UNITY_SAMPLE_TEX2D_SAMPLER(_FurMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurMask)).xyz); + half3 furTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_FurTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurTexture)); + clip(furHeightMap - poiMesh.furAlpha); + clip(furMask - poiMesh.furAlpha); + + albedo.rgb = lerp(mainTexture.rgb, furTexture.rgb * _FurColor.rgb, ceil(poiMesh.furAlpha)); + float aoRampMax = _AoRampMax - (1 - furMask); + albedo.rgb *= lerp(1, smoothstep(_AoRampMin, aoRampMax, furHeightMap), _FurAO); + + albedo.a *= smoothstep(1.01, _FurTipAlpha, remapClamped(poiMesh.furAlpha, _FurFadeStart, 1, 0, 1)) + float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta new file mode 100644 index 00000000..f4e04068 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c531aec5e79143d499c403ad9f4f67af +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc new file mode 100644 index 00000000..032f3b08 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc @@ -0,0 +1,37 @@ +float _FurLength; +float _FurGravityStrength; + +[instance(4)] +[maxvertexcount(20)] +void geomFur(triangle v2f IN[3], inout TriangleStream < v2f > tristream, uint InstanceID : SV_GSInstanceID) +{ + float4 fur_worldPos[3]; + v2f o_fur[3]; + float3 offset = (float3(0, -1, 0) * (_FurLength*.9) *_FurGravityStrength); + + for (int i = 0; i < 3; i++) + { + if (InstanceID == 0) { + IN[i].furAlpha = 0; + tristream.Append(IN[i]); + } + o_fur[i] = IN[i]; + fur_worldPos[i] = float4(IN[i].worldPos + IN[i].normal * _FurLength, 1); + } + if (InstanceID == 0) { + tristream.RestartStrip(); + } + int Total_FurLayers = clamp(floor(_FurLayers * (1 - smoothstep(_FurMinDistance, _FurMaxDistance, distance(IN[0].worldPos, getCameraPosition())))), min(1, _FurLayers), _FurLayers); + + int startLayer = max(int(InstanceID) * 6 - 1, 0); + for (int layer = startLayer; layer < Total_FurLayers; layer++) { + for (int i = 0; i < 3; i++) { + o_fur[i].furAlpha = float(layer) / Total_FurLayers; + o_fur[i].worldPos = float4(lerp(IN[i].worldPos, fur_worldPos[i] + offset * o_fur[i].furAlpha, o_fur[i].furAlpha),1); + o_fur[i].pos = UnityWorldToClipPos(o_fur[i].worldPos); + o_fur[i].furAlpha += .01; + tristream.Append(o_fur[i]); + } + tristream.RestartStrip(); + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta new file mode 100644 index 00000000..e22533b9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1074f2d910de6b04b830b0c9f3fc368f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc new file mode 100644 index 00000000..e31b6498 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc @@ -0,0 +1,232 @@ +#ifndef POI_GLITTER + #define POI_GLITTER + + half3 _GlitterColor; + POI_TEXTURE_NOSAMPLER(_GlitterMask); + float2 _GlitterPan; + POI_TEXTURE_NOSAMPLER(_GlitterColorMap); + POI_TEXTURE_NOSAMPLER(_GlitterTexture); + half _GlitterSpeed; + half _GlitterBrightness; + float _GlitterFrequency; + float _GlitterJitter; + half _GlitterSize; + half _GlitterContrast; + half _GlitterAngleRange; + half _GlitterMinBrightness; + half _GlitterBias; + float _GlitterRandomColors; + float2 _GlitterMinMaxSaturation; + float2 _GlitterMinMaxBrightness; + fixed _GlitterUseSurfaceColor; + float _GlitterBlendType; + float _GlitterMode; + float _GlitterShape; + float _GlitterCenterSize; + float _glitterFrequencyLinearEmissive; + float _GlitterJaggyFix; + float _GlitterRandomRotation; + float _GlitterTextureRotation; + float4 _GlitterMinMaxSize; + float _GlitterRandomSize; + + + float3 randomFloat3(float2 Seed, float maximum) + { + return(.5 + float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) + ) * .5) * (maximum); + } + + float3 randomFloat3Range(float2 Seed, float Range) + { + return(float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1) * Range; + } + + float3 randomFloat3WiggleRange(float2 Seed, float Range) + { + float3 rando = (float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1); + float speed = 1 + float(10); + return float3(sin((_Time.x + rando.x * pi) * speed), sin((_Time.x + rando.y * pi) * speed), sin((_Time.x + rando.z * pi) * speed)) * Range; + } + + void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out) + { + float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233))) * 43758.5453); + Out = lerp(Min, Max, randomno); + } + + float3 RandomColorFromPoint(float2 rando) + { + fixed hue = random2(rando.x + rando.y).x; + fixed saturation = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.x); + fixed value = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.y); + float3 hsv = float3(hue, saturation, value); + return HSVtoRGB(hsv); + } + + void applyGlitter(inout float4 albedo, inout float3 glitterEmission) + { + + + // Scale + float2 st = poiMesh.uv[0] * float(300); + + // Tile the space + float2 i_st = floor(st); + float2 f_st = frac(st); + + float m_dist = 10.; // minimun distance + float2 m_point = 0; // minimum point + float2 randoPoint = 0; + float2 dank; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 neighbor = float2(i, j); + float2 pos = random2(i_st + neighbor); + float2 rando = pos; + pos = 0.5 + 0.5 * sin(float(1) * 6.2831 * pos); + float2 diff = neighbor + pos - f_st; + float dist = length(diff); + + if (dist < m_dist) + { + dank = diff; + m_dist = dist; + m_point = pos; + randoPoint = rando; + } + } + } + + float randomFromPoint = random(randoPoint); + + float size = float(0.3); + + if(float(0)) + { + size = remapClamped(randomFromPoint, 0, 1, float4(0.1,0.5,0,1).x, float4(0.1,0.5,0,1).y); + } + + + // Assign a color using the closest point position + //color += dot(m_point, float2(.3, .6)); + + // Add distance field to closest point center + // color.g = m_dist; + + // Show isolines + //color -= abs(sin(40.0 * m_dist)) * 0.07; + + // Draw cell center + half glitterAlpha = 1; + switch(float(0)) + { + case 0: //circle + glitterAlpha = (1. - step(size, m_dist)); + break; + case 1: //sqaure + float jaggyFix = pow(poiCam.distanceToVert, 2) * float(0); + + + if (float(0)) + { + float2 center = float2(0, 0); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + dank = float2((dank.x - center.x) * cs - (dank.y - center.y) * sn + center.x, (dank.x - center.x) * sn + (dank.y - center.y) * cs + center.y); + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + else + { + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + break; + } + + float3 finalGlitter = 0; + + switch(float(0)) + { + case 0: + float3 randomRotation = 0; + + if(float(10) > 0) + { + randomRotation = randomFloat3WiggleRange(randoPoint, float(90)); + } + else + { + randomRotation = randomFloat3Range(randoPoint, float(90)); + } + float3 norm = poiMesh.normals[0]; + + float3 glitterReflectionDirection = normalize(mul(poiRotationMatrixFromAngles(randomRotation), norm)); + finalGlitter = lerp(0, float(0) * glitterAlpha, glitterAlpha) + max(pow(saturate(dot(lerp(glitterReflectionDirection, poiCam.viewDir, float(0.8)), poiCam.viewDir)), float(300)), 0); + finalGlitter *= glitterAlpha; + break; + case 1: + float offset = random(randoPoint); + float brightness = sin((_Time.x + offset) * float(10)) * float(20) - (float(20) - 1); + finalGlitter = max(float(0) * glitterAlpha, brightness * glitterAlpha * smoothstep(0, 1, 1 - m_dist * float(0.08) * 10)); + break; + } + + + half3 glitterColor = float4(1,1,1,1); + glitterColor *= lerp(1, albedo, float(0)); + glitterColor *= POI2D_SAMPLER_PAN(_GlitterColorMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + + float2 uv = remapClamped(dank, -size, size, 0, 1); + + if(float(0) && !float(0)) + { + float2 fakeUVCenter = float2(.5, .5); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - fakeUVCenter.x) * cs - (uv.y - fakeUVCenter.y) * sn + fakeUVCenter.x, (uv.x - fakeUVCenter.x) * sn + (uv.y - fakeUVCenter.y) * cs + fakeUVCenter.y); + } + float4 glitterTexture = POI2D_SAMPLER_PAN(_GlitterTexture, _MainTex, uv, float4(0,0,0,0)); + //float4 glitterTexture = _GlitterTexture.SampleGrad(sampler_MainTex, frac(uv), ddx(uv), ddy(uv)); + glitterColor *= glitterTexture.rgb; + float glitterMask = POI2D_SAMPLER_PAN(_GlitterMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskGlitter != 4) + { + glitterMask *= blackLightMask[_BlackLightMaskGlitter]; + } + #endif + + if(float(0)) + { + glitterColor *= RandomColorFromPoint(random2(randoPoint.x + randoPoint.y)); + } + + + if(float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, finalGlitter * glitterColor * float(3), finalGlitter * glitterTexture.a * glitterMask); + glitterEmission = finalGlitter * glitterColor * max(0, (float(3) - 1) * glitterTexture.a) * glitterMask; + } + else + { + glitterEmission = finalGlitter * glitterColor * float(3) * glitterTexture.a * glitterMask; + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta new file mode 100644 index 00000000..3c2dd121 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ffc5da4040d6c4144a7447ef86119d2a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc new file mode 100644 index 00000000..060cb720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc @@ -0,0 +1,127 @@ +#ifndef POI_GRAB + #define POI_GRAB + + float _RefractionIndex; + float _RefractionOpacity; + float _RefractionChromaticAberattion; + float _RefractionEnabled; + float _GrabSrcBlend; + float _GrabDstBlend; + float _GrabPassUseAlpha; + float _GrabPassBlendFactor; + float _GrabBlurDistance; + float _GrabBlurQuality; + float _GrabBlurDirections; + POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap); + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RefractionOpacityMask); float4 _RefractionOpacityMask_ST; + + float4 blur(float2 uv) + { + float two_pi = 6.28318530718; + + float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur + float quality = floor(_GrabBlurQuality); + float directions = floor(_GrabBlurDirections); + + // Pixel colour + float4 color = tex2D(_PoiGrab, uv); + + float deltaAngle = two_pi / directions; + float deltaQuality = 1.0 / quality; + for (int i = 0; i < directions; i ++) + { + for (int j = 0; j < quality; j ++) + { + float angle = deltaAngle * i + j; + float offset = deltaQuality * (j + 1); + color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset); + } + } + + // Output to screen + color /= quality * directions + 1; + return color; + } + + inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos) + { + float4 refractionColor; + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos)); + float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0))) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir))); + float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x)); + + + if (_RefractionChromaticAberattion > 0) + { + float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction)); + float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g; + float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b; + refractionColor = float4(redAlpha.r, green, blue, redAlpha.a); + } + else + { + float2 refractedGrab = projectedGrabPos + cameraRefraction; + + #ifdef CHROMATIC_ABERRATION_LOW + refractionColor = blur(refractedGrab); + #else + refractionColor = tex2D(_PoiGrab, (refractedGrab)); + #endif + } + return refractionColor; + } + + void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor) + { + float3 refraction = 1; + + if(_RefractionEnabled == 1) + { + refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb; + } + else + { + #ifdef CHROMATIC_ABERRATION_LOW + refraction = blur(projectedGrabPos); + #else + refraction = tex2Dproj(_PoiGrab, poiCam.grabPos); + #endif + } + + float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r; + + if(_GrabPassUseAlpha) + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a)); + finalColor.a = 1; + } + else + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor); + } + } + + float2 calculateGrabPosition() + { + float4 grabPos = poiCam.grabPos; + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + float halfPosW = grabPos.w * 0.5; + grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW; + #if SHADER_API_D3D9 || SHADER_API_D3D11 + grabPos.w += 0.00000000001; + #endif + return(grabPos / grabPos.w).xy; + } + + void applyGrabEffects(inout float4 finalColor) + { + float2 projectedGrabPos = calculateGrabPosition(); + calculateRefraction(projectedGrabPos, finalColor); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta new file mode 100644 index 00000000..4be4f0b2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ddaa4416b380370469aa7564dcbad8ce +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc new file mode 100644 index 00000000..9ae9e754 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc @@ -0,0 +1,338 @@ +#ifndef POI_HELPER + #define POI_HELPER + + #include "CGI_PoiColors.cginc" + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float linearSin(float x) + { + return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0); + } + + float random(float2 p) + { + return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123); + } + + float2 random2(float2 p) + { + return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453); + } + + float3 random3(float3 p) + { + return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453); + } + + float3 mod(float3 x, float y) + { + return x - y * floor(x / y); + } + float2 mod(float2 x, float y) + { + return x - y * floor(x / y); + } + + //1/7 + #define K 0.142857142857 + //3/7 + #define Ko 0.428571428571 + + // Permutation polynomial: (34x^2 + x) mod 289 + float3 Permutation(float3 x) + { + return mod((34.0 * x + 1.0) * x, 289.0); + } + + bool IsInMirror() + { + return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; + } + + float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax) + { + #if UNITY_SPECCUBE_BOX_PROJECTION + + if (cubemapPosition.w > 0) + { + float3 factors = ((direction > 0 ? boxMax: boxMin) - position) / direction; + float scalar = min(min(factors.x, factors.y), factors.z); + direction = direction * scalar + (position - cubemapPosition); + } + #endif + return direction; + } + + // Camera + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + float3 grayscale_vector_node() + { + return float3(0, 0.3823529, 0.01845836); + } + + float3 grayscale_for_light() + { + return float3(0.298912, 0.586611, 0.114478); + } + + //Math Operators + + float remap(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float poiMax(float2 i) + { + return max(i.x, i.y); + } + + float poiMax(float3 i) + { + return max(max(i.x, i.y), i.z); + } + + float poiMax(float4 i) + { + return max(max(max(i.x, i.y), i.z), i.w); + } + + float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis) + { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, + 0.0, 0.0, 0.0, 1.0); + } + + float4x4 poiRotationMatrixFromAngles(float x, float y, float z) + { + float angleX = radians(x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + + float4x4 poiRotationMatrixFromAngles(float3 angles) + { + float angleX = radians(angles.x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(angles.y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(angles.z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + +#endif + +half2 calcScreenUVs(half4 grabPos) +{ + half2 uv = grabPos / (grabPos.w + 0.0000000001); + #if UNITY_SINGLE_PASS_STEREO + uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y); + #else + uv.xy *= _ScreenParams.xy; + #endif + + return uv; +} + +float inverseLerp(float A, float B, float T) +{ + return(T - A) / (B - A); +} + +float inverseLerp2(float2 a, float2 b, float2 value) +{ + float2 AB = b - a; + float2 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp3(float3 a, float3 b, float3 value) +{ + float3 AB = b - a; + float3 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp4(float4 a, float4 b, float4 value) +{ + float4 AB = b - a; + float4 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +// Dithering +inline half Dither8x8Bayer(int x, int y) +{ + const half dither[ 64 ] = { + 1, 49, 13, 61, 4, 52, 16, 64, + 33, 17, 45, 29, 36, 20, 48, 32, + 9, 57, 5, 53, 12, 60, 8, 56, + 41, 25, 37, 21, 44, 28, 40, 24, + 3, 51, 15, 63, 2, 50, 14, 62, + 35, 19, 47, 31, 34, 18, 46, 30, + 11, 59, 7, 55, 10, 58, 6, 54, + 43, 27, 39, 23, 42, 26, 38, 22 + }; + int r = y * 8 + x; + return dither[r] / 64; +} + +// UV Manipulation +float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv) +{ + float theta = radians(rotation); + scale = 1 - scale; + float cs = cos(theta); + float sn = sin(theta); + float2 centerPoint = offset + .5; + uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y); + + return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1)); +} + +bool isVR() +{ + // USING_STEREO_MATRICES + #if UNITY_SINGLE_PASS_STEREO + return true; + #else + return false; + #endif +} + +bool isVRHandCamera() +{ + return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005; +} + +bool isDesktop() +{ + return !isVRHandCamera(); +} + +bool isVRHandCameraPreview() +{ + return isVRHandCamera() && _ScreenParams.y == 720; +} + +bool isVRHandCameraPicture() +{ + return isVRHandCamera() && _ScreenParams.y == 1080; +} + +bool isPanorama() +{ + // Crude method + // FOV=90=camproj=[1][1] + return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025; +} + +float3 calculateluminance(float3 color) +{ + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta new file mode 100644 index 00000000..401cfb1c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1aa90e1ad76fd964faee1efcddcf4624 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc new file mode 100644 index 00000000..6ee66d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc @@ -0,0 +1,36 @@ +#ifndef POI_HOLOGRAM + #define POI_HOLOGRAM + + UNITY_DECLARE_TEX2D_NOSAMPLER(_HoloAlphaMap); float4 _HoloAlphaMap_ST; + float _HoloCoordinateSpace; // 0 World, 1 Local, 2 UV + float3 _HoloDirection; + float _HoloScrollSpeed; + float _HoloLineDensity; + + fixed _HoloFresnelAlpha; + fixed _HoloRimSharpness; + fixed _HoloRimWidth; + void ApplyHoloAlpha(inout float4 color) + { + float uv = 0; + + if (_HoloCoordinateSpace == 0) + { + uv = dot(normalize(_HoloDirection), poiMesh.worldPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 1) + { + uv = dot(normalize(_HoloDirection), poiMesh.localPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 2) + { + uv = dot(_HoloDirection, poiMesh.uv[0] * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + float holoRim = saturate(1 - smoothstep(min(_HoloRimSharpness, _HoloRimWidth), _HoloRimWidth, poiCam.viewDotNormal)); + holoRim = abs(lerp(1, holoRim, _HoloFresnelAlpha)); + color.a *= UNITY_SAMPLE_TEX2D_SAMPLER(_HoloAlphaMap, _MainTex, uv).r * holoRim; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta new file mode 100644 index 00000000..3dd5e294 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f8dca635898640549ba73166265fd399 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc new file mode 100644 index 00000000..bcea8ccc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc @@ -0,0 +1,61 @@ +#ifndef POI_IRIDESCENCE + #define POI_IRIDESCENCE + + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceRamp); float4 _IridescenceRamp_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceMask); float4 _IridescenceMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceNormalMap); float4 _IridescenceNormalMap_ST; + float _IridescenceNormalUV; + float _IridescenceMaskUV; + float _IridescenceNormalSelection; + float _IridescenceNormalIntensity; + float _IridescenceNormalToggle; + float _IridescenceIntensity; + fixed _IridescenceAddBlend; + fixed _IridescenceReplaceBlend; + fixed _IridescenceMultiplyBlend; + float _IridescenceEmissionStrength; + + //global + + float3 calculateNormal(float3 baseNormal) + { + float3 normal = UnpackScaleNormal(UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceNormalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceNormalUV], _IridescenceNormalMap)), _IridescenceNormalIntensity); + return normalize( + normal.x * poiMesh.tangent + + normal.y * poiMesh.binormal + + normal.z * baseNormal + ); + } + + void applyIridescence(inout float4 albedo, inout float3 IridescenceEmission) + { + float3 normal = poiMesh.normals[_IridescenceNormalSelection]; + + // Use custom normal map + + if (_IridescenceNormalToggle) + { + normal = calculateNormal(normal); + } + + float ndotv = dot(normal, poiCam.viewDir); + + float4 iridescenceColor = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceRamp, _MainTex, 1 - abs(ndotv)); + float4 iridescenceMask = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceMaskUV], _IridescenceMask)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskIridescence != 4) + { + iridescenceMask *= blackLightMask[_BlackLightMaskIridescence]; + } + #endif + + + albedo.rgb = lerp(albedo.rgb, saturate(iridescenceColor.rgb * _IridescenceIntensity), iridescenceColor.a * _IridescenceReplaceBlend * iridescenceMask); + albedo.rgb += saturate(iridescenceColor.rgb * _IridescenceIntensity * iridescenceColor.a * _IridescenceAddBlend * iridescenceMask); + albedo.rgb *= saturate(lerp(1, iridescenceColor.rgb * _IridescenceIntensity, iridescenceColor.a * _IridescenceMultiplyBlend * iridescenceMask)); + + IridescenceEmission = saturate(iridescenceColor.rgb * _IridescenceIntensity) * iridescenceColor.a * iridescenceMask * _IridescenceEmissionStrength; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta new file mode 100644 index 00000000..7f5c63dd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2ebb4ddadd7d6c5459d37168533a0de2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc new file mode 100644 index 00000000..8f35cb62 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc @@ -0,0 +1,668 @@ + +#ifndef POI_LIGHTING + #define POI_LIGHTING + + float _LightingShadingEnabled; + float _LightingRampType; + float _LightingIgnoreAmbientColor; + float _UseShadowTexture; + float _LightingEnableAO; + float _LightingDetailShadowsEnabled; + + float _LightingOnlyUnityShadows; + float _LightingMode; + float _ForceLightDirection; + float _ShadowStrength; + float _OutlineShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _CastedShadowSmoothing; + float _AttenuationMultiplier; + float _EnableLighting; + float _LightingControlledUseLightColor; + fixed _LightingStandardSmoothness; + fixed _LightingStandardControlsToon; + fixed _LightingMinLightBrightness; + float _LightingUseShadowRamp; + float _LightingMinShadowBrightnessRatio; + UNITY_DECLARE_TEX2D(_ToonRamp); + fixed _LightingMonochromatic; + + fixed _LightingGradientStart; + fixed _LightingGradientEnd; + float3 _LightingShadowColor; + POI_TEXTURE_NOSAMPLER(_LightingShadowTexture); + float _AOStrength; + fixed _LightingDetailStrength; + fixed _LightingAdditiveDetailStrength; + fixed _LightingNoIndirectMultiplier; + fixed _LightingNoIndirectThreshold; + float _LightingUncapped; + + float _LightingDirectColorMode; + float _LightingIndirectColorMode; + float _LightingAdditiveType; + fixed _LightingAdditiveGradientStart; + fixed _LightingAdditiveGradientEnd; + fixed _LightingAdditivePassthrough; + float _LightingDirectAdjustment; + float _LightingIndirect; + // HSL JUNK + float _LightingEnableHSL; + float _LightingShadowHue; + float _LightingShadowSaturation; + float _LightingShadowLightness; + float _LightingHSLIntensity; + /* + UNITY_DECLARE_TEX2D_NOSAMPLER(_ToonRamp3); + half _LightingShadowStrength3; + half _ShadowOffset3; + */ + + half4 shadowStrength; + + POI_TEXTURE_NOSAMPLER(_LightingDetailShadows); + POI_TEXTURE_NOSAMPLER(_LightingAOTex); + POI_TEXTURE_NOSAMPLER(_LightingShadowMask); + + /* + * MIT License + * + * Copyright (c) 2018 s-ilent + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + /* + * Silent's code starts here + */ + + float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n) + { + // average energy + float R0 = max(0, L0); + + // avg direction of incoming light + float3 R1 = 0.5f * L1; + + // directional brightness + float lenR1 = length(R1); + + // linear angle between normal and direction 0-1 + //float q = 0.5f * (1.0f + dot(R1 / lenR1, n)); + //float q = dot(R1 / lenR1, n) * 0.5 + 0.5; + float q = dot(normalize(R1), n) * 0.5 + 0.5; + q = saturate(q); // Thanks to ScruffyRuffles for the bug identity. + + // power for q + // lerps from 1 (linear) to 3 (cubic) based on directionality + float p = 1.0f + 2.0f * lenR1 / R0; + + // dynamic range constant + // should vary between 4 (highly directional) and 0 (ambient) + float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0); + + return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p)); + } + + half3 BetterSH9(half4 normal) + { + float3 indirect; + float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0; + indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal); + indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal); + indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal); + indirect = max(0, indirect); + indirect += SHEvalLinearL2(normal); + return indirect; + } + + float3 BetterSH9(float3 normal) + { + return BetterSH9(float4(normal, 1)); + } + + /* + * Standard stuff starts here + */ + UnityLight CreateLight(float3 normal, fixed detailShadowMap) + { + UnityLight light; + light.dir = poiLight.direction; + light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap); + light.ndotl = DotClamped(normal, poiLight.direction); + return light; + } + + float FadeShadows(float attenuation) + { + #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + // UNITY_LIGHT_ATTENUATION doesn't fade shadows for us. + + #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + attenuation = lerp(1, poiLight.attenuation, float(0)); + #endif + + float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); + float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ); + float shadowFade = UnityComputeShadowFade(shadowFadeDistance); + float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); + attenuation = UnityMixRealtimeAndBakedShadows( + attenuation, bakedAttenuation, shadowFade + ); + #endif + + return attenuation; + } + + void ApplySubtractiveLighting(inout UnityIndirect indirectLight) + { + #if SUBTRACTIVE_LIGHTING + poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0))); + + float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz)); + float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb; + float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate; + subtractedLight = max(subtractedLight, unity_ShadowColor.rgb); + subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x); + indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse); + #endif + } + + float3 weightedBlend(float3 layer1, float3 layer2, float2 weights) + { + return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y); + } + + UnityIndirect CreateIndirectLight(float3 normal) + { + UnityIndirect indirectLight; + indirectLight.diffuse = 0; + indirectLight.specular = 0; + + #if defined(FORWARD_BASE_PASS) + #if defined(LIGHTMAP_ON) + indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy)); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy + ); + indirectLight.diffuse = DecodeDirectionalLightmap( + indirectLight.diffuse, lightmapDirection, normal + ); + #endif + ApplySubtractiveLighting(indirectLight); + #endif + + #if defined(DYNAMICLIGHTMAP_ON) + float3 dynamicLightDiffuse = DecodeRealtimeLightmap( + UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw) + ); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_DynamicDirectionality, unity_DynamicLightmap, + poiMesh.lightmapUV.zw + ); + indirectLight.diffuse += DecodeDirectionalLightmap( + dynamicLightDiffuse, dynamicLightmapDirection, normal + ); + #else + indirectLight.diffuse += dynamicLightDiffuse; + #endif + #endif + + #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON) + #if UNITY_LIGHT_PROBE_PROXY_VOLUME + if (unity_ProbeVolumeParams.x == 1) + { + indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume( + float4(normal, 1), poiMesh.worldPos + ); + indirectLight.diffuse = max(0, indirectLight.diffuse); + #if defined(UNITY_COLORSPACE_GAMMA) + indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse); + #endif + } + else + { + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + } + #else + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + #endif + #endif + + float3 reflectionDir = reflect(-poiCam.viewDir, normal); + Unity_GlossyEnvironmentData envData; + envData.roughness = 1 - float(0); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + #if UNITY_SPECCUBE_BLENDING + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + indirectLight.specular = lerp(probe1, probe0, interpolator); + } + else + { + indirectLight.specular = probe0; + } + #else + indirectLight.specular = probe0; + #endif + float occlusion = 1; + + if(float(0)) + { + occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + } + + indirectLight.diffuse *= occlusion; + indirectLight.diffuse = max(indirectLight.diffuse, float(0)); + indirectLight.specular *= occlusion; + #endif + + return indirectLight; + } + + /* + * Poiyomi's cool as heck code starts here :smug: + */ + + half PoiDiffuse(half NdotV, half NdotL, half LdotH) + { + half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5); + // Two schlick fresnel term + half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL)); + half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV)); + + return lightScatter * viewScatter; + } + + float3 ShadeSH9Indirect() + { + return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Direct() + { + return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Normal(float3 normalDirection) + { + return ShadeSH9(half4(normalDirection, 1.0)); + } + + half3 GetSHLength() + { + half3 x, x1; + x.r = length(unity_SHAr); + x.g = length(unity_SHAg); + x.b = length(unity_SHAb); + x1.r = length(unity_SHBr); + x1.g = length(unity_SHBg); + x1.b = length(unity_SHBb); + return x + x1; + } + + float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap) + { + return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])); + } + + void calculateBasePassLightMaps() + { + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + float AOMap = 1; + float AOStrength = 1; + float3 lightColor = poiLight.color; + /* + * Generate Basic Light Maps + */ + + bool lightExists = false; + if (all(_LightColor0.rgb >= 0.002)) + { + lightExists = true; + } + #ifndef OUTLINE + + if(float(0)) + { + AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + AOStrength = float(1); + } + + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + if (lightExists) + { + lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + } + else + { + lightColor = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + } + + //lightColor = magic * magiratio + normalLight * normaRatio; + //lightColor = magic + normalLight; + #endif + #endif + + float3 grayscale_vector = float3(.33333, .33333, .33333); + float3 ShadeSH9Plus = GetSHLength(); + float3 ShadeSH9Minus = BetterSH9(float4(0, 0, 0, 1)); + + shadowStrength = 1; + #ifndef OUTLINE + shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(1); + #else + shadowStrength = float(1); + #endif + + float bw_lightColor = dot(lightColor, grayscale_vector); + float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector)); + float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector); + float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector); + float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); + + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(0)) + { + poiLight.lightMap = poiLight.attenuation; + } + else + { + poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); + } + poiLight.lightMap *= detailShadow; + + /* + * Decide on light colors + */ + + float3 indirectLighting = 0; + float3 directLighting = 0; + + + + + if (float(0) == 1) + { + indirectLighting = BetterSH9(float4(poiMesh.normals[0], 1)); + } + else + { + indirectLighting = ShadeSH9Minus; + } + + poiLight.directLighting = lightColor; + poiLight.indirectLighting = indirectLighting; + + + if(float(0) == 0) + { + float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + + float magiLumi = calculateluminance(magic); + float normaLumi = calculateluminance(normalLight); + float maginormalumi = magiLumi + normaLumi; + + float magiratio = magiLumi / maginormalumi; + float normaRatio = normaLumi / maginormalumi; + + float target = calculateluminance(magic * magiratio + normalLight * normaRatio); + float3 properLightColor = magic + normalLight; + float properLuminance = calculateluminance(magic + normalLight); + directLighting = properLightColor * max(0.0001, (target / properLuminance)); + } + else + { + directLighting = lightColor; + } + + + if(!float(0)) + { + float directluminance = calculateluminance(directLighting); + float indirectluminance = calculateluminance(indirectLighting); + directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1))); + indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1))); + } + + directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0)); + indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0)); + + if(max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0) + { + indirectLighting = directLighting * _LightingNoIndirectMultiplier; + } + + + if(float(0)) + { + float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1); + if(directluminance > 0) + { + indirectLighting = max(0.001, indirectLighting); + } + float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1); + float targetluminance = directluminance * float(0); + if(indirectluminance < targetluminance) + { + indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance); + } + } + + /* + * Create Shade Maps + */ + + if (float(0)) + { + switch(float(0)) + { + case 0: // Ramp Texture + { + poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)), shadowStrength.r); + + if (float(0)) + { + poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + else + { + poiLight.finalLighting = lerp(indirectLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + } + break; + case 1: // Math Gradient + { + poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)); + float3 shadowColor = float4(1,1,1,1); + + if (float(0)) + { + shadowColor = 1; + } + + if(float(0)) + { + poiLight.finalLighting = lerp((directLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + else + { + poiLight.finalLighting = lerp((indirectLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + } + break; + } + } + else + { + poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap); + poiLight.finalLighting = directLighting; + } + + if(!float(0)) + { + poiLight.finalLighting = saturate(poiLight.finalLighting); + } + //poiLight.finalLighting *= .8; + #endif + } + + void applyShadowTexture(inout float4 albedo) + { + + if (float(0) && float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, POI2D_SAMPLER_PAN(_LightingShadowTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1), (1 - poiLight.rampedLightMap) * shadowStrength); + } + } + + float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL) + { + fixed detailShadow = 1; + + if(float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + return lightColor * attenuationDotNL * detailShadow; + } + else + { + return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow; + } + } + + + float3 calculateFinalLighting(inout float3 albedo, float4 finalColor) + { + float3 finalLighting = 1; + // Additive Lighting + #ifdef FORWARD_ADD_PASS + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow; + } + else + { + #if defined(POINT) || defined(SPOT) + finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow; + #else + finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow; + #endif + } + #endif + + // Base and Meta Lighting + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + #ifdef VERTEXLIGHT_ON + poiLight.vFinalLighting = 0; + + for (int index = 0; index < 4; index ++) + { + poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vCorrectedDotNL[index]); + } + #endif + + switch(float(0)) + { + case 0: // Toon Lighting + { + // HSL Shading + + if (float(0)) + { + float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap); + albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1)); + } + + // Normal Shading + + if (float(0) > 0) + { + poiLight.finalLighting = max(0.001, poiLight.finalLighting); + float finalluminance = calculateluminance(poiLight.finalLighting); + finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0)))); + } + else + { + finalLighting = poiLight.finalLighting; + } + } + break; + case 1: // realistic + { + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb; + finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0)); + } + break; + } + #endif + return finalLighting; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta new file mode 100644 index 00000000..0f0c562d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3fd29823e0281d447962d10603c2afb9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc new file mode 100644 index 00000000..c23736df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc @@ -0,0 +1,243 @@ +#ifndef POI_MSDF + #define POI_MSDF + + sampler2D _TextGlyphs; + float4 _TextGlyphs_ST; + float4 _TextGlyphs_TexelSize; + float _TextFPSUV; + float _TextTimeUV; + float _TextPositionUV; + float _TextPixelRange; + + float _TextFPSEnabled; + float _TextPositionEnabled; + float _TextTimeEnabled; + + + float4 _TextFPSColor; + half _TextFPSEmissionStrength; + fixed4 _TextFPSPadding; + half2 _TextFPSOffset; + half2 _TextFPSScale; + half _TextFPSRotation; + + fixed _TextPositionVertical; + float4 _TextPositionColor; + half _TextPositionEmissionStrength; + fixed4 _TextPositionPadding; + half2 _TextPositionOffset; + half2 _TextPositionScale; + half _TextPositionRotation; + + float4 _TextTimeColor; + half _TextTimeEmissionStrength; + fixed4 _TextTimePadding; + half2 _TextTimeOffset; + half2 _TextTimeScale; + half _TextTimeRotation; + + #define glyphWidth 0.0625 + + #define ASCII_LEFT_PARENTHESIS 40 + #define ASCII_RIGHT_PARENTHESIS 41 + #define ASCII_POSITIVE 43 + #define ASCII_PERIOD 46 + #define ASCII_NEGATIVE 45 + #define ASCII_COMMA 44 + #define ASCII_E 69 + #define ASCII_F 70 + #define ASCII_I 73 + #define ASCII_M 77 + #define ASCII_O 79 + #define ASCII_P 80 + #define ASCII_S 83 + #define ASCII_T 54 + #define ASCII_SEMICOLON 58 + + float3 globalTextEmission; + + half2 getAsciiCoordinate(float index) + { + return half2((index - 1) / 16, 1 - ((floor(index / 16 - glyphWidth)) / 16)); + } + + float median(float r, float g, float b) + { + return max(min(r, g), min(max(r, g), b)); + } + + void ApplyPositionText(inout float4 albedo, float2 uv) + { + float3 cameraPos = clamp(getCameraPosition(), -999, 999); + float3 absCameraPos = abs(cameraPos); + float totalCharacters = 20; + float positionArray[20]; + positionArray[0] = cameraPos.x >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[1] = floor((absCameraPos.x * .01) % 10) + 48; + positionArray[2] = floor((absCameraPos.x * .1) % 10) + 48; + positionArray[3] = floor(absCameraPos.x % 10) + 48; + positionArray[4] = ASCII_PERIOD; + positionArray[5] = floor((absCameraPos.x * 10) % 10) + 48; + positionArray[6] = ASCII_COMMA; + positionArray[7] = cameraPos.y >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[8] = floor((absCameraPos.y * .01) % 10) + 48; + positionArray[9] = floor((absCameraPos.y * .1) % 10) + 48; + positionArray[10] = floor(absCameraPos.y % 10) + 48; + positionArray[11] = ASCII_PERIOD; + positionArray[12] = floor((absCameraPos.y * 10) % 10) + 48; + positionArray[13] = ASCII_COMMA; + positionArray[14] = cameraPos.z >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[15] = floor((absCameraPos.z * .01) % 10) + 48; + positionArray[16] = floor((absCameraPos.z * .1) % 10) + 48; + positionArray[17] = floor(absCameraPos.z % 10) + 48; + positionArray[18] = ASCII_PERIOD; + positionArray[19] = floor((absCameraPos.z * 10) % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if (uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(positionArray[currentCharacter]); + + float2 startUV = float2(1 / totalCharacters * currentCharacter, 0); + float2 endUV = float2(1 / totalCharacters * (currentCharacter + 1), 1); + + fixed4 textPositionPadding = float4(0,0,0,0); + textPositionPadding *= 1 / totalCharacters; + uv = remapClamped(uv, startUV, endUV, float2(glyphPos.x + textPositionPadding.x, glyphPos.y - glyphWidth + textPositionPadding.y), float2(glyphPos.x + glyphWidth - textPositionPadding.z, glyphPos.y - textPositionPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textPositionPadding.z - .001 || uv.x < glyphPos.x + textPositionPadding.x + .001 || uv.y > glyphPos.y - textPositionPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textPositionPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyTimeText(inout float4 albedo, float2 uv) + { + float instanceTime = _Time.y; + float hours = instanceTime / 3600; + float minutes = (instanceTime / 60) % 60; + float seconds = instanceTime % 60; + float totalCharacters = 8; + float timeArray[8]; + timeArray[0] = floor((hours * .1) % 10) + 48; + timeArray[1] = floor(hours % 10) + 48; + timeArray[2] = ASCII_SEMICOLON; + timeArray[3] = floor((minutes * .1) % 10) + 48; + timeArray[4] = floor(minutes % 10) + 48; + timeArray[5] = ASCII_SEMICOLON; + timeArray[6] = floor((seconds * .1) % 10) + 48; + timeArray[7] = floor(seconds % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(timeArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + fixed4 textTimePadding = float4(0,0,0,0); + textTimePadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textTimePadding.x, glyphPos.y - glyphWidth + textTimePadding.y), float2(glyphPos.x + glyphWidth - textTimePadding.z, glyphPos.y - textTimePadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textTimePadding.z - .001 || uv.x < glyphPos.x + textTimePadding.x + .001 || uv.y > glyphPos.y - textTimePadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textTimePadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyFPSText(inout float4 albedo, float2 uv) + { + float smoothDeltaTime = clamp(unity_DeltaTime.w, 0, 999); + float totalCharacters = 7; + float fpsArray[7]; + fpsArray[0] = ASCII_F; + fpsArray[1] = ASCII_P; + fpsArray[2] = ASCII_S; + fpsArray[3] = ASCII_SEMICOLON; + fpsArray[4] = floor((smoothDeltaTime * .01) % 10) + 48; + fpsArray[5] = floor((smoothDeltaTime * .1) % 10) + 48; + fpsArray[6] = floor(smoothDeltaTime % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(fpsArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + + fixed4 textFPSPadding = float4(0,0,0,0); + textFPSPadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textFPSPadding.x, glyphPos.y - glyphWidth + textFPSPadding.y), float2(glyphPos.x + glyphWidth - textFPSPadding.z, glyphPos.y - textFPSPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textFPSPadding.z - .001 || uv.x < glyphPos.x + textFPSPadding.x + .001 || uv.y > glyphPos.y - textFPSPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textFPSPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,1,1,1).rgb, opacity * float4(1,1,1,1).a); + globalTextEmission += float4(1,1,1,1).rgb * opacity * float(0); + } + + void ApplyTextOverlayColor(inout float4 albedo, inout float3 textOverlayEmission) + { + globalTextEmission = 0; + half positionalOpacity = 0; + #ifdef EFFECT_BUMP + + if(float(0)) + { + ApplyFPSText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyPositionText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyTimeText(albedo, poiMesh.uv[float(0)]); + } + + textOverlayEmission = globalTextEmission; + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta new file mode 100644 index 00000000..a1e72793 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 305531868e7ddc44c917c341297bd575 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc new file mode 100644 index 00000000..ecac0805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc @@ -0,0 +1,33 @@ +#ifndef POI_MACROS + #define POI_MACROS + + #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale + + #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex))) + #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + + #ifdef POINT + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; + #endif + + #ifdef SPOT + #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)) + #else + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord + #endif + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + DECLARE_LIGHT_COORD(input, worldPos); \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta new file mode 100644 index 00000000..34af35d1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 56ef93d245e97024298bdd2d213f75e9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc new file mode 100644 index 00000000..270384af --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc @@ -0,0 +1,147 @@ +#ifndef POI_MAINTEXTURE + #define POI_MAINTEXTURE + + + + POI_TEXTURE_NOSAMPLER(_AlphaMask); + POI_TEXTURE_NOSAMPLER(_MainFadeTexture); + float4 _Color; + float _MainVertexColoring; + float _MainUseVertexColorAlpha; + float _Saturation; + float2 _MainDistanceFade; + half _MainMinAlpha; + float _MainHueShift; + #ifdef COLOR_GRADING_HDR + POI_TEXTURE_NOSAMPLER(_MainHueShiftMask); + float _MainHueShiftToggle; + float _MainHueShiftSpeed; + float _MainHueShiftReplace; + #endif + + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailTex); + half _DetailTexIntensity; + half3 _DetailTint; + float _DetailBrightness; + #endif + //globals + float alphaMask; + half3 diffColor; + + #include "CGI_PoiBackFace.cginc" + + float3 wireframeEmission; + + inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo) + { + half4 specGloss = 0; + half3 specColor = specGloss.rgb; + half smoothness = specGloss.a; + + half oneMinusReflectivity; + diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specColor, /*out*/ oneMinusReflectivity); + + FragmentCommonData o = (FragmentCommonData)0; + o.diffColor = diffColor; + o.specColor = specColor; + o.oneMinusReflectivity = oneMinusReflectivity; + o.smoothness = smoothness; + return o; + } + + inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo) + { + i_tex = i_tex; + + FragmentCommonData o = SpecularSetup(i_tex, albedo); + o.normalWorld = float4(0, 0, 0, 1); + o.eyeVec = poiCam.viewDir; + o.posWorld = i_posWorld; + + // NOTE: shader relies on pre-multiply alpha-blend (float(1) = One, float(0) = OneMinusSrcAlpha) + o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha); + return o; + } + + void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask) + { + dissolveEmission = 0; + + #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + #endif + + alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + mainTexture.a *= alphaMask; + + #ifndef POI_SHADOW + albedo = float4(lerp(mainTexture.rgb, dot(mainTexture.rgb, float3(0.3, 0.59, 0.11)), -float(0)) * max(float4(1,1,1,1).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, GammaToLinearSpace(poiMesh.vertexColor.rgb), float(0)), mainTexture.a * max(float4(1,1,1,1).a, 0.0000001)); + + #ifdef POI_LIGHTING + applyShadowTexture(albedo); + #endif + + albedo *= lerp(1, poiMesh.vertexColor.a, float(0)); + #ifdef POI_RGBMASK + albedo.rgb = calculateRGBMask(albedo.rgb); + #endif + + albedo.a = saturate(float(0) + albedo.a); + + wireframeEmission = 0; + #ifdef POI_WIREFRAME + applyWireframe(wireframeEmission, albedo); + #endif + float backFaceDetailIntensity = 1; + + float mixedHueShift = float(0); + applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission); + + #ifdef POI_FUR + calculateFur(); + #endif + + #ifdef COLOR_GRADING_HDR + float hueShiftAlpha = POI2D_SAMPLER_PAN(_MainHueShiftMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if(float(1)) + { + albedo.rgb = lerp(albedo.rgb, hueShift(albedo.rgb, mixedHueShift + float(0) * _Time.x), hueShiftAlpha); + } + else + { + albedo.rgb = hueShift(albedo.rgb, frac((mixedHueShift - (1 - hueShiftAlpha) + float(0) * _Time.x))); + } + #endif + #ifdef FINALPASS + half3 detailTexture = POI2D_SAMPLER_PAN(_DetailTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb * float4(1,1,1,1).rgb; + albedo.rgb *= LerpWhiteTo(detailTexture * float(1) * unity_ColorSpaceDouble.rgb, detailMask.r * float(1) * backFaceDetailIntensity); + #endif + albedo.rgb = saturate(albedo.rgb); + + #ifdef POI_HOLOGRAM + ApplyHoloAlpha(albedo); + #endif + + s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo); + #endif + + #ifdef DISTORT + calculateDissolve(albedo, dissolveEmission); + #endif + } + + void distanceFade(inout float4 albedo) + { + half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(fadeMap) + { + half fadeValue = max(smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, poiCam.distanceToVert), float(0)); + albedo.a *= fadeValue; + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta new file mode 100644 index 00000000..b6eb3309 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7b9352bfdbfa35648bd0b39352c184a5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc new file mode 100644 index 00000000..3aa6d6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc @@ -0,0 +1,115 @@ +#ifndef MATCAP + #define MATCAP + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap); float4 _Matcap_ST; + POI_TEXTURE_NOSAMPLER(_MatcapMask); + float _MatcapMaskInvert; + float _MatcapBorder; + float4 _MatcapColor; + float _MatcapIntensity; + float _MatcapReplace; + float _MatcapMultiply; + float _MatcapAdd; + float _MatcapEnable; + float _MatcapLightMask; + float _MatcapEmissionStrength; + float _MatcapNormal; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap2);float4 _Matcap2_ST; + POI_TEXTURE_NOSAMPLER(_Matcap2Mask); + float _Matcap2MaskInvert; + float _Matcap2Border; + float4 _Matcap2Color; + float _Matcap2Intensity; + float _Matcap2Replace; + float _Matcap2Multiply; + float _Matcap2Add; + float _Matcap2Enable; + float _Matcap2LightMask; + float _Matcap2EmissionStrength; + float _Matcap2Normal; + + void blendMatcap(inout float4 finalColor, float add, float multiply, float replace, float4 matcapColor, float matcapMask, inout float3 matcapEmission, float emissionStrength + #ifdef POI_LIGHTING + , float matcapLightMask + #endif + #ifdef POI_BLACKLIGHT + , uint blackLightMaskIndex + #endif + ) + { + #ifdef POI_LIGHTING + if (matcapLightMask) + { + matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); + } + #endif + #ifdef POI_BLACKLIGHT + if(blackLightMaskIndex != 4) + { + matcapMask *= blackLightMask[blackLightMaskIndex]; + } + #endif + + finalColor.rgb = lerp(finalColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a); + finalColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); + finalColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; + matcapEmission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; + } + + void applyMatcap(inout float4 finalColor, inout float3 matcapEmission) + { + float4 matcap = 0; + float matcapMask = 0; + float4 matcap2 = 0; + float matcap2Mask = 0; + + // Both matcaps use the same coordinates + half3 worldViewUp = normalize(half3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); + + // Matcap 1 + half2 matcapUV = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + + matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(1,1,1,1); + matcap.rgb *= float(1); + matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if (float(0)) + { + matcapMask = 1 - matcapMask; + } + + blendMatcap(finalColor, float(0), float(0), float(1), matcap, matcapMask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap + #endif + ); + + // Matcap 2 + + if (float(0)) + { + half2 matcapUV2 = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + matcap2 = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap2, _MainTex, TRANSFORM_TEX(matcapUV2, _Matcap2)) * float4(1,1,1,1); + matcap2.rgb *= float(1); + matcap2Mask = POI2D_SAMPLER_PAN(_Matcap2Mask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(float(0)) + { + matcap2Mask = 1 - matcap2Mask; + } + blendMatcap(finalColor, float(0), float(0), float(0), matcap2, matcap2Mask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap2 + #endif + ); + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta new file mode 100644 index 00000000..7b37fb5a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d55fa405416f8f64bb390abfa2b6cdf5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc new file mode 100644 index 00000000..b2d07a38 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc @@ -0,0 +1,104 @@ +/* +MIT License + +Copyright (c) 2019 wraikny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +VertexTransformShader is dependent on: +*/ + +#ifndef POI_MATH + #define POI_MATH + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float4 quaternion_conjugate(float4 v) + { + return float4( + v.x, -v.yzw + ); + } + + float4 quaternion_mul(float4 v1, float4 v2) + { + float4 result1 = (v1.x * v2 + v1 * v2.x); + + float4 result2 = float4( + - dot(v1.yzw, v2.yzw), + cross(v1.yzw, v2.yzw) + ); + + return float4(result1 + result2); + } + + // angle : radians + float4 get_quaternion_from_angle(float3 axis, float angle) + { + return float4( + cos(angle / 2.0), + normalize(axis) * sin(angle / 2.0) + ); + } + + float4 quaternion_from_vector(float3 inVec) + { + return float4(0.0, inVec); + } + + float degree_to_radius(float degree) + { + return( + degree / 180.0 * pi + ); + } + + float3 rotate_with_quaternion(float3 inVec, float3 rotation) + { + float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x)); + float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y)); + float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z)); + + #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C)) + float4 quaternion = normalize(MUL3(qx, qy, qz)); + float4 conjugate = quaternion_conjugate(quaternion); + + float4 inVecQ = quaternion_from_vector(inVec); + + float3 rotated = ( + MUL3(quaternion, inVecQ, conjugate) + ).yzw; + + return rotated; + } + + float4 transform(float4 input, float4 pos, float4 rotation, float4 scale) + { + input.rgb *= (scale.xyz * scale.w); + input = float4( + rotate_with_quaternion(input.xyz, rotation.xyz * rotation.w) + + (pos.xyz * pos.w), + input.w + ); + return input; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta new file mode 100644 index 00000000..bdee464a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 34a7598801692e64593419e4c14621d9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc new file mode 100644 index 00000000..916f65eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc @@ -0,0 +1,130 @@ +#ifndef POI_METAL + #define POI_METAL + + samplerCUBE _CubeMap; + float _SampleWorld; + POI_TEXTURE_NOSAMPLER(_MetallicMask); + POI_TEXTURE_NOSAMPLER(_SmoothnessMask); + float _Metallic; + float _InvertSmoothness; + float _Smoothness; + float _EnableMetallic; + float3 _MetalReflectionTint; + POI_TEXTURE_NOSAMPLER(_MetallicTintMap); + + float3 finalreflections; + float metalicMap; + float3 reflection; + float roughness; + float lighty_boy_uwu_var; + + bool shouldMetalHappenBeforeLighting() + { + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool probeExists = !(unity_SpecCube0_HDR.a == 0 && envSample.a == 0); + return probeExists && !float(0); + } + + float3 fresnelRelflection(in float4 albedo) + { + half3 dotNV = 1 - abs(poiLight.nDotV); + half f = dotNV * dotNV * dotNV * dotNV; + //f *= i_sold.fresnel; + return lerp(lerp(DielectricSpec.rgb, albedo.rgb, metalicMap), saturate(1 - roughness + metalicMap), f); + } + + void calculateMetallicness() + { + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + } + + void ApplyMetallics(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflection = lerp(probe1, probe0, interpolator); + } + else + { + reflection = probe0; + } + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } + + void ApplyMetallicsFake(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + reflection = texCUBElod(_CubeMap, float4(poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta new file mode 100644 index 00000000..264157ea --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 90b0299328cee7e42869ed4ede7e2c72 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc new file mode 100644 index 00000000..8bb16398 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc @@ -0,0 +1,77 @@ +#ifndef POI_MIRROR + #define POI_MIRROR + + float _Mirror; + float _EnableMirrorTexture; + POI_TEXTURE_NOSAMPLER(_MirrorTexture); + + + void applyMirrorRenderVert(inout float4 vertex) + { + + if (float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + void applyMirrorRenderFrag() + { + + if(float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + void applyMirrorTexture(inout float4 mainTexture) + { + + if(float(0)) + { + if(IsInMirror()) + { + mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + } + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta new file mode 100644 index 00000000..c7902d51 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bf411c4811cbb4e4a9da7197d0bea494 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc new file mode 100644 index 00000000..62e63c91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc @@ -0,0 +1,107 @@ +float _OutlineRimLightBlend; +float _OutlineLit; +float _OutlineTintMix; +float2 _MainTexPan; +float _MainTextureUV; + +float4 frag(v2f i, uint facing: SV_IsFrontFace): COLOR +{ + float4 finalColor = 1; + + if (float(0)) + { + UNITY_SETUP_INSTANCE_ID(i); + + float3 finalEmission = 0; + float4 albedo = 1; + + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + float3 uselessData0; + float3 uselessData1; + initTextureData(albedo, mainTexture, uselessData0, uselessData1, detailMask); + + + fixed4 col = mainTexture; + float alphaMultiplier = smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(getCameraPosition(), i.worldPos)); + float OutlineMask = tex2D(_OutlineMask, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0)).r; + clip(OutlineMask * float(0) - 0.001); + + col = col * 0.00000000001 + tex2D(_OutlineTexture, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineTexture) + _Time.x * float4(0,0,0,0) ); + col.a *= albedo.a; + col.a *= alphaMultiplier; + + #ifdef POI_RANDOM + col.a *= i.angleAlpha; + #endif + + poiCam.screenUV = calcScreenUVs(i.grabPos); + col.a *= float4(1,1,1,1).a; + + + if(float(0) == 1) + { + applyDithering(col); + } + + clip(col.a - float(0.5)); + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + + if(float(0) == 1) + { + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + col.rgb = mainTexture.rgb; + } + else if(float(0) == 2) + { + col.rgb = lerp(col.rgb, poiLight.color, float(0)); + } + col.rgb *= float4(1,1,1,1).rgb; + + if(float(0) == 1) + { + col.rgb = lerp(col.rgb, mainTexture.rgb, float(0)); + } + + finalColor = col; + + #ifdef POI_LIGHTING + + if(float(1)) + { + finalColor.rgb *= calculateFinalLighting(finalColor.rgb, finalColor); + } + #endif + finalColor.rgb += (col.rgb * float(0)); + } + else + { + clip(-1); + } + return finalColor; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta new file mode 100644 index 00000000..6c9ea7c9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 39083bc585324ef4ebf37d749b9767c2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc new file mode 100644 index 00000000..900e9e43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc @@ -0,0 +1,105 @@ +#ifndef OutlineVert + #define OutlineVert + + #include "CGI_PoiV2F.cginc" + + float _OutlineMode; + float4 _OutlinePersonaDirection; + float4 _OutlineDropShadowOffset; + float _OutlineUseVertexColors; + float _OutlineFixedSize; + float _commentIfZero_EnableOutlinePass; + + sampler2D _OutlineMask; float4 _OutlineMask_ST; float2 _OutlineMaskPan; float _OutlineMaskUV; + v2f vert(appdata v) + { + + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + + float2 uvArray[4]; + uvArray[0] = o.uv0.xy; + uvArray[1] = o.uv0.zw; + uvArray[2] = o.uv1.xy; + uvArray[3] = o.uv1.zw; + + #ifdef POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + o.uv0.xy = v.uv0 + _OutlineGlobalPan.xy * _Time.y; + float outlineMask = 1; + + outlineMask = poiMax(tex2Dlod(_OutlineMask, float4(TRANSFORM_TEX(uvArray[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0), 0, 0)).rgb); + + if (float(0) == 2) + { + outlineMask *= v.color.r; + } + + + if(float(0) != 1) + { + o.normal = UnityObjectToWorldNormal(v.normal); + } + else + { + o.normal = UnityObjectToWorldNormal(v.color); + } + + + half offsetMultiplier = 1; + half distanceOffset = 1; + + if(float(0)) + { + distanceOffset *= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex).xyz); + } + + float3 offset = o.normal * (float(0) * float(0) / 100) * outlineMask * distanceOffset; + + + if(float(0) == 2) + { + float3 lightDirection = poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + offsetMultiplier = saturate(dot(lightDirection, o.normal)); + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 3) + { + half3 viewNormal = mul((float3x3)UNITY_MATRIX_V, o.normal); + offsetMultiplier = saturate(dot(viewNormal.xy, normalize(float4(1,0,0,0).xy))); + + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 4) + { + offset = mul((float3x3)transpose(UNITY_MATRIX_V), float4(1,0,0,0)); + offset *= distanceOffset; + } + + o.worldPos = mul(unity_ObjectToWorld, v.vertex) + float4(offset, 0); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.pos = UnityWorldToClipPos(o.worldPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0); + UNITY_TRANSFER_FOG(o, o.pos); + return o; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta new file mode 100644 index 00000000..c5b6efaf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5d173bff28f3a0a47845b02394902825 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc new file mode 100644 index 00000000..da64a89d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc @@ -0,0 +1,63 @@ +#ifndef PANOSPHERE + #define PANOSPHERE + + sampler2D _PanosphereTexture; float4 _PanosphereTexture_ST; + POI_TEXTURE_NOSAMPLER(_PanoMask); + float _PanoEmission; + float _PanoBlend; + float4 _PanosphereColor; + float3 _PanospherePan; + float _PanoToggle; + float _PanoCubeMapToggle; + float _PanoInfiniteStereoToggle; + samplerCUBE _PanoCubeMap; half4 _PanoCubeMap_HDR; + + float3 panoColor; + float panoMask; + + float2 projectIt(float3 coords) + { + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude + _Time.y * float4(0,0,0,0).x, latitude + _Time.y * float4(0,0,0,0).y) * float2(1.0 / UNITY_PI, 1.0 / UNITY_PI); + sphereCoords = float2(1.0, 1.0) - sphereCoords; + return(sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; + } + + void applyPanosphereColor(inout float4 albedo, inout float3 panosphereEmission) + { + panoMask = POI2D_SAMPLER_PAN(_PanoMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskPanosphere != 4) + { + panoMask *= blackLightMask[_BlackLightMaskPanosphere]; + } + #endif + + + if(float(0)) + { + float3 cubeUV = mul(poiRotationMatrixFromAngles(float4(0,0,0,0).xyz * _Time.y), float4(-poiCam.viewDir, 1)); + half4 cubemap = texCUBE(_PanoCubeMap, cubeUV); + panoColor = DecodeHDR(cubemap, _PanoCubeMap_HDR); + } + else + { + float2 uv = projectIt(normalize(lerp(getCameraPosition().xyz, poiCam.worldPos.xyz, float(0)) - poiMesh.worldPos.xyz) * - 1); + + float2 ddxuv = ddx(uv); + float2 ddyuv = ddy(uv); + if(any(fwidth(uv) > .5)) + { + ddxuv = ddyuv = 0.001; + } + panoColor = tex2D(_PanosphereTexture, TRANSFORM_TEX(uv, _PanosphereTexture), ddxuv, ddyuv).rgb * float4(1,1,1,1).rgb; + } + panosphereEmission = panoColor * float(0) * panoMask * float(0); + albedo.rgb = lerp(albedo.rgb, panoColor, float(0) * panoMask); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta new file mode 100644 index 00000000..bb5559b7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dbcd1f9c75cb64f42b442c3ebb8f5054 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc new file mode 100644 index 00000000..6cd94900 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc @@ -0,0 +1,143 @@ +#ifndef POI_PARALLAX + #define POI_PARALLAX + + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxHeightMap); float4 _ParallaxHeightMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxHeightMapMask); + float2 _ParallaxHeightMapPan; + float _ParallaxStrength; + float _ParallaxHeightMapEnabled; + float _ParallaxUV; + + //Internal + float _ParallaxInternalMapEnabled; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxInternalMap); float4 _ParallaxInternalMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxInternalMapMask); + float _ParallaxInternalIterations; + float _ParallaxInternalMinDepth; + float _ParallaxInternalMaxDepth; + float _ParallaxInternalMinFade; + float _ParallaxInternalMaxFade; + float4 _ParallaxInternalMinColor; + float4 _ParallaxInternalMaxColor; + float4 _ParallaxInternalPanSpeed; + float4 _ParallaxInternalPanDepthSpeed; + float _ParallaxInternalHeightmapMode; + float _ParallaxInternalHeightFromAlpha; + + float GetParallaxHeight(float2 uv) + { + return clamp(UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxHeightMap, _MainTex, TRANSFORM_TEX(uv, _ParallaxHeightMap) + _Time.x * float4(0,0,0,0)).g, 0, .99999); + } + /* + float2 ParallaxOffset(float2 viewDir) + { + float height = GetParallaxHeight(); + height -= 0.5; + height *= float(0); + return viewDir * height; + } + */ + float2 ParallaxRaymarching(float2 viewDir) + { + float2 uvOffset = 0; + float stepSize = 0.1; + float2 uvDelta = viewDir * (stepSize * float(0)); + + float stepHeight = 1; + float surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)]); + + + float2 prevUVOffset = uvOffset; + float prevStepHeight = stepHeight; + float prevSurfaceHeight = surfaceHeight; + + for (int i = 1; i < 10 && stepHeight > surfaceHeight; i ++) + { + prevUVOffset = uvOffset; + prevStepHeight = stepHeight; + prevSurfaceHeight = surfaceHeight; + + uvOffset -= uvDelta; + stepHeight -= stepSize; + surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)] + uvOffset); + } + + float prevDifference = prevStepHeight - prevSurfaceHeight; + float difference = surfaceHeight - stepHeight; + float t = prevDifference / (prevDifference + difference); + uvOffset = prevUVOffset -uvDelta * t; + + return uvOffset *= POI2D_SAMPLER_PAN(_ParallaxHeightMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + + void calculateandApplyParallax() + { + + if (float(0)) + { + float2 parallaxOffset = ParallaxRaymarching(poiCam.tangentViewDir.xy); + + if(float(0) == 0) + { + poiMesh.uv[0] += parallaxOffset; + } + + if(float(0) == 1) + { + poiMesh.uv[1] += parallaxOffset; + } + + if(float(0) == 2) + { + poiMesh.uv[2] += parallaxOffset; + } + + if(float(0) == 3) + { + poiMesh.uv[3] += parallaxOffset; + } + } + } + + void calculateAndApplyInternalParallax(inout float4 finalColor) + { + #if defined(_PARALLAXMAP) + + if(float(0)) + { + float3 parallax = 0; + + for (int j = float(1); j > 0; j --) + { + float ratio = (float)j / float(1); + float2 parallaxOffset = _Time.y * (float4(0,0,0,0) + (1 - ratio) * float4(0,0,0,0)); + float fade = lerp(float(0), float(1), ratio); + float4 parallaxColor = UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxInternalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _ParallaxInternalMap) + lerp(float(0), float(1), ratio) * - poiCam.tangentViewDir.xy + parallaxOffset); + float3 parallaxTint = lerp(float4(1,1,1,1), float4(1,1,1,1), ratio); + float parallaxHeight; + if(float(0)) + { + parallaxTint *= parallaxColor.rgb; + parallaxHeight = parallaxColor.a; + } + else + { + parallaxHeight = parallaxColor.r; + } + //float parallaxColor *= lerp(float4(1,1,1,1), float4(1,1,1,1), 1 - ratio); + + if (float(0) == 1) + { + parallax = lerp(parallax, parallaxTint * fade, parallaxHeight >= 1 - ratio); + } + else + { + parallax += parallaxTint * parallaxHeight * fade; + } + } + //parallax /= float(1); + finalColor.rgb += parallax * POI2D_SAMPLER_PAN(_ParallaxInternalMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta new file mode 100644 index 00000000..92b3bdde --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d1efb4cd7f514df4c8585f5a6acbc63e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc new file mode 100644 index 00000000..81230e8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc @@ -0,0 +1,233 @@ +/* +USED--------------------------------------------- +"_PARALLAXMAP", +"_REQUIRE_UV2", +"_SUNDISK_NONE", +"_DETAIL_MULX2", +"_GLOSSYREFLECTIONS_OFF", +"_METALLICGLOSSMAP", +"_COLORADDSUBDIFF_ON", +"_SPECGLOSSMAP", +"_TERRAIN_NORMAL_MAP", +"_SUNDISK_SIMPLE", +"_EMISSION", +"_COLORCOLOR_ON", +"_COLOROVERLAY_ON", +"_ALPHAMODULATE_ON", +"_SUNDISK_HIGH_QUALITY", +"_MAPPING_6_FRAMES_LAYOUT", +"_NORMALMAP" +"EFFECT_BUMP", +"BLOOM", +"BLOOM_LOW", +"GRAIN", +"DEPTH_OF_FIELD", +"USER_LUT", +"CHROMATIC_ABERRATION_LOW", +"BLOOM_LENS_DIRT", +"_FADING_ON", +"CHROMATIC_ABERRATION", +"DISTORT", +"GEOM_TYPE_BRANCH", +"_SPECULARHIGHLIGHTS_OFF", +"_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", +"EFFECT_HUE_VARIATION", +"GEOM_TYPE_LEAF", +"GEOM_TYPE_MESH", +"FINALPASS", +"AUTO_EXPOSURE" +"VIGNETTE", +"VIGNETTE_MASKED", +"COLOR_GRADING_HDR", + +UNUSED------------------------------------------- +"_ALPHABLEND_ON", +"_ALPHAPREMULTIPLY_ON", +"_ALPHATEST_ON", +"GEOM_TYPE_BRANCH_DETAIL", +"GEOM_TYPE_FROND", +"PIXELSNAP_ON", +"SOFTPARTICLES_ON", +"DITHERING", +"TONEMAPPING_NEUTRAL", +"TONEMAPPING_FILMIC", +"TONEMAPPING_ACES", +"TONEMAPPING_CUSTOM", +"DEPTH_OF_FIELD_COC_VIEW", +"COLOR_GRADING", +"COLOR_GRADING_LOG_VIEW", +"VIGNETTE_CLASSIC", +"COLOR_GRADING_HDR_3D", + +DO NOT USE ----------------------------------------- +"BILLBOARD_FACE_CAMERA_POS", +*/ + + +#ifndef POI_PASS + #define POI_PASS + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #ifdef POI_META_PASS + #include "UnityMetaPass.cginc" + #endif + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + + #include "CGI_PoiSpawnInVert.cginc" + + #include "CGI_PoiV2F.cginc" + + #ifdef BLOOM_LOW + #include "CGI_PoiBulge.cginc" + #endif + + #include "CGI_PoiVert.cginc" + + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + + #include "CGI_PoiDithering.cginc" + + #ifdef _PARALLAXMAP + #include "CGI_PoiParallax.cginc" + #endif + + #ifdef USER_LUT + #include "CGI_PoiUVDistortion.cginc" + #endif + + #ifdef VIGNETTE + #include "CGI_PoiRGBMask.cginc" + #endif + + #include "CGI_PoiData.cginc" + + #ifdef _SPECULARHIGHLIGHTS_OFF + #include "CGI_PoiBlackLight.cginc" + #endif + + #include "CGI_PoiSpawnInFrag.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + + #ifdef DEPTH_OF_FIELD + #include "CGI_PoiHologram.cginc" + #endif + + #ifdef BLOOM_LENS_DIRT + #include "CGI_PoiIridescence.cginc" + #endif + + + #ifdef FUR + #include "CGI_PoiFur.cginc" + #include "CGI_PoiGeomFur.cginc" + #endif + + #ifdef VIGNETTE_MASKED + #include "CGI_PoiLighting.cginc" + #endif + + #include "CGI_PoiMainTex.cginc" + + #ifdef GEOM_TYPE_BRANCH + #include "CGI_PoiDecal.cginc" + #endif + + #ifdef CHROMATIC_ABERRATION + #include "CGI_PoiVoronoi.cginc" + #endif + + #ifdef _DETAIL_MULX2 + #include "CGI_PoiPanosphere.cginc" + #endif + + #ifdef EFFECT_BUMP + #include "CGI_PoiMSDF.cginc" + #endif + + #ifdef GRAIN + #include "CGI_PoiDepthColor.cginc" + #endif + + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _GLOSSYREFLECTIONS_OFF + #include "CGI_PoiRimLighting.cginc" + #endif + + #ifdef _MAPPING_6_FRAMES_LAYOUT + #include "CGI_PoiEnvironmentalRimLighting.cginc" + #endif + + #ifdef _METALLICGLOSSMAP + #include "CGI_PoiMetal.cginc" + #endif + + #ifdef _COLORADDSUBDIFF_ON + #include "CGI_PoiMatcap.cginc" + #endif + + #ifdef _SPECGLOSSMAP + #include "CGI_PoiSpecular.cginc" + #endif + + #ifdef BLOOM + #include "CGI_PoiVideo.cginc" + #endif + + #ifdef _TERRAIN_NORMAL_MAP + #include "CGI_PoiSubsurfaceScattering.cginc" + #endif + + #include "CGI_PoiBlending.cginc" + #include "CGI_PoiGrab.cginc" + + #ifdef _SUNDISK_SIMPLE + #include "CGI_PoiGlitter.cginc" + #endif + + #ifdef _EMISSION + #include "CGI_PoiEmission.cginc" + #endif + + #ifdef _COLORCOLOR_ON + #include "CGI_PoiClearCoat.cginc" + #endif + + #include "CGI_PoiAlphaToCoverage.cginc" + + #ifdef _COLOROVERLAY_ON + #include "CGI_PoiDebug.cginc" + #endif + #include "CGI_PoiFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta new file mode 100644 index 00000000..3f257cf6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ac9f1d9206f7d1a41b8e2cba56c8d584 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc new file mode 100644 index 00000000..5e365972 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc @@ -0,0 +1,26 @@ +#ifndef POI_PASS_OUTLINE + #define POI_PASS_OUTLINE + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "CGI_PoiMacros.cginc" + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiOutlineVert.cginc" + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiLighting.cginc" + #include "CGI_PoiMainTex.cginc" + #include "CGI_PoiData.cginc" + #include "CGI_PoiDithering.cginc" + #include "CGI_PoiOutlineFrag.cginc" +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta new file mode 100644 index 00000000..e52736bb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ecf53344a93982141884962ddc3bb5ae +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc new file mode 100644 index 00000000..d21a5d4d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc @@ -0,0 +1,44 @@ +#ifndef POI_PASS_SHADOW + #define POI_PASS_SHADOW + + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiShadowIncludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiMirror.cginc" + #include "CGI_PoiSpawnInFrag.cginc" + + #include "CGI_PoiV2F.cginc" + #include "CGI_PoiData.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + #include "CGI_PoiDithering.cginc" + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + #include "CGI_PoiSpawnInVert.cginc" + #include "CGI_PoiShadowVert.cginc" + #include "CGI_PoiShadowFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta new file mode 100644 index 00000000..bd2b5d94 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0859dd2049a65074da3fe7a7178bd106 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc new file mode 100644 index 00000000..d4cd1697 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc @@ -0,0 +1,131 @@ +#ifndef POI_RGBMASK + #define POI_RGBMASK + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RGBMask); float4 _RGBMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RedTexure); float4 _RedTexure_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GreenTexture); float4 _GreenTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlueTexture); float4 _BlueTexture_ST; + + #ifdef GEOM_TYPE_MESH + POI_NORMAL_NOSAMPLER(_RgbNormalR); + POI_NORMAL_NOSAMPLER(_RgbNormalG); + POI_NORMAL_NOSAMPLER(_RgbNormalB); + float _RgbNormalsEnabled; + #endif + + float4 _RedColor; + float4 _GreenColor; + float4 _BlueColor; + + float4 _RGBMaskPanning; + float4 _RGBRedPanning; + float4 _RGBGreenPanning; + float4 _RGBBluePanning; + + float _RGBBlendMultiplicative; + + float _RGBMaskUV; + float _RGBRed_UV; + float _RGBGreen_UV; + float _RGBBlue_UV; + float _RGBUseVertexColors; + float _RGBNormalBlend; + + static float3 rgbMask; + + void calculateRGBNormals(inout half3 mainTangentSpaceNormal) + { + #ifdef GEOM_TYPE_MESH + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + + if(float(0)) + { + + if(float(0) == 0) + { + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.r); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.g); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.b); + } + return; + } + else + { + half3 newNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0) * rgbMask.r); + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.g); + normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.b); + mainTangentSpaceNormal = BlendNormals(newNormal, mainTangentSpaceNormal); + return; + } + } + #endif + } + + float3 calculateRGBMask(float3 baseColor) + { + //If RGB normals are in use this data will already exist + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + float4 red = POI2D_SAMPLER_PAN(_RedTexure, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 green = POI2D_SAMPLER_PAN(_GreenTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 blue = POI2D_SAMPLER_PAN(_BlueTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + + if(float(0)) + { + float3 RGBColor = 1; + RGBColor = lerp(RGBColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + baseColor *= RGBColor; + } + else + { + baseColor = lerp(baseColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + } + + return baseColor; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta new file mode 100644 index 00000000..5195c600 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5842833daa9914e4ab0bc5075dfa394e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc new file mode 100644 index 00000000..137ef6de --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc @@ -0,0 +1,4 @@ +#ifndef POI_RNG + #define POI_RNG + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta new file mode 100644 index 00000000..ff7121f0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cb2edc564b18bf9408243d61792d384c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..11f3eea2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,41 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + float _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin; + float _CameraAngleMax; + float _ModelAngleMin; + float _ModelAngleMax; + float _AngleMinAlpha; + float _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = float(45) / 180; + half cameraAngleMax = float(90) / 180; + half modelAngleMin = float(45) / 180; + half modelAngleMax = float(90) / 180; + float3 pos = float(0) == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(float4(0,0,1,0)))); + half cameraLookAtModel = remapClamped(.5 * dot(cameraToModelDirection, getCameraForward()) + .5, cameraAngleMax, cameraAngleMin, 0, 1); + half modelLookAtCamera = remapClamped(.5 * dot(-cameraToModelDirection, modelForwardDirection) + .5, modelAngleMax, modelAngleMin, 0, 1); + if (float(0) == 0) + { + return max(cameraLookAtModel, float(0)); + } + else if(float(0) == 1) + { + return max(modelLookAtCamera, float(0)); + } + else if(float(0) == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, float(0)); + } + return 1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta new file mode 100644 index 00000000..5e74d4b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 11fb735b711f58547a16eb6df8d5d849 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc new file mode 100644 index 00000000..d4571c0c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc @@ -0,0 +1,47 @@ +#ifndef POI_RIM + #define POI_RIM + + float4 _RimLightColor; + float _RimLightingInvert; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float _ShadowMix; + float _ShadowMixThreshold; + float _ShadowMixWidthMod; + float _EnableRimLighting; + float _RimBrighten; + float _RimLightNormal; + + POI_TEXTURE_NOSAMPLER(_RimTex); + POI_TEXTURE_NOSAMPLER(_RimMask); + POI_TEXTURE_NOSAMPLER(_RimWidthNoiseTexture); + + float _RimWidthNoiseStrength; + + float4 rimColor = float4(0, 0, 0, 0); + float rim = 0; + + void applyRimLighting(inout float4 albedo, inout float3 rimLightEmission) + { + float rimNoise = POI2D_SAMPLER_PAN(_RimWidthNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimNoise = (rimNoise - .5) * float(0.1); + + float viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + + if (float(0)) + { + viewDotNormal = 1 - abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + } + float rimWidth = float(0.8); + rimWidth -= rimNoise; + float rimMask = POI2D_SAMPLER_PAN(_RimMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimColor = POI2D_SAMPLER_PAN(_RimTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + rimWidth = max(lerp(rimWidth, rimWidth * lerp(0, 1, poiLight.lightMap - float(0.5)) * float(0.5), float(0)),0); + rim = 1 - smoothstep(min(float(0.25), rimWidth), rimWidth, viewDotNormal); + rim *= float4(1,1,1,1).a * rimColor.a * rimMask; + rimLightEmission = rim * lerp(albedo, rimColor, float(0)) * float(0); + albedo.rgb = lerp(albedo.rgb, lerp(albedo.rgb, rimColor, float(0)) + lerp(albedo.rgb, rimColor, float(0)) * float(0), rim); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta new file mode 100644 index 00000000..7abd1a04 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 58ad4e1edd8fa5d4cba11b18e8fc370d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc new file mode 100644 index 00000000..16701f61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc @@ -0,0 +1,116 @@ +#ifndef SHADOW_FRAG + #define SHADOW_FRAG + + float2 _MainDistanceFade; + float _ForceOpaque; + float _MainShadowClipMod; + float2 _AlphaMaskPan; + float _AlphaMaskUV; + sampler3D _DitherMaskLOD; + float2 _MainTexPan; + float _MainTextureUV; + + half4 fragShadowCaster( + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + V2FShadow i, uint facing: SV_IsFrontFace + #endif + ): SV_Target + { + poiMesh.uv[0] = i.uv; + poiMesh.uv[1] = i.uv1; + poiMesh.uv[2] = i.uv2; + poiMesh.uv[3] = i.uv3; + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + + + //Possible Bug with clip + float clipValue = clamp(float(0.5) + float(0), - .001, 1.001); + + poiMesh.vertexColor = saturate(i.vertexColor); + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + #if defined(UNITY_STANDARD_USE_SHADOW_UVS) + + half4 alpha = mainTexture; + + + if (float(0)) + { + if(IsInMirror()) + { + alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a; + } + } + + + alpha.a *= smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(i.modelPos, _WorldSpaceCameraPos)); + half alphaMask = POI2D_PAN(_AlphaMask, poiMesh.uv[float(0)], float4(0,0,0,0)); + alpha.a *= alphaMask; + alpha.a *= float4(1,1,1,1).a + .0001; + alpha.a += float(0); + alpha.a = saturate(alpha.a); + + + if(float(0) == 0) + { + alpha.a = 1; + } + + + if(float(0) == 1) + { + applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy); + } + + #ifdef POI_DISSOLVE + float3 fakeEmission = 1; + calculateDissolve(alpha, fakeEmission); + #endif + + if(float(0) == 1) + { + clip(alpha.a - 0.001); + } + + /* + return poiMesh.vertexColor.g; + + #ifdef POI_RANDOM + alpha.a *= i.angleAlpha; + #endif + + + if(float(0) >= 1) + { + applySpawnInShadow(uv[0], i.localPos); + + #if defined(POI_FLIPBOOK) + alpha.a *= applyFlipbookAlphaToShadow(uv[float(0)]); + #endif + } + */ + + if (float(0) == 1) + { + clip(alpha.a - clipValue); + } + + + if(float(0) > 1) + { + float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a; + clip(dither - 0.01); + } + + #endif + SHADOW_CASTER_FRAGMENT(i) + } + + #endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta new file mode 100644 index 00000000..dc9f062a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4bd6d0503fa69d742b265ed290c7d94c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc new file mode 100644 index 00000000..fd8f19a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc @@ -0,0 +1,41 @@ +#ifndef SHADOW_INCLUDES + #define SHADOW_INCLUDES + + #define UNITY_STANDARD_USE_SHADOW_UVS 1 + + float4 _Color; + sampler2D _AlphaMask; float4 _AlphaMask_ST; + + struct VertexInputShadow + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + struct V2FShadow + { + V2F_SHADOW_CASTER_NOPOS + float4 pos: SV_POSITION; + float2 uv: TEXCOORD1; + float2 uv1: TEXCOORD2; + float2 uv2: TEXCOORD3; + float2 uv3: TEXCOORD4; + float3 modelPos: TEXCOORD5; + float4 worldPos: TEXCOORD6; + float4 localPos: TEXCOORD7; + float3 angleAlpha: TEXCOORD8; + float4 grabPos: TEXCOORD9; + fixed3 barycentricCoordinates: TEXCOORD10; + float4 vertexColor: TEXCOORD11; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta new file mode 100644 index 00000000..58532968 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4a66bffc487680f41b8bdd9e67c206d0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc new file mode 100644 index 00000000..f0b7184a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc @@ -0,0 +1,80 @@ +float _EnableTouchGlow; +float _EnableBulge; +float _VertexManipulationHeightUV; + +V2FShadow vertShadowCaster(VertexInputShadow v) +{ + V2FShadow o; + UNITY_SETUP_INSTANCE_ID(v); + + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(V2FShadow, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.uv = v.uv0; + o.uv1 = v.uv1; + o.uv2 = v.uv2; + o.uv3 = v.uv3; + + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, v.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.vertexColor = v.color; + + + if(_EnableTouchGlow || _EnableBulge) + { + o.pos = UnityObjectToClipPos(float3(0, 0, -5)); + o.localPos.xyz = float3(0, 0, -5); + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + } + + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + + o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal); + o.pos = UnityApplyLinearShadowBias(o.pos); + + return o; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta new file mode 100644 index 00000000..9a4a8d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 78775efdb9432a040903e4e5e58da097 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc new file mode 100644 index 00000000..0c18d1ad --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc @@ -0,0 +1,58 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + #endif + + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST; + + float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos) + { + + if (_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + spawnInEmission = saturate(inverseGradient + _SpawnInAlpha + _SpawnInEmissionOffset +noise - 1) * _SpawnInEmissionColor; + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } + + void applySpawnInShadow(float2 uv, float3 localPos) + { + + if(_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float alpha = gradient - _SpawnInAlpha - noise + length(_SpawnInVertOffset); + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta new file mode 100644 index 00000000..b65696d8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ac47a1160f5f4e34b80e791b57ff8155 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc new file mode 100644 index 00000000..fdcc457f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc @@ -0,0 +1,40 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + + #endif + //sampler2D _SpawnInNoiseVert; float4 _SpawnInNoiseVert_ST; + + float calculateGradientValueVert(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv) + { + + if (_EnableScifiSpawnIn) + { + float noise = 0; + float gradient = calculateGradientValueVert(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + worldPos.xyz += saturate(inverseGradient + _SpawnInAlpha + _SpawnInVertOffsetOffset -1) * float3(0, _SpawnInVertOffset, 0); + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + //float noise = tex2Dlod(_SpawnInNoise, float4(TRANSFORM_TEX(uv, _SpawnInNoise))).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta new file mode 100644 index 00000000..6d985310 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dafa6b39821b3aa43b87bd2435e01731 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc new file mode 100644 index 00000000..f5287465 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc @@ -0,0 +1,488 @@ +#ifndef POI_SPECULAR + #define POI_SPECULAR + float _SpecWhatTangent; + float _SpecularType; + float _SmoothnessFrom; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap); + POI_TEXTURE_NOSAMPLER(_SpecularMap); + fixed _CenterOutSpecColor; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro); + float _SpecularAnisoJitterMirrored; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoFakeUV); + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap); + POI_TEXTURE_NOSAMPLER(_SpecularMask); + float _SpecularAnisoJitterMicroMultiplier; + float _SpecularAnisoJitterMacroMultiplier; + float4 _SpecularTint; + float _SpecularSmoothness; + float _Spec1Offset; + float _Spec1JitterStrength; + float _Spec2Smoothness; + float _Spec2Offset; + float _Spec2JitterStrength; + float _AnisoUseTangentMap; + float _AnisoSpec1Alpha; + float _AnisoSpec2Alpha; + float _SpecularInvertSmoothness; + half _SpecularMetallic; + float _SpecularNormal; + float _SpecularNormal1; + // Toon + fixed _SpecularToonStart; + fixed _SpecularToonEnd; + half4 _SpecularToonInnerOuter; + + float _EnableSpecular1; + float _SpecWhatTangent1; + float _SpecularType1; + float _SmoothnessFrom1; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMap1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro1); + float _SpecularAnisoJitterMirrored1; + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMask1); + float _SpecularAnisoJitterMicroMultiplier1; + float _SpecularAnisoJitterMacroMultiplier1; + float4 _SpecularTint1; + float _SpecularSmoothness1; + float _Spec1Offset1; + float _Spec1JitterStrength1; + float _Spec2Smoothness1; + float _Spec2Offset1; + float _Spec2JitterStrength1; + float _AnisoUseTangentMap1; + float _AnisoSpec1Alpha1; + float _AnisoSpec2Alpha1; + float _SpecularInvertSmoothness1; + half _SpecularMetallic1; + // Toon + half4 _SpecularToonInnerOuter1; + fixed _SpecularToonStart1; + fixed _SpecularToonEnd1; + + UnityIndirect ZeroIndirect() + { + UnityIndirect ind; + ind.diffuse = 0; + ind.specular = 0; + return ind; + } + + // From unity just putting it here in case I want to mod it + half4 poiRealisticSpecular(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, + float3 normal, float3 halfDir, + UnityLight light, UnityIndirect gi) + { + float perceptualRoughness = SmoothnessToPerceptualRoughness(smoothness); + #define UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV 0 + + #if UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV + half shiftAmount = dot(normal, poiCam.viewDir); + normal = shiftAmount < 0.0f ? normal + poiCam.viewDir * (-shiftAmount + 1e-5f): normal; + float nv = saturate(dot(normal, poiCam.viewDir)); + #else + half nv = abs(dot(normal, poiCam.viewDir)); + #endif + + float nl = saturate(dot(normal, light.dir)); + float nh = saturate(dot(normal, halfDir)); + + half lv = saturate(dot(light.dir, poiCam.viewDir)); + half lh = saturate(dot(light.dir, halfDir)); + + half diffuseTerm = DisneyDiffuse(nv, nl, lh, perceptualRoughness) * nl; + + float roughness = PerceptualRoughnessToRoughness(perceptualRoughness); + + roughness = max(roughness, 0.002); + float V = SmithJointGGXVisibilityTerm(nl, nv, roughness); + float D = GGXTerm(nh, roughness); + + float specularTerm = V * D * UNITY_PI; + + #ifdef UNITY_COLORSPACE_GAMMA + specularTerm = sqrt(max(1e-4h, specularTerm)); + #endif + + specularTerm = max(0, specularTerm * nl); + #if defined(_POI_SPECULARHIGHLIGHTS_OFF) + specularTerm = 0.0; + #endif + + half surfaceReduction; + #ifdef UNITY_COLORSPACE_GAMMA + surfaceReduction = 1.0 - 0.28 * roughness * perceptualRoughness; + #else + surfaceReduction = 1.0 / (roughness * roughness + 1.0); + #endif + + specularTerm *= any(specColor) ? 1.0: 0.0; + + half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); + half3 color = diffColor * (gi.diffuse + light.color * diffuseTerm) + + specularTerm * light.color * FresnelTerm(specColor, lh) + + surfaceReduction * gi.specular * FresnelLerp(specColor, grazingTerm, nv); + + return half4(color, 1); + } + + half3 calculateRealisticSpecular(float4 albedo, float2 uv, float4 specularTint, float specularSmoothness, float invertSmoothness, float mixAlbedoWithTint, float4 specularMap, float3 specularLight, float3 normal, float attenuation, float3 lightDirection, float nDotL, float3 halfDir) + { + half oneMinusReflectivity; + half3 finalSpecular; + UnityLight unityLight; + unityLight.color = specularLight; + unityLight.dir = lightDirection; + unityLight.ndotl = nDotL; + + + if (float(1) == 0) + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularMap.rgb * specularTint.rgb, /*out*/ oneMinusReflectivity); + finalSpecular = poiRealisticSpecular(diffColor, specularMap.rgb, oneMinusReflectivity, specularMap.a * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + else + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularTint.rgb, /*out*/ oneMinusReflectivity); + float smoothness = max(max(specularMap.r, specularMap.g), specularMap.b); + finalSpecular = poiRealisticSpecular(diffColor, 1, oneMinusReflectivity, smoothness * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + finalSpecular *= lerp(1, albedo.rgb, mixAlbedoWithTint); + return finalSpecular; + } + + half3 calculateToonSpecular(float4 albedo, float2 uv, float2 specularToonInnerOuter, float specularMixAlbedoIntoTint, float smoothnessFrom, float4 specularMap, float3 specularLight, float3 normal, float3 halfDir, float attenuation) + { + half3 finalSpecular = smoothstep(1 - specularToonInnerOuter.y, 1 - specularToonInnerOuter.x, dot(halfDir, normal)) * specularLight; + + if (smoothnessFrom == 0) + { + finalSpecular.rgb *= specularMap.rgb * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + finalSpecular *= specularMap.a; + } + else + { + finalSpecular *= specularMap.r * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + return finalSpecular; + } + + float3 strandSpecular(float TdotL, float TdotV, float specPower, float nDotL) + { + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + float Specular = saturate(nDotL) * pow(saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV), specPower); + half normalization = sqrt((specPower + 1) * ((specPower) + 1)) / (8 * pi); + Specular *= normalization; + return Specular; + } + + half3 AnisotropicSpecular( + float specWhatTangent, float anisoUseTangentMap, float specularSmoothness, float spec2Smoothness, + float anisoSpec1Alpha, float anisoSpec2Alpha, float4 specularTint, float specularMixAlbedoIntoTint, float4 specularMap, float3 specularLight, float3 lightDirection, float3 halfDir, float nDotL, float jitter, float4 packedTangentMap, in float4 albedo) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + tangentDirectionMap += float(0) +jitter; + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + half specPower = RoughnessToSpecPower(1.0 - specularSmoothness * specularMap.a); + half spec2Power = RoughnessToSpecPower(1.0 - spec2Smoothness * specularMap.a); + half Specular = 0; + + float3 spec = strandSpecular(TdotL, TdotV, specPower, nDotL) * anisoSpec1Alpha; + float3 spec2 = strandSpecular(TdotL, TdotV, spec2Power, nDotL) * anisoSpec2Alpha; + + return max(spec, spec2) * specularMap.rgb * specularTint.a * specularLight * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + + inline float3 toonAnisoSpecular(float specWhatTangent, float anisoUseTangentMap, float3 lightDirection, float halfDir, float4 specularMap, float nDotL, fixed gradientStart, fixed gradientEnd, float4 specColor, float4 finalColor, fixed metallic, float jitter, float mirrored, float4 packedTangentMap) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + if (!mirrored) + { + tangentDirectionMap += jitter; + } + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + + float specular = saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV); + + fixed smoothAlpha = specular; + if(mirrored) + { + smoothAlpha = max(specular - jitter, 0); + } + + specular = smoothstep(gradientStart, gradientEnd, smoothAlpha); + + /* + + if(_CenterOutSpecColor) + { + specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, clamp(float2(specular, specular), 0.01, .99), float4(0,0,0,0)); + } + */ + + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + + return saturate(nDotL) * specular * poiLight.color * specColor * specularMap.rgb * lerp(1, finalColor, metallic) * specularMap.a; + } + + inline float SpecularHQ(half roughness, half dotNH, half dotLH) + { + roughness = saturate(roughness); + roughness = max((roughness * roughness), 0.002); + half roughnessX2 = roughness * roughness; + + half denom = dotNH * dotNH * (roughnessX2 - 1.0) + 1.0f; + half D = roughnessX2 / (3.14159 * denom * denom); + + half k = roughness / 2.0f; + half k2 = k * k; + half invK2 = 1.0f - k2; + + half vis = rcp(dotLH * dotLH * invK2 + k2); + + float specTerm = vis * D; + + return specTerm; + } + + float3 calculateNewSpecular(in float3 specularMap, uint colorFrom, in float4 albedo, in float3 specularTint, in float specularMetallic, in float specularSmoothness, in half dotNH, in half dotLH, in float3 lightColor, in float attenuation) + { + float3 specColor = specularTint; + float metallic = specularMetallic; + float roughness = 1 - specularSmoothness; + float perceptualRoughness = roughness; + //float reflectInverse = DielectricSpec.a - metallic * DielectricSpec.a; + //float reflectivity = 1.0h - reflectInverse; + float3 specMapColor = lerp(specularMap, 1, colorFrom); + float3 specularColor = lerp(DielectricSpec.rgb * specMapColor, lerp(specularMap, albedo.rgb, colorFrom), metallic); + //albedo.rgb *= reflectInverse; + return clamp(specularColor * lightColor * attenuation * specularTint * SpecularHQ(perceptualRoughness, dotNH, dotLH), 0, lightColor * specularTint); + } + + float3 calculateSpecular(in float4 albedo) + { + half3 finalSpecular = 0; + half3 finalSpecular1 = 0; + float4 realisticAlbedo = albedo; + float4 realisticAlbedo1 = albedo; + float4 specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half metallic = POI2D_SAMPLER_PAN(_SpecularMetallicMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + half specularMask = POI2D_SAMPLER_PAN(_SpecularMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float attenuation = saturate(poiLight.nDotL); + #ifdef POI_LIGHTING + + if (float(0) && float(0) == 0 && float(0) == 1) + { + attenuation = poiLight.rampedLightMap; + } + #endif + + + if(float(1) == 1) // Realistic + { + if (float(1) == 1) + { + specularMap.a = specularMap.r; + specularMap.rgb = 1; + } + + if(float(0)) + { + specularMap.a = 1 - specularMap.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, attenuation); + #else + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic, jitter, float(0), packedTangentMap); + finalSpecular *= attenuation; + } + + #ifdef FORWARD_BASE_PASS + + if(float(1) == 2) // Toon + { + finalSpecular += calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic, float(1), specularMap, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += AnisotropicSpecular(float(0), float(0), float(1), float(0), float(1), float(1), float4(1,1,1,1), metallic, specularMap, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular *= float4(1,1,1,1); + finalSpecular *= attenuation; + } + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + + finalSpecular *= float4(1,1,1,1).a; + finalSpecular = finalSpecular.rgb; + finalSpecular *= specularMask; + + + if (float(0)) + { + float4 specularMap1 = POI2D_SAMPLER_PAN(_SpecularMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half specularMask1 = POI2D_SAMPLER_PAN(_SpecularMask1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + half metallic1 = POI2D_SAMPLER_PAN(_SpecularMetallicMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + float attenuation = poiLight.attenuation; + + if(float(1) == 1) // Realistic + { + + if (float(1) == 1) + { + specularMap1.a = specularMap1.r; + specularMap1.rgb = 1; + } + else + { + realisticAlbedo1.rgb = specularMap1.rgb; + } + + + if(float(0)) + { + specularMap1.a = 1 - specularMap1.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, saturate(poiLight.nDotL)); + #else + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap1, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic1, jitter, float(0), packedTangentMap); + finalSpecular1 *= poiLight.attenuation; + } + + + if(float(1) == 2) // Toon + { + finalSpecular1 = calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic1, float(1), specularMap1, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular1 *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 = AnisotropicSpecular(float(0), float(0), float(0.75), float(0), float(1), float(1), float4(1,1,1,1), metallic1, specularMap1, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular1 *= float4(1,1,1,1); + finalSpecular1 *= poiLight.attenuation; + } + + #ifdef FORWARD_BASE_PASS + // Non Important Lights + #ifdef VERTEXLIGHT_ON + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular1 += calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + #endif + + finalSpecular1 *= float4(1,1,1,1).a; + finalSpecular1 = finalSpecular1.rgb; + finalSpecular1 *= specularMask1; + } + return finalSpecular + finalSpecular1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta new file mode 100644 index 00000000..5badbdb8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 78bc49363818b9f42aeb998c2dd01ce4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc new file mode 100644 index 00000000..b7c21c01 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc @@ -0,0 +1,28 @@ +#ifndef SUBSURFACE + #define SUBSURFACE + + float _SSSThicknessMod; + float _SSSSCale; + float _SSSPower; + float _SSSDistortion; + float4 _SSSColor; + float _EnableSSS; + + POI_TEXTURE_NOSAMPLER(_SSSThicknessMap); + + float3 calculateSubsurfaceScattering() + { + float SSS = 1 - POI2D_SAMPLER_PAN(_SSSThicknessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + half3 vLTLight = poiLight.direction + poiMesh.normals[0] * float(1); + half flTDot = pow(saturate(dot(poiCam.viewDir, -vLTLight)), float(5)) * float(0.25); + #ifdef FORWARD_BASE_PASS + half3 fLT = (flTDot) * saturate(SSS + - 1 * float(0)); + #else + half3 fLT = poiLight.attenuation * (flTDot) * saturate(SSS + - 1 * float(0)); + #endif + + return fLT * poiLight.color * float4(1,0,0,1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta new file mode 100644 index 00000000..d131aeb1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a66f83bbed1846e449a2fd9b586da55d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc new file mode 100644 index 00000000..4912473d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc @@ -0,0 +1,117 @@ +#ifndef POI_TESSELLATION + #define POI_TESSELLATION + + float _TessellationPhongStrength; + float _TessellationEdgeLength; + float _TessellationExtrusionAmount; + float _TessellationUniform; + + struct TessellationControlPoint + { + float4 vertex: INTERNALTESSPOS; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + }; + + struct TessellationFactors + { + float edge[3]: SV_TessFactor; + float inside: SV_InsideTessFactor; + }; + + TessellationControlPoint poiTessellationVert(appdata v) + { + TessellationControlPoint p; + p.vertex = v.vertex; + p.normal = v.normal; + p.tangent = v.tangent; + p.color = v.color; + p.uv0 = v.uv0; + p.uv1 = v.uv1; + p.uv2 = v.uv2; + p.uv3 = v.uv3; + return p; + } + + float TessellationEdgeFactor(float3 p0, float3 p1) + { + #ifndef _FADING_ON + float edgeLength = distance(p0, p1); + + float3 edgeCenter = (p0 + p1) * 0.5; + float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos); + + return edgeLength * _ScreenParams.y / + (_TessellationEdgeLength * viewDistance); + #else + return _TessellationUniform; + #endif + } + + TessellationFactors poiPatchConst( + InputPatch < TessellationControlPoint, 3 > patch + ) + { + + TessellationFactors f; + float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz; + float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz; + float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz; + f.edge[0] = TessellationEdgeFactor(p1, p2); + f.edge[1] = TessellationEdgeFactor(p2, p0); + f.edge[2] = TessellationEdgeFactor(p0, p1); + f.inside = (TessellationEdgeFactor(p1, p2) + + TessellationEdgeFactor(p2, p0) + + TessellationEdgeFactor(p0, p1)) * (1 / 3.0); + return f; + } + + [UNITY_domain("tri")] + [UNITY_outputcontrolpoints(3)] + [UNITY_outputtopology("triangle_cw")] + [UNITY_partitioning("fractional_odd")] + [UNITY_patchconstantfunc("poiPatchConst")] + TessellationControlPoint poiHull( + InputPatch < TessellationControlPoint, 3 > patch, + uint id: SV_OutputControlPointID + ) + { + return patch[id]; + } + + [UNITY_domain("tri")] + v2f poiDomain( + TessellationFactors factors, + OutputPatch < TessellationControlPoint, 3 > patch, + float3 barycentricCoordinates: SV_DomainLocation + ) + { + appdata data; + + #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z; + + MY_DOMAIN_PROGRAM_INTERPOLATE(vertex) + float3 pp[3]; + for (int i = 0; i < 3; ++ i) + { + pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + } + data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz; + MY_DOMAIN_PROGRAM_INTERPOLATE(normal) + data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount; + MY_DOMAIN_PROGRAM_INTERPOLATE(tangent) + MY_DOMAIN_PROGRAM_INTERPOLATE(color) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv0) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv1) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv2) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv3) + + return vert(data); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta new file mode 100644 index 00000000..1fe81927 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f06905eb28e5209459942b51e6302a2f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc new file mode 100644 index 00000000..38d5fd75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc @@ -0,0 +1,34 @@ +#ifndef POI_UV_DISTORTION + #define POI_UV_DISTORTION + + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture); float4 _DistortionFlowTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture1); float4 _DistortionFlowTexture1_ST; + POI_TEXTURE_NOSAMPLER(_DistortionMask); + + float _DistortionStrength; + float _DistortionStrength1; + float2 _DistortionSpeed; + float2 _DistortionSpeed1; + + float2 getTorusUv(float2 uv) + { + // translated to hlsl from https://www.shadertoy.com/view/Md3Bz7 + // http://web.cs.ucdavis.edu/~amenta/s12/findnorm.pdf + float phi = 6.28318530718f * uv.x; + float theta = 6.28318530718f * uv.y; + float3 c = cos(float3(phi, phi + 1.57079632679f, theta)); + float2 result = float2(c.x * c.z, -c.y * c.z); + return result * 0.5 + 0.5; + } + + float2 calculateDistortionUV(float2 uv) + { + half distortionMask = POI2D_SAMPLER_PAN(_DistortionMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flowVector = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + float4 flowVector1 = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture1, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture1) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + flowVector *= float(0.5); + flowVector1 *= float(0.5); + return uv + ((flowVector.xy + flowVector1.xy) / 2) * distortionMask; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta new file mode 100644 index 00000000..ac054ae4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d8062313fc79187418395abba212035c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc new file mode 100644 index 00000000..0e29a179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc @@ -0,0 +1,34 @@ +#ifndef POI_V2F + #define POI_V2F + + struct v2f + { + float4 pos: SV_POSITION; + float4 uv0: TEXCOORD0; + float4 uv1: TEXCOORD1; + float3 normal: TEXCOORD2; + float3 tangentViewDir: TEXCOORD3; + float4 tangent: TEXCOORD4; + float4 worldPos: TEXCOORD5; + float4 localPos: TEXCOORD6; + float4 grabPos: TEXCOORD7; + float3 barycentricCoordinates: TEXCOORD8; + #if defined(GRAIN) + float4 worldDirection: TEXCOORD9; + #endif + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV: TEXCOORD10; + #endif + float3 modelPos: TEXCOORD11; + float angleAlpha: TEXCOORD12; + float4 vertexColor: TEXCOORD14; + #ifdef FUR + float furAlpha: TEXCOORD15; + #endif + UNITY_SHADOW_COORDS(16) + UNITY_FOG_COORDS(17) + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta new file mode 100644 index 00000000..fea1a211 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0ce0f50244777af4aa7b2068861d5c66 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc new file mode 100644 index 00000000..1558e937 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc @@ -0,0 +1,126 @@ +#ifndef POI_VERT + #define POI_VERT + + float _VertexManipulationHeightUV; + float _VertexUnwrap; + + #define PM UNITY_MATRIX_P + + inline float4 CalculateFrustumCorrection() + { + float x1 = -PM._31 / (PM._11 * PM._34); + float x2 = -PM._32 / (PM._22 * PM._34); + return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23); + } + + v2f vert(appdata v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + #ifdef _COLOROVERLAY_ON + v.vertex.xyz = lerp(v.vertex.xyz, float3(v.uv0.x - .5, v.uv0.y - .5, 0), float(0)); + #endif + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.tangent, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + #ifdef _REQUIRE_UV2 //POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.normal = UnityObjectToWorldNormal(v.normal); + //o.localPos.x *= -1; + //o.localPos.xz += sin(o.localPos.y * 100 + _Time.y * 5) * .0025; + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, o.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + o.vertexColor = v.color; + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + + #ifdef POI_BULGE + bulgyWolgy(o); + #endif + + + o.angleAlpha = 1; + #ifdef _SUNDISK_NONE //POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + #if defined(LIGHTMAP_ON) + o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0.xy); + UNITY_TRANSFER_FOG(o, o.pos); + + #if defined(_PARALLAXMAP) // POI_PARALLAX + v.tangent.xyz = normalize(v.tangent.xyz); + v.normal = normalize(v.normal); + float3x3 objectToTangent = float3x3( + v.tangent.xyz, + cross(v.normal, v.tangent.xyz) * v.tangent.w, + v.normal + ); + o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex)); + #endif + + #ifdef POI_META_PASS + o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); + #endif + + #if defined(GRAIN) + float4 worldDirection; + + worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos; + worldDirection.w = dot(o.pos, CalculateFrustumCorrection()); + o.worldDirection = worldDirection; + #endif + + return o; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta new file mode 100644 index 00000000..440dab9f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0c7fcdd60a0e08743a68613a1a64f40a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc new file mode 100644 index 00000000..94c16148 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc @@ -0,0 +1,93 @@ +#ifndef POI_VERTEX_MANIPULATION + #define POI_VERTEX_MANIPULATION + + #include "CGI_PoiMath.cginc" + + float4 _VertexManipulationLocalTranslation; + float4 _VertexManipulationLocalRotation; + float4 _VertexManipulationLocalScale; + float4 _VertexManipulationWorldTranslation; + + float _VertexManipulationHeight; + float _VertexManipulationHeightBias; + sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST; + float2 _VertexManipulationHeightPan; + + + //Vertex Glitching + float _EnableVertexGlitch; + sampler2D _VertexGlitchMap; float4 _VertexGlitchMap_ST; + float _VertexGlitchThreshold; + float _VertexGlitchFrequency; + float _VertexGlitchStrength; + // Rounding + float _VertexRoundingDivision; + float _VertexRoundingEnabled; + + void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyVertexRounding(inout float4 worldPos, inout float4 localPos) + { + + if (float(0)) + { + worldPos.xyz = (ceil(worldPos * float(500)) / float(500)) - 1 / float(500) * .5; + localPos = mul(unity_WorldToObject, worldPos); + } + } + + void applyVertexGlitching(inout float4 worldPos, inout float4 localPos) + { + + if(_EnableVertexGlitch) + { + float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + forward.y = 0; + forward = normalize(forward); + float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward)); + float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1; + /* + float uvl = worldPos.y * _VertexGlitchDensity + _Time.x * _VertexGlitchMapPanSpeed; + float uvr = worldPos.y * _VertexGlitchDensity - _Time.x * _VertexGlitchMapPanSpeed; + float glitchAmountLeft = tex2Dlod(_VertexGlitchMap, float4(uvl, uvl, 0, 0)).r; + float glitchAmountRight = -tex2Dlod(_VertexGlitchMap, float4(uvr, uvr, 0, 0)).r; + float glitchAmount = glitchAmountLeft + glitchAmountRight; + */ + float time = _Time.y * _VertexGlitchFrequency; + float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4; + worldPos.xyz += glitchAmount * glitchDirection * (_VertexGlitchStrength * .01) * step(_VertexGlitchThreshold, randomGlitch); + localPos = mul(unity_WorldToObject, worldPos); + } + } + +#endif +// diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta new file mode 100644 index 00000000..31e9cb4c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4d9404977f82de342a57323e50a0c834 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc new file mode 100644 index 00000000..ec2d37e4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc @@ -0,0 +1,266 @@ +#ifndef POI_VIDEO + #define POI_VIDEO + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoPixelTexture); float4 _VideoPixelTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoMaskTexture); float4 _VideoMaskTexture_ST; + + float _VideoUVNumber; + float _VideoType; + float3 pixels; + float2 _VideoResolution; + sampler2D _VideoGameboyRamp; + half _VideoBacklight; + half _VideoCRTRefreshRate; + half _VideoCRTPixelEnergizedTime; + half _VideoEnableVideoPlayer; + half _VideoRepeatVideoTexture; + half _VideoPixelateToResolution; + float2 _VideoMaskPanning; + // Video Settings + half _VideoSaturation; + half _VideoContrast; + float2 _VideoTiling; + float2 _VideoOffset; + float2 _VideoPanning; + //Debug + half _VideoEnableDebug; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoDebugTexture); float4 _VideoDebugTexture_ST; + + + sampler2D _VRChat_VideoPlayer; + float4 _VRChat_VideoPlayer_TexelSize; + + float4 globalVideoPlayerColor; + float3 globalColorToDisplayOnScreen; + float globalVideoOn; + + float3 applyBacklight(float3 albedo, half backlightStrength) + { + return max(backlightStrength, albedo.rgb); + } + + float3 applyViewAngleTN(float3 albedo) + { + float3 reflectionVector = normalize(reflect(poiCam.viewDir.rgb, poiMesh.normals[1].rgb)); + float upwardShift = dot(reflectionVector, poiMesh.binormal); + upwardShift = pow(upwardShift, 1); + float sideShift = dot(reflectionVector, poiMesh.tangent); + sideShift *= pow(sideShift, 3); + #if !UNITY_COLORSPACE_GAMMA + albedo = LinearToGammaSpace(albedo); + #endif + albedo = saturate(lerp(half3(0.5, 0.5, 0.5), albedo, upwardShift + 1)); + #if !UNITY_COLORSPACE_GAMMA + albedo = GammaToLinearSpace(albedo); + #endif + albedo = (lerp(albedo, albedo.gbr, sideShift)); + return albedo; + } + + float calculateCRTPixelBrightness() + { + float totalPixels = _VideoResolution.x * _VideoResolution.y; + float2 uvPixel = float2((floor((1 - poiMesh.uv[_VideoUVNumber].y) * _VideoResolution.y)) / _VideoResolution.y, (floor(poiMesh.uv[_VideoUVNumber].x * _VideoResolution.x)) / _VideoResolution.x); + float currentPixelNumber = _VideoResolution.x * (_VideoResolution.y * uvPixel.x) + _VideoResolution.y * uvPixel.y; + float currentPixelAlpha = currentPixelNumber / totalPixels; + half electronBeamAlpha = frac(_Time.y * _VideoCRTRefreshRate); + float electronBeamPixelNumber = totalPixels * electronBeamAlpha; + + float DistanceInPixelsFromCurrentElectronBeamPixel = 0; + if (electronBeamPixelNumber >= currentPixelNumber) + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber - currentPixelNumber; + } + else + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber + (totalPixels - currentPixelNumber); + } + float CRTFrameTime = 1 / _VideoCRTRefreshRate; + float timeSincecurrentPixelWasHitByElectronBeam = (DistanceInPixelsFromCurrentElectronBeamPixel / totalPixels); + + return saturate(_VideoCRTPixelEnergizedTime - timeSincecurrentPixelWasHitByElectronBeam); + } + + void applyContrastSettings(inout float3 pixel) + { + #if !UNITY_COLORSPACE_GAMMA + pixel = LinearToGammaSpace(pixel); + #endif + pixel = saturate(lerp(half3(0.5, 0.5, 0.5), pixel, _VideoContrast + 1)); + #if !UNITY_COLORSPACE_GAMMA + pixel = GammaToLinearSpace(pixel); + #endif + } + + void applySaturationSettings(inout float3 pixel) + { + pixel = lerp(pixel.rgb, dot(pixel.rgb, float3(0.3, 0.59, 0.11)), -_VideoSaturation); + } + + void applyVideoSettings(inout float3 pixel) + { + applySaturationSettings(pixel); + applyContrastSettings(pixel); + } + + void calculateLCD(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateTN(inout float4 albedo) + { + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + globalColorToDisplayOnScreen = applyViewAngleTN(globalColorToDisplayOnScreen); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateCRT(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + float brightness = calculateCRTPixelBrightness(); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * brightness * _VideoBacklight; + } + void calculateOLED(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateGameboy(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + half brightness = saturate((globalColorToDisplayOnScreen.r + globalColorToDisplayOnScreen.g + globalColorToDisplayOnScreen.b) * .3333333); + albedo.rgb = tex2D(_VideoGameboyRamp, brightness); + } + void calculateProjector(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + + float3 projectorColor = albedo * globalColorToDisplayOnScreen * _VideoBacklight; + albedo.r = clamp(projectorColor.r, albedo.r, 1000); + albedo.g = clamp(projectorColor.g, albedo.g, 1000); + albedo.b = clamp(projectorColor.b, albedo.b, 1000); + } + + void applyScreenEffect(inout float4 albedo, inout float3 videoEmission) + { + float4 albedoBeforeScreen = albedo; + + pixels = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoPixelTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoPixelTexture) * _VideoResolution); + globalVideoOn = 0; + + if(_VideoEnableVideoPlayer == 1) + { + float4 videoTexture = 0; + + if(_VideoPixelateToResolution) + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, round(TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoResolution + .5) / _VideoResolution); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, round(poiMesh.uv[_VideoUVNumber] * _VideoResolution + .5) / _VideoResolution); + } + } + else + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoTiling + _VideoOffset); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, ((poiMesh.uv[_VideoUVNumber] + _Time.x * _VideoPanning) * _VideoTiling) + _VideoOffset); + } + } + if(videoTexture.a == 1) + { + globalColorToDisplayOnScreen = videoTexture.rgb; + globalVideoOn = 1; + } + } + + + if(_VideoRepeatVideoTexture == 1) + { + if(poiMesh.uv[_VideoUVNumber].x > 1 || poiMesh.uv[_VideoUVNumber].x < 0 || poiMesh.uv[_VideoUVNumber].y > 1 || poiMesh.uv[_VideoUVNumber].y < 0) + { + return; + } + } + + switch(_VideoType) + { + case 0: // LCD + { + calculateLCD(albedo); + break; + } + case 1: // TN + { + calculateTN(albedo); + break; + } + case 2: // CRT + { + calculateCRT(albedo); + break; + } + case 3: // OLED + { + calculateOLED(albedo); + break; + } + case 4: // Gameboy + { + calculateGameboy(albedo); + break; + } + case 5: // Projector + { + calculateProjector(albedo); + break; + } + } + + float screenMask = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoMaskTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoMaskTexture) + _Time.x * _VideoMaskPanning); + albedo = lerp(albedoBeforeScreen, albedo, screenMask); + videoEmission = max(albedo.rgb * screenMask - 1, 0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta new file mode 100644 index 00000000..d1032aa7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b4209b9b1d1b6a246a4ca3d4e6e06ea6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc new file mode 100644 index 00000000..db3d3130 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc @@ -0,0 +1,304 @@ +#ifndef POI_VORONOI + #define POI_VORONOI + + #include "CGI_PoiRNG.cginc" + + float _VoronoiSpace; + float _VoronoiBlend; + float _VoronoiType; + float4 _VoronoiColor0; + float _VoronoiEmission0; + float4 _VoronoiColor1; + float _VoronoiEmission1; + float2 _VoronoiGradient; + float _VoronoiScale; + float3 _VoronoiSpeed; + float _VoronoiEnableRandomCellColor; + float2 _VoronoiRandomMinMaxSaturation; + float2 _VoronoiRandomMinMaxBrightness; + float3 randomPoint; + float _VoronoiEffectsMaterialAlpha; + + POI_TEXTURE_NOSAMPLER(_VoronoiMask); + POI_TEXTURE_NOSAMPLER(_VoronoiNoise); + float _VoronoiNoiseIntensity; + + float2 inoise(float3 P, float jitter) + { + float3 Pi = mod(floor(P), 289.0); + float3 Pf = frac(P); + float3 oi = float3(-1.0, 0.0, 1.0); + float3 of = float3(-0.5, 0.5, 1.5); + float3 px = Permutation(Pi.x + oi); + float3 py = Permutation(Pi.y + oi); + + float3 p, ox, oy, oz, dx, dy, dz; + float2 F = 1e6; + + for (int i = 0; i < 3; i ++) + { + for (int j = 0; j < 3; j ++) + { + p = Permutation(px[i] + py[j] + Pi.z + oi); // pij1, pij2, pij3 + + ox = frac(p * K) - Ko; + oy = mod(floor(p * K), 7.0) * K - Ko; + + p = Permutation(p); + + oz = frac(p * K) - Ko; + + dx = Pf.x - of[i] + jitter * ox; + dy = Pf.y - of[j] + jitter * oy; + dz = Pf.z - of + jitter * oz; + + float3 d = dx * dx + dy * dy + dz * dz; // dij1, dij2 and dij3, squared + + //Find lowest and second lowest distances + for (int n = 0; n < 3; n ++) + { + if (d[n] < F[0]) + { + F[1] = F[0]; + F[0] = d[n]; + randomPoint = p; + } + else if(d[n] < F[1]) + { + F[1] = d[n]; + } + } + } + } + + return F; + } + + float voronoi2D(in float2 x, float scale, float2 speed) + { + x *= scale; + x += speed * _Time.x; + float2 n = floor(x); + float2 f = frac(x); + + // first pass: regular voronoi + float2 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 g = float2(float(i), float(j)); + float2 o = random2(n + g); + float2 currentPoint = o; + + float2 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint.xy = currentPoint; + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + float2 g = mg + float2(float(q), float(r)); + float2 o = random2(n + g); + + float2 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + return md; + } + + float voronoi3D(in float3 x, float scale, float3 speed) + { + x *= scale; + x += speed * _Time.x; + float3 n = floor(x); + float3 f = frac(x); + + // first pass: regular voronoi + float3 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + for (int h = -1; h <= 1; h ++) + { + float3 g = float3(float(h), float(i), float(j)); + float3 o = random3(n + g); + float3 currentPoint = o; + + float3 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint = currentPoint; + } + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + for (int p = -2; p <= 2; p ++) + { + float3 g = mg + float3(float(p), float(q), float(r)); + float3 o = random3(n + g); + + float3 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + } + return md; + } + + + + // fracal sum, range -1.0 - 1.0 + float VoronoiNoise_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + float VoronoiNoiseDiff_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[1]) - sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + void applyVoronoi(inout float4 finalColor, inout float3 VoronoiEmission) + { + float voronoiOctaveNumber = 1; + float voronoiOctaveScale = 1; + float voronoiOctaveAttenuation = 1; + randomPoint = 0; + float4 voronoiColor1 = _VoronoiColor1; + + float voronoi = 0; + + float3 position = 0; + + + if (_VoronoiSpace == 0) + { + position = poiMesh.localPos; + } + + if(_VoronoiSpace == 1) + { + position = poiMesh.worldPos; + } + + if(_VoronoiSpace == 2) + { + position = float3(poiMesh.uv[0].x, poiMesh.uv[0].y, 0); + } + + float mask = POI2D_SAMPLER_PAN(_VoronoiMask, _MainTex, poiMesh.uv[_VoronoiMaskUV], _VoronoiMaskPan).r; + float edgeNoise = POI2D_SAMPLER_PAN(_VoronoiNoise, _MainTex, poiMesh.uv[_VoronoiNoiseUV], _VoronoiNoisePan).r * _VoronoiNoiseIntensity; + + + if(_VoronoiType == 0) // Basic + { + voronoi = voronoi2D(position.xy, _VoronoiScale, _VoronoiSpeed); + } + + if (_VoronoiType == 1) // Diff + { + voronoi = VoronoiNoiseDiff_Octaves(position, _VoronoiScale, _VoronoiSpeed, voronoiOctaveNumber, voronoiOctaveScale, voronoiOctaveAttenuation, 1, _Time.x); + } + + if (_VoronoiType == 2) // Fixed Border + { + voronoi = voronoi3D(position, _VoronoiScale, _VoronoiSpeed); + // isolines + //color = c.x * (0.5 + 0.5 * sin(64.0 * c.x)) * 1.0; + } + + if (_VoronoiEnableRandomCellColor == 1) + { + float3 rando = random3(randomPoint); + fixed hue = rando.x; + fixed saturation = lerp(_VoronoiRandomMinMaxSaturation.x, _VoronoiRandomMinMaxSaturation.y, rando.y); + fixed value = lerp(_VoronoiRandomMinMaxBrightness.x, _VoronoiRandomMinMaxBrightness.y, rando.z); + float3 hsv = float3(hue, saturation, value); + + voronoiColor1.rgb = HSVtoRGB(hsv); + } + + float2 voronoiGradient = _VoronoiGradient; + voronoiGradient.xy += edgeNoise; + float ramp = smoothstep(voronoiGradient.x, voronoiGradient.y, voronoi); + + + if(_VoronoiBlend == 0) + { + float4 voronoiColor = lerp(_VoronoiColor0, voronoiColor1, ramp); + + if(_VoronoiEffectsMaterialAlpha) + { + finalColor.rgba = lerp(finalColor, voronoiColor, mask); + } + else + { + finalColor.rgb = lerp(finalColor.rgb, voronoiColor.rgb, mask * voronoiColor.a); + } + } + float4 voronoiEmissionColor = lerp(_VoronoiColor0 * _VoronoiEmission0, voronoiColor1 * _VoronoiEmission1, ramp); + VoronoiEmission = voronoiEmissionColor.rgb * mask * voronoiEmissionColor.a; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta new file mode 100644 index 00000000..0e0ddec1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4ff97e7b2da9c0a459f05640b60022aa +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc new file mode 100644 index 00000000..49c602c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc @@ -0,0 +1,111 @@ +#ifndef POI_WIREFRAME + #define POI_WIREFRAME + + UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST; + float2 _WireframeTexturePan; + float _WireframeSmoothing; + float _WireframeThickness; + float4 _WireframeColor; + float _WireframeAlpha; + float _WireframeEnable; + float _WireframeWaveEnabled; + float _WireframeWaveDensity; + float _WireframeWaveSpeed; + float _WireframeEdgeOpacity; + float _WireframeFaceOpacity; + half _WireframeEmissionAlpha; + float _WireframeEmissionStrength; + float _WireframeQuad; + float _WireframeUV; + + #ifndef POI_SHADOW + void applyWireframe(inout float3 wireframeEmission, inout float4 albedo) + { + + if (_WireframeEnable) + { + float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan); + float size = _WireframeThickness; + half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates)); + half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates); + half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1; + + float4 wireframeColor = _WireframeColor * colorMap; + + albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary); + wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a; + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream) + { + + if(_WireframeQuad) + { + float e1 = length(IN[0].localPos - IN[1].localPos); + float e2 = length(IN[1].localPos - IN[2].localPos); + float e3 = length(IN[2].localPos - IN[0].localPos); + + float3 quad = 0; + if(e1 > e2 && e1 > e3) + quad.y = 1.; + else if(e2 > e3 && e2 > e1) + quad.x = 1; + else + quad.z = 1; + + IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad; + IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad; + IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad; + } + else + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + } + + + + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #else + + float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos) + { + + if(_WireframeEnable) + { + float wireframeFadeAlpha = _WireframeAlpha; + float3 finalWireframeColor = 0; + + float3 barys; + barys.xy = barycentricCoordinates; + barys.z = 1 - barys.x - barys.y; + float3 deltas = fwidth(barys); + float3 smoothing = deltas * _WireframeSmoothing; + float wireframeThickness = _WireframeThickness; + float3 thickness = deltas * wireframeThickness; + barys = smoothstep(thickness, thickness + smoothing, barys); + float minBary = min(barys.x, min(barys.y, barys.z)); + + return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream) + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta new file mode 100644 index 00000000..94638757 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 440d9f8b97c1bd040b7280aa98feebd0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc new file mode 100644 index 00000000..319de57c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc @@ -0,0 +1,171 @@ +#ifndef POICLUDES + #define POICLUDES + + UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _PoiGrab; + sampler2D _CameraDepthTexture; + float _Cutoff; + float _AlphaMod; + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #ifdef OUTLINE + float _LineWidth; + float _OutlineEmission; + float4 _LineColor; + sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV; + float4 _OutlineFadeDistance; + float4 _OutlineGlobalPan; + #endif + + struct PoiLighting + { + half3 direction; + half3 color; + fixed attenuation; + #ifdef FORWARD_ADD_PASS + fixed additiveShadow; + #endif + half3 directLighting; + half3 indirectLighting; + half lightMap; + half3 rampedLightMap; + half3 finalLighting; + half3 halfDir; + half nDotL; + half nDotH; + half lDotv; + half lDotH; + half nDotV; + half N0DotV; + half diffuseTerm; + + // World normal dot half direction + #ifdef POI_VAR_DOTNH + half dotNH; + #endif + + // Light direction dot half direction + #ifdef POI_VAR_DOTLH + half dotLH; + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + float4 vDotNL; + float3 vColor[4]; + float4 vCorrectedDotNL; + float4 vAttenuation; + float4 vAttenuationDotNL; + float3 vPosition[4]; + float3 vDirection[4]; + float3 vFinalLighting; + float3 vHalfDir[4]; + + #ifdef POI_VAR_DOTLH + half4 vDotLH; + #endif + + #ifdef POI_VAR_DOTNH + half4 vDotNH; + #endif + + #endif + }; + + struct PoiCamera + { + half3 viewDir; + half3 tangentViewDir; + half3 forwardDir; + half3 worldPos; + float viewDotNormal; + float distanceToModel; + float distanceToVert; + float3 reflectionDir; + float3 vertexReflectionDir; + float2 screenUV; + float4 clipPos; + #if defined(GRAIN) + float4 worldDirection; + #endif + float4 grabPos; + }; + + struct PoiMesh + { + float3 normals[2]; + float3 tangent; + float3 binormal; + float3 localPos; + float3 worldPos; + float3 modelPos; + float3 tangentSpaceNormal; + float2 uv[5]; + float4 vertexColor; + fixed3 barycentricCoordinates; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV; + #endif + float isFrontFace; + #ifdef FUR + float furAlpha; + #endif + }; + + struct PoiTangentData + { + float3x3 tangentTransform; + float3x3 tangentToWorld; + }; + + struct FragmentCommonData + { + half3 diffColor, specColor; + // Note: smoothness & oneMinusReflectivity for optimization purposes, mostly for DX9 SM2.0 level. + // Most of the math is being done on these (1-x) values, and that saves a few precious ALU slots. + half oneMinusReflectivity, smoothness; + float3 normalWorld; + float3 eyeVec; + half alpha; + float3 posWorld; + + #if UNITY_STANDARD_SIMPLE + half3 reflUVW; + #endif + + #if UNITY_STANDARD_SIMPLE + half3 tangentSpaceNormal; + #endif + }; + + struct Debug + { + float debug1; + float2 debug2; + float3 debug3; + float4 debug4; + }; + + static Debug debug; + static PoiLighting poiLight; + static PoiCamera poiCam; + static PoiMesh poiMesh; + static UnityGI gi; + static FragmentCommonData s; + static PoiTangentData poiTData; + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta new file mode 100644 index 00000000..c3795805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1adfb72b99c3b97458a930c3beed75ac +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta new file mode 100644 index 00000000..96a6faef --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 61d68bdad07100246ba39fc2006b2f95 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader new file mode 100644 index 00000000..6c732ae5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader @@ -0,0 +1,7648 @@ +Shader "Hidden/.poiyomi/• Poiyomi Toon •/Atlas-bf040773" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 + [HideInInspector] shader_master_label ("Poiyomi Toon V7.0.100", Float) = 0 + [HideInInspector] shader_presets ("poiToonPresets", Float) = 0 + [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0 + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + // Keyword to remind users in the VRChat SDK that this material hasn't been locked. Inelegant but it works. + [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 + [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0 + [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0 + + [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7, Multiplicative Grab Pass, 8)]_Mode("Rendering Preset--{on_value_actions:[ + {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2451}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]}, + {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:RenderType=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]} + }]}]}", Int) = 0 + [HideInInspector] m_LockingInfo ("Locking Info--{button_right:{text:Tutorial,action:{type:URL,data:https://youtu.be/asWeDJb5LAo},hover:YouTube},is_hideable:true}", Float) = 0 + [Helpbox(1)] _HelpBoxLocking ("LOCKING IN THE SHADER WILL DRAMATICALLY INCREASE PERFORMANCE AND DRAMATICALLY LOWER THE FILE SIZE OF AN AVATAR PACKAGE. + + LOCKED IN MATERIALS CANNOT BE ANIMATED WITHOUT SETTING THE SPECIFIC PROPERTY TO DYNAMIC. RIGHT CLICK MATERIAL PROPERTIES YOU WISH TO ANIMATE, A CLOCK ICON WILL APPEAR BESIDE THE PROPERTY SIGNIFYING THAT IT CAN BE ANIMATED. + + FOR MORE INFORMATION ON LOCKING PLEASE WATCH THE LOCKING TUTORIAL IN THE HEADER ABOVE.", Int) = 0 + [Helpbox(2)] _HelpBoxHideLocking ("TO HIDE THIS CATEGORY SELECT CUSTOM UI AT THE TOP AND UNCHECK THE LOCKING INFO CATEGORY", Float) = 0 + // Main + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color & Alpha", Color) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("UV", Int) = 0 + _Saturation ("Saturation", Range(-1, 1)) = 0 + _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _BumpMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _AlphaMask ("Alpha Map", 2D) = "white" { } + [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AlphaMaskUV ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector] m_start_MainHueShift ("Hue Shift", Float) = 0 + [HideInInspector][Toggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0 + [ToggleUI]_MainHueShiftReplace ("Replace?", Float) = 1 + _MainHueShift ("Hue Shift", Range(0, 1)) = 0 + _MainHueShiftSpeed ("Shift Speed", Float) = 0 + _MainHueShiftMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainHueShiftMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainHueShiftMaskUV ("UV", Int) = 0 + [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0 + + // RGB Masking + [HideInInspector] m_start_RGBMask ("RGB Color Masking", Float) = 0 + [HideInInspector][Toggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0 + [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0 + [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0 + _RGBMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBMaskUV ("UV", int) = 0 + _RedColor ("R Color", Color) = (1, 1, 1, 1) + _RedTexure ("R Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBRed_UV ("UV", int) = 0 + _GreenColor ("G Color", Color) = (1, 1, 1, 1) + _GreenTexture ("G Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBGreen_UV ("UV", int) = 0 + _BlueColor ("B Color", Color) = (1, 1, 1, 1) + _BlueTexture ("B Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBBlue_UV ("UV", int) = 0 + // RGB MASKED NORMALS + [Toggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0 + [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0 + [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalRUV ("UV", int) = 0 + _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalGUV ("UV", int) = 0 + _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalBUV ("UV", int) = 0 + _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0 + + // Detail Options + [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0 + _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { } + [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailMaskUV ("UV", Int) = 0 + _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1) + _DetailTex ("Detail Texture", 2D) = "gray" { } + [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailTexUV ("UV", Int) = 0 + _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1 + _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1 + [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1 + [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailNormalMapUV ("UV", Int) = 0 + [HideInInspector] m_end_DetailOptions ("Details", Float) = 0 + + // Vertex Colors + [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0 + _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0 + _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0 + + //Vertex Manipulations + [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0 + [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1) + [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1) + _VertexManipulationHeight ("Vertex Height", Float) = 0 + _VertexManipulationHeightMask ("Height Map", 2D) = "while" { } + [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0 + _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0 + [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0 + _VertexRoundingDivision ("Division Amount", Float) = 500 + [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0 + + // Alpha Options + [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0 + _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0 + _DitherGradient ("Dither Gradient", Range(0, 1)) = .1 + [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0 + _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0 + [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0 + [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0 + _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25 + [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0 + _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 + [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 + + // Decal Texture + [HideInInspector] m_start_DecalSection ("Decal", Float) = 0 + [HideInInspector][Toggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0 + _DecalColor ("Color", Color) = (1, 1, 1, 1) + _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _DecalTexture ("Decal", 2D) = "white" { } + [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalTextureUV ("UV", Int) = 0 + _DecalMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalMaskUV ("UV", Int) = 0 + [ToggleUI]_DecalTiled ("Tiled?", Float) = 0 + [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0) + [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0) + _DecalRotation ("Rotation", Range(0, 360)) = 0 + _DecalRotationSpeed ("Rotation Speed", Float) = 0 + _DecalBlendAdd ("Add", Range(0, 1)) = 0 + _DecalBlendMultiply ("Multiply", Range(0, 1)) = 0 + _DecalBlendReplace ("Replace", Range(0, 1)) = 0 + [HideInInspector] m_end_DecalSection ("Decal", Float) = 0 + + // Back Face Textures and Emission + [HideInInspector] m_start_backFace ("Back Face", Float) = 0 + [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0 + _BackFaceColor ("Color", Color) = (1, 1, 1, 1) + _BackFaceTexture ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_BackFaceTextureUV ("UV#", Int) = 0 + _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1 + _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0 + _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [HideInInspector] m_end_backFace ("Back Face", Float) = 0 + + // Lighting + [HideInInspector] m_lightingOptions ("Lighting", Float) = 0 + [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0 + [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1 + [Enum(Toon, 0, Realistic, 1)] _LightingMode ("Lighting Type", Int) = 0 + _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0 + [ToggleUI]_LightingShadingEnabled ("Enable Shading--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0 + [Enum(Ramp Texture, 0, Math Gradient, 1)] _LightingRampType ("Ramp Type--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Int) = 0 + [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", 2D) = "white" { } + _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowMaskUV ("UV", Int) = 0 + _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0 + _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = 0 + _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = .5 + _LightingShadowColor ("Shadow Tint--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Color) = (1, 1, 1, 1) + _ShadowStrength ("Shadow Strength--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 1 + _AttenuationMultiplier ("Unity Shadows--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==1},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 0 + [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + + [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0 + [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0 + [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0 + [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0 + [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0 + _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0 + _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 + _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0 + [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0 + + [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled}", Float) = 0 + [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0 + _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingDetailShadowsUV ("UV", Int) = 0 + _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0 + + [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0 + _LightingAOTex ("AO Map", 2D) = "white" { } + [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingAOTexUV ("UV", Int) = 0 + _AOStrength ("AO Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0 + + [HideInInspector] m_start_shadowTexture ("Shadow Texture--{reference_property:_UseShadowTexture, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + [HideInInspector][ToggleUI]_UseShadowTexture ("EnableShadowTexture--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + _LightingShadowTexture ("Shadow Texture--{reference_properties:[_LightingShadowTexturePan, _LightingShadowTextureUV], condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_shadowTexture ("Shadow Texture", Float) = 0 + + // HSL Lighting + [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0 + _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1 + _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5 + _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5 + _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5 + [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0 + + // point/spot Light Settings + [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_commentIfZero_LightingAdditiveEnable,button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0 + [HideInInspector][ToggleUI]_commentIfZero_LightingAdditiveEnable ("Enable Additive", Float) = 1 + [Enum(Realistic, 0, Toon, 1)] _LightingAdditiveType ("Lighting Type", Int) = 1 + _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0 + _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5 + _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5 + _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1 + [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0 + _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1 + [Toggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1 + [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0 + [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0 + + // Subsurface Scattering + [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0 + [Toggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0 + _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1) + _SSSThicknessMap ("Thickness Map", 2D) = "black" { } + [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SSSThicknessMapUV ("UV", Int) = 0 + _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0 + _SSSSCale ("Light Strength", Range(0, 1)) = 0.25 + _SSSPower ("Light Spread", Range(1, 100)) = 5 + _SSSDistortion ("Light Distortion", Range(0, 1)) = 1 + [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0 + + // Rim Lighting + [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0 + [Toggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0 + [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1 + [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimTexUV ("UV", Int) = 0 + _RimMask ("Rim Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimMaskUV ("UV", Int) = 0 + + // Rim Noise + [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0 + _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { } + [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0 + _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1 + [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0 + + // Rim Shadow Mix + [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0 + _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0 + _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5 + _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5 + [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0 + [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0 + + // Environmental Rim Lighting + [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0 + [Toggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0 + _RimEnviroMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimEnviroMaskUV ("UV", Int) = 0 + _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7 + _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45 + _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0 + _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0 + _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1 + [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0 + + // Baked Lighting + [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0 + _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1 + [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown + [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown + [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0 + + // Metallics + [HideInInspector] m_start_Metallic ("Metallics", Float) = 0 + [Toggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1) + _MetallicTintMap ("Tint Map", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicTintMapUV ("UV", Int) = 0 + _MetallicMask ("Metallic Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicMaskUV ("UV", Int) = 0 + _Metallic ("Metallic", Range(0, 1)) = 0 + _SmoothnessMask ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SmoothnessMaskUV ("UV", Int) = 0 + [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _Smoothness ("Smoothness", Range(0, 1)) = 0 + [HideInInspector] m_end_Metallic ("Metallics", Float) = 0 + + // Clearcoat + [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0 + [Toggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0 + [Enum(Vertex, 0, Pixel, 1)] _ClearCoatNormalToUse ("What Normal?", Int) = 0 + _ClearCoatCubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_ClearCoatSampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _ClearCoatTint ("Reflection Tint", Color) = (1, 1, 1) + _ClearCoatMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatMaskUV ("UV", Int) = 0 + _ClearCoat ("Clear Coat", Range(0, 1)) = 1 + _ClearCoatSmoothnessMap ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatSmoothnessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatSmoothnessMapUV ("UV", Int) = 0 + [ToggleUI]_ClearCoatInvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _ClearCoatSmoothness ("Smoothness", Range(0, 1)) = 0 + [ToggleUI]_ClearCoatForceLighting ("Force Lighting", Float) = 0 + [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0 + + // First Matcap + [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0 + [Toggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0 + _MatcapColor ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { } + _MatcapBorder ("Border", Range(0, .5)) = 0.43 + _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MatcapMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0 + _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _MatcapIntensity ("Intensity", Range(0, 5)) = 1 + _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 + _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1 + _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0 + _MatcapAdd ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1 + [HideInInspector] m_end_matcap ("Matcap", Float) = 0 + + // Second Matcap + [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0 + [ToggleUI]_Matcap2Enable ("Enable Matcap 2", Float) = 0 + _Matcap2Color ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { } + _Matcap2Border ("Border", Range(0, .5)) = 0.43 + _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _Matcap2MaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0 + _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _Matcap2Intensity ("Intensity", Range(0, 5)) = 1 + _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0 + _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0 + _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0 + _Matcap2Add ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1 + [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0 + + // Specular + [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0 + [Toggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1 + _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMapUV ("UV", Int) = 0 + _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1 + [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMapUV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0 + _SpecularMask ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMaskUV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1 + // Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0 + _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0 + _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMapUV ("UV", Int) = 0 + //toon aniso + _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95 + _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0 + // Toon Specular + [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0 + + // Second Specular + [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0 + [ToggleUI]_EnableSpecular1 ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1 + _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0 + _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75 + _SpecularMap1 ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMap1UV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0 + _SpecularMask1 ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMask1UV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1 + // Second Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0 + _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0 + _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMap1UV ("UV", Int) = 0 + // Second toon aniso + _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95 + _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor1 ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0 + // Second Toon Specular + [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0 + + // First Emission + [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0 + [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0 + [Toggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0 + [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMapUV ("UV", Int) = 0 + _EmissionMask ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMaskUV ("UV", Int) = 0 + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0 + _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 + + // Center out emission + [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0 + + // Glow in the dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + // Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + _EmissionScrollingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0 + + // Second Enission + [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0 + [Toggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0 + [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMap1UV ("UV", Int) = 0 + _EmissionMask1 ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMask1UV ("UV", Int) = 0 + _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0 + _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0 + + // Second Center Out Enission + [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0 + + // Second Glow In The Dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Second Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + + // Scrolling Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0 + _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width1 ("Width", Float) = 10 + _EmissiveScroll_Velocity1 ("Velocity", Float) = 10 + _EmissiveScroll_Interval1 ("Interval", Float) = 20 + _EmissionScrollingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0 + + // Flipbook + [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0 + [Toggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0 + [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0 + [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookTexArrayUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookMask ("Mask", 2D) = "white" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookMaskUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1) + _FlipbookTotalFrames ("Total Frames", Int) = 1 + _FlipbookFPS ("FPS", Float) = 30.0 + _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0) + [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0 + _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _FlipbookRotation ("Rotation", Range(0, 360)) = 0 + _FlipbookRotationSpeed ("Rotation Speed", Float) = 0 + _FlipbookReplace ("Replace", Range(0, 1)) = 1 + _FlipbookMultiply ("Multiply", Range(0, 1)) = 0 + _FlipbookAdd ("Add", Range(0, 1)) = 0 + + // Flipbook Manual Control + [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0 + _FlipbookCurrentFrame ("Current Frame", Float) = -1 + [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0 + [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0 + + // Dissolve + [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0 + [Toggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0 + [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1 + _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025 + _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5 + _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1) + [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { } + _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0 + _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1) + _DissolveToTexture ("Dissolved Texture", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveToTextureUV ("UV", Int) = 0 + _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0 + _DissolveNoiseTexture ("Dissolve Noise", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0 + _DissolveDetailNoise ("Dissolve Detail Noise", 2D) = "black" { } + [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0 + _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1 + _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0 + _DissolveMask ("Dissolve Mask", 2D) = "white" { } + [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0 + [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0 + _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0 + [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2 + [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0 + + // Point to Point Dissolve + [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0 + [Enum(Local, 0, World, 1)] _DissolveP2PWorldLocal ("World/Local", Int) = 0 + _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1 + [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0) + [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0) + [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0 + + // Locked in anim sldiers + [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0 + _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0 + _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0 + _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0 + _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0 + _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0 + _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0 + _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0 + _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0 + _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0 + _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0 + [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0 + [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0 + + // Panosphere + [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + [Toggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0 + [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0 + _PanosphereColor ("Color", Color) = (1, 1, 1, 1) + _PanosphereTexture ("Texture", 2D) = "white" { } + _PanoMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _PanoMaskUV ("UV", Int) = 0 + _PanoEmission ("Emission Strength", Range(0, 10)) = 0 + _PanoBlend ("Alpha", Range(0, 1)) = 0 + [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0) + [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0 + [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { } + [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + + // Glitter + [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0 + [Toggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0 + [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0 + [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0 + [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0 + [HDR]_GlitterColor ("Color", Color) = (1, 1, 1) + _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0 + _GlitterColorMap ("Glitter Color Map", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterColorMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterMask ("Glitter Mask", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterMaskUV ("UV", Int) = 0 + _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterTextureRotation ("Rotation Speed", Float) = 0 + _GlitterFrequency ("Glitter Density", Float) = 300.0 + _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0 + _GlitterSpeed ("Glitter Speed", Float) = 10.0 + _GlitterSize ("Glitter Size", Range(0, 1)) = .3 + _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300 + _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90 + _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0 + _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3 + _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8 + _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08 + _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20 + _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0 + + // Glitter Random Colors + [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0 + [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0 + [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1) + [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1) + [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0 + [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1) + [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0 + [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0 + [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0 + + // MSDF OVERLAY + [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0 + _TextGlyphs ("Font Array", 2D) = "black" { } + _TextPixelRange ("Pixel Range", Float) = 4.0 + [Toggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0 + + // FPS + [HideInInspector] m_start_TextFPS ("FPS", Float) = 0 + [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextFPSUV ("FPS UV", Int) = 0 + _TextFPSColor ("Color", Color) = (1, 1, 1, 1) + _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextFPSRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1) + _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextFPS ("FPS", Float) = 0 + + // POSITION + [HideInInspector] m_start_TextPosition ("Position", Float) = 0 + [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextPositionUV ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVertical ("Vertical?", Float) = 0 + _TextPositionColor ("Color", Color) = (1, 0, 1, 1) + _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextPositionRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1) + _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextPosition ("Position", Float) = 0 + + // INSTANCE TIME + [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0 + [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextTimeUV ("Time UV", Int) = 0 + _TextTimeColor ("Color", Color) = (1, 0, 1, 1) + _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextTimeRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1) + _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0 + [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0 + + // Mirror Rendering + [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0 + [Toggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0 + [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0 + [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0 + _MirrorTexture ("Mirror Tex", 2D) = "white" { } + [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MirrorTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0 + + // Distance Fade + [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0 + _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0 + _MainFadeTexture ("Fade Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainFadeTextureUV ("UV", Int) = 0 + [Vector2]_MainDistanceFade ("Distance Fade X to Y", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0 + + // Angular Fade + [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0 + [Toggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0 + [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0 + [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0 + [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0) + _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45 + _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90 + _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45 + _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90 + _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0 + + // UV Distortion + [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0 + [Toggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0 + _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0 + _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { } + _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { } + _DistortionStrength ("Strength1", Float) = 0.5 + _DistortionStrength1 ("Strength2", Float) = 0.5 + [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0) + [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0) + [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0 + + // Outline Options + [HideInInspector] m_outlineOptions ("Outlines", Float) = 0 + [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0 + [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0 + _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0 + _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0 + _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0) + _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0) + [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0 + [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0 + [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1 + _LineWidth ("Width", Float) = 0 + _LineColor ("Color", Color) = (1, 1, 1, 1) + _OutlineEmission ("Outline Emission", Float) = 0 + _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineTextureUV ("UV", Int) = 0 + _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineMaskUV ("UV", Int) = 0 + _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0 + [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0) + [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1 + _OutlineOffsetFactor("Offset Factor", Float) = 0 + _OutlineOffsetUnits("Offset Units", Float) = 0 + [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0 + + // Parallax Mapping + [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0 + [Toggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0 + [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0 + [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0 + [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0 + [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0) + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0 + _ParallaxHeightMap ("Height Map", 2D) = "black" { } + _ParallaxHeightMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0 + _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0 + [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0 + [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0 + [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0 + [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0 + _ParallaxInternalMap ("Internal Map", 2D) = "black" { } + _ParallaxInternalMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0 + _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1 + _ParallaxInternalMinDepth ("Min Depth", Float) = 0 + _ParallaxInternalMaxDepth ("Max Depth", Float) = 1 + _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0 + _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1 + _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1) + _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1) + [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0) + [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0 + [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0 + _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42 + [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0 + + // Rendering Options + [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1 + [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15 + _OffsetFactor ("Offset Factor", Float) = 0.0 + _OffsetUnits ("Offset Units", Float) = 0.0 + [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 + [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown + + // Blending Options + [HideInInspector] m_start_blending ("Blending", Float) = 0 + [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 + [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1 + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0 + [HideInInspector] m_end_blending ("Blending", Float) = 0 + + // Stencils + [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 + + // Outline Stencil + [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{is_hideable:true, condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + // Debug Options + [HideInInspector] m_start_debugOptions ("Debug", Float) = 0 + [HideInInspector][Toggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0 + _VertexUnwrap ("Unwrap", Range(0, 1)) = 0 + [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0 + [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0 + [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0 + [HideInInspector] m_end_debugOptions ("Debug", Float) = 0 + + //[HideInInspector] m_animationToggles ("Animation Support Toggles", Float) = 0 + //[HelpBox(1)] _AnimationToggleHelp ("You don't need to search through this list. You can enable animation support on any property by right clicking it", Int) = 0 + + // Main + [HideInInspector]_ColorAnimated ("Color & Alpha", Int) = 0 + [HideInInspector]_MainTexAnimated ("Texture", Int) = 0 + [HideInInspector]_MainTex_STAnimated ("Texture Offset/Scale", Int) = 0 + [HideInInspector]_MainTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_SaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_MainVertexColoringAnimated ("Use Vertex Color", Int) = 0 + [HideInInspector]_MainUseVertexColorAlphaAnimated ("Use Vertex Alpha", Int) = 0 + [HideInInspector]_MainEmissionStrengthAnimated ("Basic Emission", Int) = 0 + [HideInInspector]_BumpMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_BumpMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_BumpMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_BumpScaleAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_AlphaMaskAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_AlphaMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AlphaMaskUVAnimated ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector]_MainHueShiftToggleAnimated ("Toggle Hueshift", Int) = 0 + [HideInInspector]_MainHueShiftReplaceAnimated ("Replace?", Int) = 0 + [HideInInspector]_MainHueShiftAnimated ("Hue Shift", Int) = 0 + [HideInInspector]_MainHueShiftSpeedAnimated ("Shift Speed", Int) = 0 + [HideInInspector]_MainHueShiftMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MainHueShiftMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainHueShiftMaskUVAnimated ("UV", Int) = 0 + + // RGB Masking + [HideInInspector]_RGBMaskEnabledAnimated ("RGB Mask Enabled", Int) = 0 + [HideInInspector]_RGBUseVertexColorsAnimated ("Use Vertex Colors", Int) = 0 + [HideInInspector]_RGBBlendMultiplicativeAnimated ("Multiplicative?", Int) = 0 + [HideInInspector]_RGBMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RGBMaskPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RedColorAnimated ("R Color", Int) = 0 + [HideInInspector]_RedTexureAnimated ("R Texture", Int) = 0 + [HideInInspector]_RGBRedPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBRed_UVAnimated ("UV", Int) = 0 + [HideInInspector]_GreenColorAnimated ("G Color", Int) = 0 + [HideInInspector]_GreenTextureAnimated ("G Texture", Int) = 0 + [HideInInspector]_RGBGreenPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBGreen_UVAnimated ("UV", Int) = 0 + [HideInInspector]_BlueColorAnimated ("B Color", Int) = 0 + [HideInInspector]_BlueTextureAnimated ("B Texture", Int) = 0 + [HideInInspector]_RGBBluePanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBBlue_UVAnimated ("UV", Int) = 0 + [HideInInspector]_RGBNormalBlendAnimated ("UV", Int) = 0 + + // Detail Options + [HideInInspector]_DetailMaskAnimated ("Detail Mask (R:Texture, G:Normal)", Int) = 0 + [HideInInspector]_DetailMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTintAnimated ("Detail Texture Tint", Int) = 0 + [HideInInspector]_DetailTexAnimated ("Detail Texture", Int) = 0 + [HideInInspector]_DetailTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTexIntensityAnimated ("Detail Tex Intensity", Int) = 0 + [HideInInspector]_DetailBrightnessAnimated ("Detail Brightness:", Int) = 0 + [HideInInspector]_DetailNormalMapAnimated ("Detail Normal", Int) = 0 + [HideInInspector]_DetailNormalMapScaleAnimated ("Detail Normal Intensity", Int) = 0 + [HideInInspector]_DetailNormalMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailNormalMapUVAnimated ("UV", Int) = 0 + + //Vertex Manipulations + [HideInInspector]_VertexManipulationLocalTranslationAnimated ("Local Translation", Int) = 0 + [HideInInspector]_VertexManipulationLocalRotationAnimated ("Local Rotation", Int) = 0 + [HideInInspector]_VertexManipulationLocalScaleAnimated ("Local Scale", Int) = 0 + [HideInInspector]_VertexManipulationWorldTranslationAnimated ("World Translation", Int) = 0 + [HideInInspector]_VertexManipulationHeightAnimated ("Vertex Height", Int) = 0 + [HideInInspector]_VertexManipulationHeightMaskAnimated ("Height Map", Int) = 0 + [HideInInspector]_VertexManipulationHeightPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VertexManipulationHeightUVAnimated ("UV", Int) = 0 + [HideInInspector]_VertexManipulationHeightBiasAnimated ("Mask Bias", Int) = 0 + [HideInInspector]_VertexRoundingEnabledAnimated ("Rounding Enabled", Int) = 0 + [HideInInspector]_VertexRoundingDivisionAnimated ("Division Amount", Int) = 0 + + // Alpha Options + [HideInInspector]_AlphaModAnimated ("Alpha Mod", Int) = 0 + [HideInInspector]_CutoffAnimated ("Alpha Cuttoff", Int) = 0 + [HideInInspector]_DitheringEnabledAnimated ("Enable Dithering", Int) = 0 + [HideInInspector]_DitherGradientAnimated ("Dither Gradient", Int) = 0 + [HideInInspector]_ForceOpaqueAnimated ("Force Opaque", Int) = 0 + [HideInInspector]_MainShadowClipModAnimated ("Shadow Clip Mod", Int) = 0 + [HideInInspector]_AlphaToMaskAnimated ("Alpha To Coverage", Int) = 0 + [HideInInspector]_MainAlphaToCoverageAnimated ("Sharpenned A2C", Int) = 0 + [HideInInspector]_AlphaPremultiplyAnimated ("Alpha Premultiply", Int) = 0 + [HideInInspector]_MainMipScaleAnimated ("Mip Level Alpha Scale", Int) = 0 + + // Decal Texture + [HideInInspector]_DecalEnabledAnimated ("Enable", Int) = 0 + [HideInInspector]_DecalColorAnimated ("Color", Int) = 0 + [HideInInspector]_DecalEmissionStrengthAnimated ("Color", Int) = 0 + [HideInInspector]_DecalTextureAnimated ("Decal", Int) = 0 + [HideInInspector]_DecalTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DecalMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_DecalScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_DecalPositionAnimated ("Position", Int) = 0 + [HideInInspector]_DecalRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_DecalRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_DecalBlendAddAnimated ("Add", Int) = 0 + [HideInInspector]_DecalBlendMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_DecalBlendReplaceAnimated ("Replace", Int) = 0 + + // Lighting + [HideInInspector]_EnableLightingAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LightingModeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingStandardSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_LightingShadingEnabledAnimated ("Enable Shading-",Int) = 0 + [HideInInspector]_LightingRampTypeAnimated ("Ramp Type", Int) = 0 + [HideInInspector]_ToonRampAnimated ("Lighting Ramp", Int) = 0 + [HideInInspector]_LightingShadowMaskAnimated ("Ramp Mask", Int) = 0 + [HideInInspector]_LightingShadowMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ShadowOffsetAnimated ("Ramp Offset", Int) = 0 + [HideInInspector]_LightingGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingShadowColorAnimated ("Shadow Tint", Int) = 0 + [HideInInspector]_ShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_AttenuationMultiplierAnimated ("Unity Shadows", Int) = 0 + [HideInInspector]_LightingIgnoreAmbientColorAnimated ("Ignore Ambient Color", Int) = 0 + + [HideInInspector]_LightingDirectColorModeAnimated ("D Color", Int) = 0 + [HideInInspector]_LightingIndirectColorModeAnimated ("I Color?", Int) = 0 + [HideInInspector]_LightingMonochromaticAnimated ("Monochromatic Lighting?", Int) = 0 + [HideInInspector]_LightingUncappedAnimated ("Uncapped Lighting", Int) = 0 + [HideInInspector]_LightingOnlyUnityShadowsAnimated ("Only Unity Shadows", Int) = 0 + [HideInInspector]_LightingMinLightBrightnessAnimated ("Min Brightnes", Int) = 0 + [HideInInspector]_LightingMinShadowBrightnessRatioAnimated ("Shadow:Light min Ratio", Int) = 0 + + [HideInInspector]_LightingDetailShadowsEnabledAnimated ("Enabled Detail Shadows?", Int) = 0 + [HideInInspector]_LightingDetailShadowsAnimated ("Detail Shadows", Int) = 0 + [HideInInspector]_LightingDetailShadowsPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingDetailShadowsUVAnimated ("UV", Int) = 0 + [HideInInspector]_LightingDetailStrengthAnimated ("Detail Strength", Int) = 0 + + [HideInInspector]_LightingEnableAOAnimated ("Enable AO", Int) = 0 + [HideInInspector]_LightingAOTexAnimated ("AO Map", Int) = 0 + [HideInInspector]_LightingAOTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingAOTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_AOStrengthAnimated ("AO Strength", Range(0, 1)) = 0 + + [HideInInspector]_UseShadowTextureAnimated ("EnableShadowTexture", Int) = 0 + [HideInInspector]_LightingShadowTextureAnimated ("Shadow Texture", Int) = 0 + [HideInInspector]_LightingShadowTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowTextureUVAnimated ("UV", Int) = 0 + + [HideInInspector]_LightingEnableHSLAnimated ("Enabled HSL Lighting", Int) = 0 + [HideInInspector]_LightingHSLIntensityAnimated ("Shadow HSL Intensity", Int) = 0 + [HideInInspector]_LightingShadowHueAnimated ("Shadow Hue Change", Int) = 0 + [HideInInspector]_LightingShadowSaturationAnimated ("Shadow Saturation Change", Int) = 0 + [HideInInspector]_LightingShadowLightnessAnimated ("Shadow Lightness Change", Int) = 0 + + // point/spot Light Settings + [HideInInspector]_commentIfZero_LightingAdditiveEnableAnimated ("Enable Additive", Int) = 0 + [HideInInspector]_LightingAdditiveTypeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingAdditiveGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingAdditiveGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingAdditivePassthroughAnimated ("Point Light Passthrough", Int) = 0 + [HideInInspector]_LightingAdditiveDetailStrengthAnimated ("Detail Shadow Strength", Int) = 0 + [HideInInspector]_LightingAdditiveLimitIntensityAnimated ("Limit Intensity", Int) = 0 + [HideInInspector]_LightingAdditiveMaxIntensityAnimated ("Max Intensity", Int) = 0 + + // Subsurface Scattering + [HideInInspector]_EnableSSSAnimated ("Enable Subsurface Scattering", Int) = 0 + [HideInInspector]_SSSColorAnimated ("Subsurface Color", Int) = 0 + [HideInInspector]_SSSThicknessMapAnimated ("Thickness Map", Int) = 0 + [HideInInspector]_SSSThicknessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SSSThicknessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SSSThicknessModAnimated ("Thickness mod", Int) = 0 + [HideInInspector]_SSSSCaleAnimated ("Light Strength", Int) = 0 + [HideInInspector]_SSSPowerAnimated ("Light Spread", Int) = 0 + [HideInInspector]_SSSDistortionAnimated ("Light Distortion", Int) = 0 + + // Rim Lighting + [HideInInspector]_EnableRimLightingAnimated ("Enable Rim Lighting", Int) = 0 + [HideInInspector]_RimLightNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_RimLightingInvertAnimated ("Invert Rim Lighting", Int) = 0 + [HideInInspector]_RimLightColorAnimated ("Rim Color", Int) = 0 + [HideInInspector]_RimWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimStrengthAnimated ("Rim Emission", Int) = 0 + [HideInInspector]_RimBrightenAnimated ("Rim Color Brighten", Int) = 0 + [HideInInspector]_RimLightColorBiasAnimated ("Rim Color Bias", Int) = 0 + [HideInInspector]_RimTexAnimated ("Rim Texture", Int) = 0 + [HideInInspector]_RimTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimMaskAnimated ("Rim Mask", Int) = 0 + [HideInInspector]_RimMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimMaskUVAnimated ("UV", Int) = 0 + + // Rim Noise + [HideInInspector]_RimWidthNoiseTextureAnimated ("Rim Width Noise", Int) = 0 + [HideInInspector]_RimWidthNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimWidthNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimWidthNoiseStrengthAnimated ("Intensity", Int) = 0 + + // Rim Shadow Mix + [HideInInspector]_ShadowMixAnimated ("Shadow Mix In", Int) = 0 + [HideInInspector]_ShadowMixThresholdAnimated ("Shadow Mix Threshold", Int) = 0 + [HideInInspector]_ShadowMixWidthModAnimated ("Shadow Mix Width Mod", Int) = 0 + + // Environmental Rim Lighting + [HideInInspector]_EnableEnvironmentalRimAnimated ("Enable Environmental Rim", Int) = 0 + [HideInInspector]_RimEnviroMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RimEnviroMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimEnviroMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimEnviroBlurAnimated ("Blur", Int) = 0 + [HideInInspector]_RimEnviroWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimEnviroSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimEnviroMinBrightnessAnimated ("Min Brightness Threshold", Int) = 0 + [HideInInspector]_RimEnviroIntensityAnimated ("Intensity", Int) = 0 + + // Metallics + [HideInInspector]_EnableMetallicAnimated ("Enable Metallics", Int) = 0 + [HideInInspector]_CubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_SampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_MetalReflectionTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_MetallicTintMapAnimated ("Tint Map", Int) = 0 + [HideInInspector]_MetallicTintMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicTintMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicMaskAnimated ("Metallic Mask", Int) = 0 + [HideInInspector]_MetallicMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SmoothnessMaskAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SmoothnessMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_InvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessAnimated ("Smoothness", Int) = 0 + + // Clearcoat + [HideInInspector]_EnableClearCoatAnimated ("Enable Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatNormalToUseAnimated ("What Normal?", Int) = 0 + [HideInInspector]_ClearCoatCubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_ClearCoatSampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_ClearCoatTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_ClearCoatMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ClearCoatMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatInvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_ClearCoatForceLightingAnimated ("Force Lighting", Int) = 0 + + // First Matcap + [HideInInspector]_MatcapEnableAnimated ("Enable Matcap", Int) = 0 + [HideInInspector]_MatcapColorAnimated ("Color", Int) = 0 + [HideInInspector]_MatcapAnimated ("Matcap", Int) = 0 + [HideInInspector]_MatcapBorderAnimated ("Border", Int) = 0 + [HideInInspector]_MatcapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MatcapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MatcapMaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_MatcapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MatcapEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_MatcapIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_MatcapLightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_MatcapReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_MatcapMultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_MatcapAddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_MatcapNormalAnimated ("Normal to use", Int) = 0 + + // Second Matcap + [HideInInspector]_Matcap2EnableAnimated ("Enable Matcap 2", Int) = 0 + [HideInInspector]_Matcap2ColorAnimated ("Color", Int) = 0 + [HideInInspector]_Matcap2Animated ("Matcap", Int) = 0 + [HideInInspector]_Matcap2BorderAnimated ("Border", Int) = 0 + [HideInInspector]_Matcap2MaskAnimated ("Mask", Int) = 0 + [HideInInspector]_Matcap2MaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_Matcap2MaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_Matcap2MaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_Matcap2EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_Matcap2IntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_Matcap2LightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_Matcap2ReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_Matcap2MultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_Matcap2AddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_Matcap2NormalAnimated ("Normal to use", Int) = 0 + + // Specular + [HideInInspector]_EnableSpecularAnimated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularTypeAnimated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTintAnimated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMapAnimated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothnessAnimated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMaskAnimated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFromAnimated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangentAnimated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1AlphaAnimated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2AlphaAnimated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1OffsetAnimated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2SmoothnessAnimated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMapAnimated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMapAnimated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStartAnimated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEndAnimated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColorAnimated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirroredAnimated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroAnimated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplierAnimated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroAnimated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplierAnimated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuterAnimated ("Inner/Outer Edge", Int) = 0 + + // Second Specular + [HideInInspector]_EnableSpecular1Animated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularType1Animated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormal1Animated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTint1Animated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallic1Animated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothness1Animated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMap1Animated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothness1Animated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMask1Animated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFrom1Animated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangent1Animated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1Alpha1Animated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2Alpha1Animated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1Offset1Animated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2Smoothness1Animated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMap1Animated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMap1Animated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStart1Animated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEnd1Animated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColor1Animated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirrored1Animated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1Animated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplier1Animated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1Animated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplier1Animated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuter1Animated ("Inner/Outer Edge", Int) = 0 + + // First Emission + [HideInInspector]_EnableEmissionAnimated ("Enable Emission", Int) = 0 + [HideInInspector]_EmissionReplaceAnimated ("Replace Base Color", Int) = 0 + [HideInInspector]_EmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMapAnimated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMapAnimated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMaskAnimated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabledAnimated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShiftAnimated ("Hue Shift", Int) = 0 + + // Center out emission + [HideInInspector]_EmissionCenterOutEnabledAnimated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeedAnimated ("Flow Speed", Int) = 0 + + // Glow in the dark Emission + [HideInInspector]_EnableGITDEmissionAnimated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMeshAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplierAnimated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplierAnimated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLightAnimated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLightAnimated ("Max Lighting", Int) = 0 + + // Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_MinAnimated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_MaxAnimated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_VelocityAnimated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffsetAnimated ("Offset", Int) = 0 + + // Scrolling Emission + [HideInInspector]_ScrollingEmissionAnimated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurveAnimated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurveAnimated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColorAnimated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_DirectionAnimated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_WidthAnimated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_VelocityAnimated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_IntervalAnimated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffsetAnimated ("Offset", Int) = 0 + + // Second Enission + [HideInInspector]_EnableEmission1Animated ("Enable Emission 2", Int) = 0 + [HideInInspector]_EmissionColor1Animated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMap1Animated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMap1Animated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMask1Animated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrength1Animated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabled1Animated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShift1Animated ("Hue Shift", Int) = 0 + + // Second Center Out Enission + [HideInInspector]_EmissionCenterOutEnabled1Animated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeed1Animated ("Flow Speed", Int) = 0 + + // Second Glow In The Dark Emission + [HideInInspector]_EnableGITDEmission1Animated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMesh1Animated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplier1Animated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplier1Animated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLight1Animated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLight1Animated ("Max Lighting", Int) = 0 + + // Second Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_Min1Animated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_Max1Animated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_Velocity1Animated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffset1Animated ("Offset", Int) = 0 + + // Scrolling Scrolling Emission + [HideInInspector]_ScrollingEmission1Animated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurve1Animated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurve1Animated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColor1Animated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_Direction1Animated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_Width1Animated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_Velocity1Animated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_Interval1Animated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffset1Animated ("Offset", Int) = 0 + + // Flipbook + [HideInInspector]_EnableFlipbookAnimated ("Enable Flipbook", Int) = 0 + [HideInInspector]_FlipbookAlphaControlsFinalAlphaAnimated ("Flipbook Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookIntensityControlsAlphaAnimated ("Intensity Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookColorReplacesAnimated ("Color Replaces Flipbook", Int) = 0 + [HideInInspector]_FlipbookTexArrayAnimated ("Texture Array", Int) = 0 + [HideInInspector]_FlipbookTexArrayUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookTexArrayPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_FlipbookMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookColorAnimated ("Color & alpha", Int) = 0 + [HideInInspector]_FlipbookTotalFramesAnimated ("Total Frames", Int) = 0 + [HideInInspector]_FlipbookFPSAnimated ("FPS", Int) = 0 + [HideInInspector]_FlipbookScaleOffsetAnimated ("Scale | Offset", Int) = 0 + [HideInInspector]_FlipbookTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_FlipbookEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_FlipbookRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_FlipbookRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_FlipbookReplaceAnimated ("Replace", Int) = 0 + [HideInInspector]_FlipbookMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_FlipbookAddAnimated ("Add", Int) = 0 + [HideInInspector]_FlipbookCurrentFrameAnimated ("Current Frame", Int) = 0 + + // Dissolve + [HideInInspector]_EnableDissolveAnimated ("Enable Dissolve", Int) = 0 + [HideInInspector]_DissolveTypeAnimated ("Dissolve Type", Int) = 0 + [HideInInspector]_DissolveEdgeWidthAnimated ("Edge Width", Int) = 0 + [HideInInspector]_DissolveEdgeHardnessAnimated ("Edge Hardness", Int) = 0 + [HideInInspector]_DissolveEdgeColorAnimated ("Edge Color", Int) = 0 + [HideInInspector]_DissolveEdgeGradientAnimated ("Edge Gradient", Int) = 0 + [HideInInspector]_DissolveEdgeEmissionAnimated ("Edge Emission", Int) = 0 + [HideInInspector]_DissolveTextureColorAnimated ("Dissolved Color", Int) = 0 + [HideInInspector]_DissolveToTextureAnimated ("Dissolved Texture", Int) = 0 + [HideInInspector]_DissolveToTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveToTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveToEmissionStrengthAnimated ("Dissolved Emission Strength", Int) = 0 + [HideInInspector]_DissolveNoiseTextureAnimated ("Dissolve Noise", Int) = 0 + [HideInInspector]_DissolveNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailNoiseAnimated ("Dissolve Detail Noise", Int) = 0 + [HideInInspector]_DissolveDetailNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveDetailNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertDetailNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailStrengthAnimated ("Dissolve Detail Strength", Int) = 0 + [HideInInspector]_DissolveAlphaAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveUseVertexColorsAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveMaskAnimated ("Dissolve Mask", Int) = 0 + [HideInInspector]_DissolveMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveMaskInvertAnimated ("Invert?", Int) = 0 + [HideInInspector]_ContinuousDissolveAnimated ("Continuous Dissolve Speed", Int) = 0 + [HideInInspector]_DissolveEmissionSideAnimated ("Emission 1", Int) = 0 + [HideInInspector]_DissolveEmission1SideAnimated ("Emission 2", Int) = 0 + + // Point to Point Dissolve + [HideInInspector]_DissolveP2PWorldLocalAnimated ("World/Local", Int) = 0 + [HideInInspector]_DissolveP2PEdgeLengthAnimated ("Edge Length", Int) = 0 + [HideInInspector]_DissolveStartPointAnimated ("Start Point", Int) = 0 + [HideInInspector]_DissolveEndPointAnimated ("End Point", Int) = 0 + + [HideInInspector]_DissolveAlpha0Animated ("_DissolveAlpha0", Int) = 0 + [HideInInspector]_DissolveAlpha1Animated ("_DissolveAlpha1", Int) = 0 + [HideInInspector]_DissolveAlpha2Animated ("_DissolveAlpha2", Int) = 0 + [HideInInspector]_DissolveAlpha3Animated ("_DissolveAlpha3", Int) = 0 + [HideInInspector]_DissolveAlpha4Animated ("_DissolveAlpha4", Int) = 0 + [HideInInspector]_DissolveAlpha5Animated ("_DissolveAlpha5", Int) = 0 + [HideInInspector]_DissolveAlpha6Animated ("_DissolveAlpha6", Int) = 0 + [HideInInspector]_DissolveAlpha7Animated ("_DissolveAlpha7", Int) = 0 + [HideInInspector]_DissolveAlpha8Animated ("_DissolveAlpha8", Int) = 0 + [HideInInspector]_DissolveAlpha9Animated ("_DissolveAlpha9", Int) = 0 + + // Panosphere + [HideInInspector]_PanoToggleAnimated ("Enable Panosphere", Int) = 0 + [HideInInspector]_PanoInfiniteStereoToggleAnimated ("Infinite Stereo", Int) = 0 + [HideInInspector]_PanosphereColorAnimated ("Color", Int) = 0 + [HideInInspector]_PanosphereTextureAnimated ("Texture", Int) = 0 + [HideInInspector]_PanoMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_PanoMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_PanoMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_PanoEmissionAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_PanoBlendAnimated ("Alpha", Int) = 0 + [HideInInspector]_PanospherePanAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_PanoCubeMapToggleAnimated ("Use Cubemap", Int) = 0 + [HideInInspector]_PanoCubeMapAnimated ("CubeMap", Int) = 0 + + // Glitter + [HideInInspector]_GlitterEnableAnimated ("Enable Glitter?", Int) = 0 + [HideInInspector]_GlitterModeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterShapeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterBlendTypeAnimated ("Blend Mode", Int) = 0 + [HideInInspector]_GlitterColorAnimated ("Color", Int) = 0 + [HideInInspector]_GlitterUseSurfaceColorAnimated ("Use Surface Color", Int) = 0 + [HideInInspector]_GlitterColorMapAnimated ("Glitter Color Map", Int) = 0 + [HideInInspector]_GlitterColorMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterColorMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterTextureAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterRandomRotationAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterFrequencyAnimated ("Glitter Density", Int) = 0 + [HideInInspector]_GlitterJitterAnimated ("Glitter Jitter", Int) = 0 + [HideInInspector]_GlitterSpeedAnimated ("Glitter Wobble Speed", Int) = 0 + [HideInInspector]_GlitterSizeAnimated ("Glitter Size", Int) = 0 + [HideInInspector]_GlitterContrastAnimated ("Glitter Contrast", Int) = 0 + [HideInInspector]_GlitterAngleRangeAnimated ("Glitter Angle Range", Int) = 0 + [HideInInspector]_GlitterMinBrightnessAnimated ("Glitter Min Brightness", Int) = 0 + [HideInInspector]_GlitterBrightnessAnimated ("Glitter Max Brightness", Int) = 0 + [HideInInspector]_GlitterBiasAnimated ("Glitter Bias", Int) = 0 + [HideInInspector]_GlitterCenterSizeAnimated ("center size", Int) = 0 + [HideInInspector]_GlitterTextureRotationAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_glitterFrequencyLinearEmissiveAnimated ("Frequency", Int) = 0 + [HideInInspector]_GlitterJaggyFixAnimated ("Jaggy Fix", Int) = 0 + + // Glitter Random Colors + [HideInInspector]_GlitterRandomColorsAnimated ("Enable", Int) = 0 + [HideInInspector]_GlitterMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_GlitterMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + [HideInInspector]_GlitterRandomSizeAnimated ("random Size Toggle", Int) = 0 + [HideInInspector]_GlitterMinMaxSizeAnimated ("Min Max Random Size", Int) = 0 + + // MSDF OVERLAY + [HideInInspector]_TextGlyphsAnimated ("Font Array", Int) = 0 + [HideInInspector]_TextPixelRangeAnimated ("Pixel Range", Int) = 0 + [HideInInspector]_TextEnabledAnimated ("Text?", Int) = 0 + + // FPS + [HideInInspector]_TextFPSEnabledAnimated ("FPS Text?", Int) = 0 + [HideInInspector]_TextFPSUVAnimated ("FPS UV", Int) = 0 + [HideInInspector]_TextFPSColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextFPSEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextFPSOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextFPSRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextFPSScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextFPSPaddingAnimated ("Padding Reduction", Int) = 0 + + // POSITION + [HideInInspector]_TextPositionEnabledAnimated ("Position Text?", Int) = 0 + [HideInInspector]_TextPositionUVAnimated ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVerticalAnimated ("Vertical?", Int) = 0 + [HideInInspector]_TextPositionColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextPositionEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextPositionOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextPositionRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextPositionScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextPositionPaddingAnimated ("Padding Reduction", Int) = 0 + + // INSTANCE TIME + [HideInInspector]_TextTimeEnabledAnimated ("Time Text?", Int) = 0 + [HideInInspector]_TextTimeUVAnimated ("Time UV", Int) = 0 + [HideInInspector]_TextTimeColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextTimeEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextTimeOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextTimeRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextTimeScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextTimePaddingAnimated ("Padding Reduction", Int) = 0 + + // Mirror Rendering + [HideInInspector]_EnableMirrorOptionsAnimated ("Enable Mirror Options", Int) = 0 + [HideInInspector]_MirrorAnimated ("Show in mirror", Int) = 0 + [HideInInspector]_EnableMirrorTextureAnimated ("Enable Mirror Texture", Int) = 0 + [HideInInspector]_MirrorTextureAnimated ("Mirror Tex", Int) = 0 + [HideInInspector]_MirrorTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MirrorTextureUVAnimated ("UV", Int) = 0 + + // Distance Fade + [HideInInspector]_MainMinAlphaAnimated ("Minimum Alpha", Int) = 0 + [HideInInspector]_MainFadeTextureAnimated ("Fade Mask", Int) = 0 + [HideInInspector]_MainFadeTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainFadeTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_MainDistanceFadeAnimated ("Distance Fade X to Y", Int) = 0 + + // Angular Fade + [HideInInspector]_EnableRandomAnimated ("Enable Angular Fade", Int) = 0 + [HideInInspector]_AngleTypeAnimated ("Angle Type", Int) = 0 + [HideInInspector]_AngleCompareToAnimated ("Model or Vert Positon", Int) = 0 + [HideInInspector]_AngleForwardDirectionAnimated ("Forward Direction", Int) = 0 + [HideInInspector]_CameraAngleMinAnimated ("Camera Angle Min", Int) = 0 + [HideInInspector]_CameraAngleMaxAnimated ("Camera Angle Max", Int) = 0 + [HideInInspector]_ModelAngleMinAnimated ("Model Angle Min", Int) = 0 + [HideInInspector]_ModelAngleMaxAnimated ("Model Angle Max", Int) = 0 + [HideInInspector]_AngleMinAlphaAnimated ("Min Alpha", Int) = 0 + + // UV Distortion + [HideInInspector]_EnableDistortionAnimated ("Enabled?", Int) = 0 + [HideInInspector]_DistortionMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DistortionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DistortionMaskUVAnimated ("Distortion Mask UV", Int) = 0 + [HideInInspector]_DistortionFlowTextureAnimated ("Distortion Texture 1", Int) = 0 + [HideInInspector]_DistortionFlowTexture1Animated ("Distortion Texture 2", Int) = 0 + [HideInInspector]_DistortionStrengthAnimated ("Strength1", Int) = 0 + [HideInInspector]_DistortionStrength1Animated ("Strength2", Int) = 0 + [HideInInspector]_DistortionSpeedAnimated ("Speed1", Int) = 0 + [HideInInspector]_DistortionSpeed1Animated ("Speed2", Int) = 0 + + // Video Options + [HideInInspector]_EnableVideoAnimated ("Enable Video", Int) = 0 + [HideInInspector]_VideoUVNumberAnimated ("Screen UV#", Int) = 0 + [HideInInspector]_VideoTypeAnimated ("Screen Type", Int) = 0 + [HideInInspector]_VideoBacklightAnimated ("Brightness", Int) = 0 + [HideInInspector]_VideoPixelTextureAnimated ("Pixel Texture", Int) = 0 + [HideInInspector]_VideoResolutionAnimated ("Resolution", Int) = 0 + [HideInInspector]_VideoMaskTextureAnimated ("Mask", Int) = 0 + [HideInInspector]_VideoMaskPanningAnimated ("Mask Pan Speed", Int) = 0 + [HideInInspector]_VideoEnableVideoPlayerAnimated ("Enable Video Player", Int) = 0 + [HideInInspector]_VideoPixelateToResolutionAnimated ("Pixelate To Resolution", Int) = 0 + [HideInInspector]_VideoRepeatVideoTextureAnimated ("Clamp To UV", Int) = 0 + [HideInInspector]_VideoPanningAnimated ("Panning Speed", Int) = 0 + [HideInInspector]_VideoTilingAnimated ("Tiling", Int) = 0 + [HideInInspector]_VideoOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_VideoSaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_VideoContrastAnimated ("Contrast boost", Int) = 0 + [HideInInspector]_VideoEnableDebugAnimated ("Enable Debug", Int) = 0 + [HideInInspector]_VideoDebugTextureAnimated ("Video Debug Tex", Int) = 0 + [HideInInspector]_VideoCRTRefreshRateAnimated ("Refresh Rate", Int) = 0 + [HideInInspector]_VideoCRTPixelEnergizedTimeAnimated ("Pixel Fade Time", Int) = 0 + [HideInInspector]_VideoGameboyRampAnimated ("Color Ramp", Int) = 0 + + // TouchFX + [HideInInspector]_EnableBulgeAnimated ("Bulge", Int) = 0 + [HideInInspector]_BulgeMaskAnimated ("Bulge Mask", Int) = 0 + [HideInInspector]_BuldgeFadeLengthAnimated ("Touch Distance", Int) = 0 + [HideInInspector]_BuldgeHeightAnimated ("Bulge Height", Int) = 0 + + [HideInInspector]_EnableTouchGlowAnimated ("Enable Touch Glow", Int) = 0 + [HideInInspector]_DepthGradientTextureUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientBlendAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientPanAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientUVAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskPanAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGlowColorAnimated ("Depth Glow Color", Int) = 0 + [HideInInspector]_DepthGradientAnimated ("Depth Gradient", Int) = 0 + [HideInInspector]_DepthMaskAnimated ("Depth Mask", Int) = 0 + [HideInInspector]_DepthGlowEmissionAnimated ("Depth Glow Emission", Int) = 0 + [HideInInspector]_FadeLengthAnimated ("Fade Length", Int) = 0 + [HideInInspector]_DepthAlphaMinAnimated ("Alpha Min", Int) = 0 + [HideInInspector]_DepthAlphaMaxAnimated ("Alpha Max", Int) = 0 + + // Hologram + [HideInInspector]_EnableHoloAnimated ("Enable Hologram Alpha", Int) = 0 + [HideInInspector]_HoloAlphaMapAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_HoloCoordinateSpaceAnimated ("Coordinate Space", Int) = 0 + [HideInInspector]_HoloDirectionAnimated ("Scroll Direction", Int) = 0 + [HideInInspector]_HoloLineDensityAnimated ("Line Density", Int) = 0 + [HideInInspector]_HoloScrollSpeedAnimated ("Scroll Speed", Int) = 0 + [HideInInspector]_HoloFresnelAlphaAnimated ("Intensity", Int) = 0 + [HideInInspector]_HoloRimSharpnessAnimated ("Sharpness", Int) = 0 + [HideInInspector]_HoloRimWidthAnimated ("Width", Int) = 0 + + // GrabPass + [HideInInspector]_GrabPassUseAlphaAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabPassBlendFactorAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabSrcBlendAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabDstBlendAnimated ("Destination Blend", Int) = 0 + [HideInInspector]_RefractionEnabledAnimated ("Enable Refraction,", Int) = 0 + [HideInInspector]_RefractionIndexAnimated ("Refraction", Int) = 0 + [HideInInspector]_RefractionChromaticAberattionAnimated ("Chromatic Aberration", Int) = 0 + [HideInInspector]_EnableBlurAnimated ("Enable Blur", Int) = 0 + [HideInInspector]_GrabBlurDistanceAnimated ("Blur Distance", Int) = 0 + [HideInInspector]_GrabBlurQualityAnimated ("Blur Quality", Int) = 0 + [HideInInspector]_GrabBlurDirectionsAnimated ("Blur Direction", Int) = 0 + + // Iridescence + [HideInInspector]_EnableIridescenceAnimated ("Enable Iridescence", Int) = 0 + [HideInInspector]_IridescenceRampAnimated ("Ramp", Int) = 0 + [HideInInspector]_IridescenceNormalToggleAnimated ("Custom Normals?", Int) = 0 + [HideInInspector]_IridescenceNormalMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_IridescenceMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_IridescenceNormalIntensityAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_IridescenceNormalUVAnimated ("Normal UV", Int) = 0 + [HideInInspector]_IridescenceMaskUVAnimated ("Mask UV", Int) = 0 + [HideInInspector]_IridescenceNormalSelectionAnimated ("Normal Select", Int) = 0 + [HideInInspector]_IridescenceIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_IridescenceAddBlendAnimated ("Blend Add", Int) = 0 + [HideInInspector]_IridescenceReplaceBlendAnimated ("Blend Replace", Int) = 0 + [HideInInspector]_IridescenceMultiplyBlendAnimated ("Blend Multiply", Int) = 0 + [HideInInspector]_IridescenceEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_IridescenceTimeAnimated ("When To Run", Int) = 0 + + // Vertex Glitching + [HideInInspector]_EnableVertexGlitchAnimated ("Enable Vertex Glitching", Int) = 0 + [HideInInspector]_VertexGlitchFrequencyAnimated ("Glitch Interval", Int) = 0 + [HideInInspector]_VertexGlitchThresholdAnimated ("Glitch Threshold", Int) = 0 + [HideInInspector]_VertexGlitchStrengthAnimated ("Glitch Strength", Int) = 0 + + // Spawn In Effects + [HideInInspector]_EnableScifiSpawnInAnimated ("Enable Sci Fi Spawn", Int) = 0 + [HideInInspector]_SpawnInNoiseAnimated ("Spawn Noise", Int) = 0 + [HideInInspector]_SpawnInNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_SpawnInAlphaAnimated ("Spawn Alpha", Int) = 0 + [HideInInspector]_SpawnInGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_SpawnInGradientFinishAnimated ("Gradient End", Int) = 0 + [HideInInspector]_SpawnInEmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_SpawnInEmissionOffsetAnimated ("Emission Width", Int) = 0 + [HideInInspector]_SpawnInVertOffsetAnimated ("Vertex Offset Speed", Int) = 0 + [HideInInspector]_SpawnInVertOffsetOffsetAnimated ("vert width", Int) = 0 + + // Voronoi + [HideInInspector]_VoronoiTypeAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiSpaceAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiBlendAnimated ("Blend", Int) = 0 + [HideInInspector]_EnableVoronoiAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiEffectsMaterialAlphaAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_VoronoiMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseAnimated ("Edge Noise", Int) = 0 + [HideInInspector]_VoronoiNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_VoronoiColor0Animated ("Color 0", Int) = 0 + [HideInInspector]_VoronoiEmission0Animated ("Emission 0", Int) = 0 + [HideInInspector]_VoronoiColor1Animated ("Color 1", Int) = 0 + [HideInInspector]_VoronoiEmission1Animated ("Emission 1", Int) = 0 + [HideInInspector]_VoronoiGradientAnimated ("Gradient", Int) = 0 + [HideInInspector]_VoronoiScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_VoronoiSpeedAnimated ("Speed", Int) = 0 + [HideInInspector]_VoronoiEnableRandomCellColorAnimated ("Rando Cell Col", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + + // Blacklight mask + [HideInInspector]_BlackLightMaskEnabledAnimated ("Black Light Mask Enabled", Int) = 0 + [HideInInspector]_BlackLightMaskKeysAnimated ("Mask Keys", Int) = 0 + [HideInInspector]_BlackLightMaskStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_BlackLightMaskEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_BlackLightMaskDebugAnimated ("Visualize", Int) = 0 + [HideInInspector]_BlackLightMaskMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_BlackLightMaskClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_BlackLightMaskMatcapAnimated ("Matcap 1", Int) = 0 + [HideInInspector]_BlackLightMaskMatcap2Animated ("Matcap 2", Int) = 0 + [HideInInspector]_BlackLightMaskEmissionAnimated ("Emission 1", Int) = 0 + [HideInInspector]_BlackLightMaskEmission2Animated ("Emission 2", Int) = 0 + [HideInInspector]_BlackLightMaskFlipbookAnimated ("Flipbook", Int) = 0 + [HideInInspector]_BlackLightMaskDissolveAnimated ("Dissolve", Int) = 0 + [HideInInspector]_BlackLightMaskPanosphereAnimated ("Panosphere", Int) = 0 + [HideInInspector]_BlackLightMaskGlitterAnimated ("Glitter", Int) = 0 + [HideInInspector]_BlackLightMaskIridescenceAnimated ("Iridescence", Int) = 0 + + // Outline Options + [HideInInspector]_OutlineModeAnimated ("Mode", Int) = 0 + [HideInInspector]_OutlineFixedSizeAnimated ("Fixed Size?", Int) = 0 + [HideInInspector]_OutlineUseVertexColorsAnimated ("V Color", Int) = 0 + [HideInInspector]_OutlineLitAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LineWidthAnimated ("Width", Int) = 0 + [HideInInspector]_LineColorAnimated ("Color", Int) = 0 + [HideInInspector]_OutlineTintMixAnimated ("Tint Mix", Int) = 0 + [HideInInspector]_OutlineEmissionAnimated ("Outline Emission", Int) = 0 + [HideInInspector]_OutlineTextureAnimated ("Outline Texture", Int) = 0 + [HideInInspector]_OutlineMaskAnimated ("Outline Mask", Int) = 0 + [HideInInspector]_OutlineTexturePanAnimated ("Outline Texture Pan", Int) = 0 + [HideInInspector]_OutlineShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_OutlineRimLightBlendAnimated ("Rim Light Blend", Int) = 0 + [HideInInspector]_OutlinePersonaDirectionAnimated ("directional Offset XY", Int) = 0 + [HideInInspector]_OutlineDropShadowOffsetAnimated ("Drop Direction XY", Int) = 0 + [HideInInspector]_OutlineFadeDistanceAnimated ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetFactor ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetUnits ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineCullAnimated ("Cull", Int) = 0 + + // Parallax Mapping + [HideInInspector]_ParallaxMapAnimated ("Enable Parallax FX", Int) = 0 + [HideInInspector]_ParallaxHeightMapEnabledAnimated ("Enable Parallax Height", Int) = 0 + [HideInInspector]_ParallaxInternalMapEnabledAnimated ("Enable Parallax Internal", Int) = 0 + [HideInInspector]_ParallaxHeightMapPanAnimated ("Pan", Int) = 0 + [HideInInspector]_ParallaxUVAnimated ("Parallax UV", Int) = 0 + [HideInInspector]_ParallaxHeightMapAnimated ("Height Map", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxStrengthAnimated ("Parallax Strength", Int) = 0 + [HideInInspector]_ParallaxInternalHeightmapModeAnimated ("Parallax Mode", Int) = 0 + [HideInInspector]_ParallaxInternalHeightFromAlphaAnimated ("HeightFromAlpha", Int) = 0 + [HideInInspector]_ParallaxInternalMapAnimated ("Internal Map", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxInternalIterationsAnimated ("Parallax Internal Iterations", Int) = 0 + [HideInInspector]_ParallaxInternalMinDepthAnimated ("Min Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMaxDepthAnimated ("Max Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMinFadeAnimated ("Min Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMaxFadeAnimated ("Max Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMinColorAnimated ("Min Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalMaxColorAnimated ("Max Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalPanSpeedAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_ParallaxInternalPanDepthSpeedAnimated ("Per Level Speed Multiplier", Int) = 0 + [HideInInspector]_ParallaxBiasAnimated ("Parallax Bias (0.42)", Int) = 0 + + // Rendering Options + [HideInInspector]_CullAnimated ("Cull", Int) = 0 + [HideInInspector]_ZTestAnimated ("ZTest", Int) = 0 + [HideInInspector]_ZWriteAnimated ("ZWrite", Int) = 0 + [HideInInspector]_ColorMaskAnimated ("Color Mask", Int) = 0 + [HideInInspector]_OffsetFactorAnimated ("Offset Factor", Int) = 0 + [HideInInspector]_OffsetUnitsAnimated ("Offset Units", Int) = 0 + [HideInInspector]_IgnoreFogAnimated ("Ignore Fog", Int) = 0 + + // Blending Options + [HideInInspector]_BlendOpAnimated ("RGB Blend Op", Int) = 0 + [HideInInspector]_BlendOpAlphaAnimated ("Alpha Blend Op", Int) = 0 + [HideInInspector]_SrcBlendAnimated ("RGB Source Blend", Int) = 0 + [HideInInspector]_DstBlendAnimated ("RGB Destination Blend", Int) = 0 + + // Stencils + [HideInInspector]_StencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_StencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_StencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_StencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_StencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_StencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_StencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Outline Stencil + [HideInInspector]_OutlineStencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_OutlineStencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_OutlineStencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_OutlineStencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_OutlineStencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_OutlineStencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_OutlineStencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Debug Options + [HideInInspector]_VertexUnwrapAnimated ("Unwrap", Range(0, 1)) = 0 + [HideInInspector]_DebugMeshDataAnimated ("Mesh Data", Int) = 0 + [HideInInspector]_DebugLightingDataAnimated ("Lighting Data", Int) = 0 + [HideInInspector]_DebugCameraDataAnimated ("Camera Data", Int) = 0 + } + + + //originalEditorCustomEditor "PoiToon" + CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "Opaque" "Queue" = "Geometry" } + +// //EnableOutlinePass +// Pass +// { +// Name "Outline" +// Tags { "LightMode" = "ForwardBase" } +// Stencil +// { +// Ref [_OutlineStencilRef] +// ReadMask [_OutlineStencilReadMask] +// WriteMask [_OutlineStencilWriteMask] +// Comp [_OutlineStencilCompareFunction] +// Pass [_OutlineStencilPassOp] +// Fail [_OutlineStencilFailOp] +// ZFail [_OutlineStencilZFailOp] +// } +// ZTest [_ZTest] +// ColorMask [_ColorMask] +// Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits] +// BlendOp [_BlendOp], [_BlendOpAlpha] +// Blend [_SrcBlend] [_DstBlend] +// ZWrite [_ZWrite] +// AlphaToMask [_AlphaToMask] +// Cull [_OutlineCull] +// CGPROGRAM +// +// #pragma target 5.0 +// #define FORWARD_BASE_PASS +// #define OUTLINE +// float _Mode; +// // patreon Additive +// // Black Light Mask +//// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF +// // voronoi +//// #pragma shader_feature CHROMATIC_ABERRATION +// // UV Distortion +//// #pragma shader_feature USER_LUT +// // Vertex Offsets +//// #pragma shader_feature AUTO_EXPOSURE +// // Mirror +//// #pragma shader_feature _REQUIRE_UV2 +// // Random +//// #pragma shader_feature _SUNDISK_NONE +// // Dissolve +//// #pragma shader_feature DISTORT +// // Lighting +//// #pragma shader_feature VIGNETTE_MASKED +// #pragma multi_compile_fwdbase +// #pragma fragmentoption ARB_precision_hint_fastest +// #pragma multi_compile_fog +// #pragma multi_compile_instancing +// #pragma vertex vert +// #pragma fragment frag +// #include "../Includes/CGI_PoiPassOutline.cginc" +// ENDCG +// +// } + //EnableOutlinePass + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + + ZWrite [_ZWrite] + Cull [_Cull] + AlphaToMask [_AlphaToMask] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend] + + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 0 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_BASE_PASS + float _Mode; + // Base Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + #pragma multi_compile _ VERTEXLIGHT_ON + // patreon Base + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Grab Pass Blur +// #pragma shader_feature CHROMATIC_ABERRATION_LOW + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Touch Color +// #pragma shader_feature GRAIN + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma multi_compile_instancing + #pragma multi_compile_fwdbase + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile_fog + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + + //LightingAdditiveEnable + Pass + { + Name "ForwardAddPass" + Tags { "LightMode" = "ForwardAdd" } + + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend One One + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 0 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_ADD_PASS + float _Mode; + // Add Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + // patreon Additive + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW +// #pragma shader_feature _PARALLAX_MAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Disable Directionals +// #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + + #pragma multi_compile_instancing + #pragma multi_compile_fwdadd_fullshadows + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + //LightingAdditiveEnable + + //LightingCastShadows + Pass + { + Name "ShadowCasterPass" + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + AlphaToMask Off + ZWrite [_ZWrite] + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 0 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_SHADOW + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Dissolve +// #pragma shader_feature DISTORT + #pragma multi_compile_instancing + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + #include "../Includes/CGI_PoiPassShadow.cginc" + ENDCG + + } + //LightingCastShadows + + Pass + { + Tags { "LightMode" = "Meta" } + Cull Off + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 0 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_META_PASS + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta new file mode 100644 index 00000000..8e95c32a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/Atlas-bf040773/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b8a8d426123dd0844ac9964bfd135d47 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8.meta new file mode 100644 index 00000000..eaf3b278 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cfe7ac4644a2db0459ed336ce4d44925 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets.meta new file mode 100644 index 00000000..1c419043 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e3265d6406e122244afd9e0ec1504100 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources.meta new file mode 100644 index 00000000..79ec2219 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c45a77cfca2a98c40bf32401a93a5b77 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi.meta new file mode 100644 index 00000000..ff3403f9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0e2a29df2ce871245bdf95555f9e7e95 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders.meta new file mode 100644 index 00000000..6e7fcdd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b7c5040abee726d449a129e57fee3478 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon.meta new file mode 100644 index 00000000..274f958e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 67f4e0551c3fd5c4abdd79fd283f1318 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta new file mode 100644 index 00000000..0b1bceb4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1c048a73b286405498026d7a9b9e5a49 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc new file mode 100644 index 00000000..afa6c2cd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc @@ -0,0 +1,32 @@ +#ifndef POI_ALPHA_TO_COVERAGE + #define POI_ALPHA_TO_COVERAGE + + half _MainMipScale; + float _MainAlphaToCoverage; + + float CalcMipLevel(float2 texture_coord) + { + float2 dx = ddx(texture_coord); + float2 dy = ddy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + + return 0.5 * log2(delta_max_sqr); + } + + void ApplyAlphaToCoverage(inout float4 finalColor) + { + // Force Model Opacity to 1 if desired + + if (float(0) == 1) + { + + if(float(0)) + { + // rescale alpha by mip level + finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.00390625,0.00390625,256,256).zw)) * float(0.25); + // rescale alpha by partial derivative + finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta new file mode 100644 index 00000000..8cf26fd5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4aab1be25f448f147a3aeb6177b5c5d0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc new file mode 100644 index 00000000..e529136f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc @@ -0,0 +1,32 @@ +#ifndef POI_BACKFACE + #define POI_BACKFACE + + float _BackFaceEnabled; + float _BackFaceTextureUV; + float _BackFaceDetailIntensity; + float _BackFaceEmissionStrength; + float2 _BackFacePanning; + float _BackFaceHueShift; + float4 _BackFaceColor; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST; + + float3 BackFaceColor; + void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission) + { + backFaceEmission = 0; + BackFaceColor = 0; + + if (float(0)) + { + if(!poiMesh.isFrontFace) + { + albedo = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + backFaceDetailIntensity = float(1); + BackFaceColor = albedo.rgb; + mixedHueShift = float(0); + backFaceEmission = BackFaceColor * float(0); + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta new file mode 100644 index 00000000..a69fbb3f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 381982f66613a1f4ba0b70071a682c6d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc new file mode 100644 index 00000000..750364ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc @@ -0,0 +1,54 @@ +#ifndef POI_BLACKLIGHT + #define POI_BLACKLIGHT + + float4 _BlackLightMaskStart; + float4 _BlackLightMaskEnd; + float4 _BlackLightMaskKeys; + float _BlackLightMaskDebug; + float _BlackLightMaskDissolve; + float _BlackLightMaskMetallic; + float _BlackLightMaskClearCoat; + float _BlackLightMaskMatcap; + float _BlackLightMaskMatcap2; + float _BlackLightMaskEmission; + float _BlackLightMaskEmission2; + float _BlackLightMaskFlipbook; + float _BlackLightMaskPanosphere; + float _BlackLightMaskIridescence; + + half _BlackLightMaskGlitter; + + half4 blackLightMask; + + void createBlackLightMask() + { + blackLightMask = 0; + #ifdef VERTEXLIGHT_ON + + for (int lightIndex = 0; lightIndex < 4; lightIndex ++) + { + float3 lightPos = float3(unity_4LightPosX0[lightIndex], unity_4LightPosY0[lightIndex], unity_4LightPosZ0[lightIndex]); + if (!distance(unity_LightColor[lightIndex].rgb, float3(0, 0, 0))) + { + for (int maskIndex = 0; maskIndex < 4; maskIndex ++) + { + float4 comparison = _BlackLightMaskKeys; + if(unity_LightColor[lightIndex].a == comparison[maskIndex]) + { + blackLightMask[maskIndex] = max(blackLightMask[maskIndex], smoothstep(_BlackLightMaskEnd[maskIndex], _BlackLightMaskStart[maskIndex], distance(poiMesh.worldPos, lightPos))); + } + } + } + } + #endif + } +#endif + +/* +#ifdef POI_BLACKLIGHT + if (_BlackLightMaskDissolve != 4) + { + blackLightMask[mask]; + } +#endif +*/ diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta new file mode 100644 index 00000000..e78a07a0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7ac0174ecd55556458929f12f8178c63 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc new file mode 100644 index 00000000..f87ae6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc @@ -0,0 +1,39 @@ +#ifndef POI_BLENDING + #define POI_BLENDING + + /* + 0: Zero float4(0.0, 0.0, 0.0, 0.0), + 1: One float4(1.0, 1.0, 1.0, 1.0), + 2: DstColor destinationColor, + 3: SrcColor sourceColor, + 4: OneMinusDstColor float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + 5: SrcAlpha sourceColor.aaaa, + 6: OneMinusSrcColor float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + 7: DstAlpha destinationColor.aaaa, + 8: OneMinusDstAlpha float4(1.0, 1.0, 1.0, 1.0) - destinationColor., + 9: SrcAlphaSaturate saturate(sourceColor.aaaa), + 10: OneMinusSrcAlpha float4(1.0, 1.0, 1.0, 1.0) - sourceColor.aaaa, + */ + + float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor) + { + float4 sA = 1-blendFactor; + const float4 blendData[11] = { + float4(0.0, 0.0, 0.0, 0.0), + float4(1.0, 1.0, 1.0, 1.0), + destinationColor, + sourceColor, + float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sA, + saturate(sourceColor.aaaa), + 1 - sA, + }; + + return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor,sourceColor, sA); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta new file mode 100644 index 00000000..8ab2b397 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9236803279046c64e91f31f8db2d825b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc new file mode 100644 index 00000000..6e4db3fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc @@ -0,0 +1,34 @@ +#ifndef POI_BULGE + #define POI_BULGE + + + sampler2D _BulgeMask; + float _BuldgeFadeLength; + float _BuldgeHeight; + + void bulgyWolgy(inout v2f o) + { + float depth = DecodeFloatRG(tex2Dlod(_CameraDepthTexture, float4(o.grabPos.xy / o.grabPos.w, 0, 0))); + float bulgeMask = tex2Dlod(_BulgeMask, float4(o.uv0.xy, 0, 0)); + depth = Linear01Depth(depth); + + float intersect = 0; + if (depth != 1) + { + float diff = distance(depth, Linear01Depth(o.pos.z / o.pos.w)); + if(diff > 0) + { + intersect = 1 - smoothstep(0, _ProjectionParams.w * _BuldgeFadeLength, diff); + } + } + float4 offset = intersect * _BuldgeHeight * float4(o.normal, 0); + + offset = IsInMirror() ? 0: offset; + offset *= bulgeMask; + + o.worldPos = mul(unity_ObjectToWorld, o.localPos) + offset; + o.localPos = mul(unity_WorldToObject, o.worldPos); + o.pos = UnityObjectToClipPos(o.localPos); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta new file mode 100644 index 00000000..0dcc435f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ba05c590c9ebecc46a63b445b13cdb2b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc new file mode 100644 index 00000000..5adf7340 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc @@ -0,0 +1,108 @@ +#ifndef POI_CLEARCOAT + #define POI_CLEARCOAT + + samplerCUBE _ClearCoatCubeMap; + float _ClearCoatSampleWorld; + POI_TEXTURE_NOSAMPLER(_ClearCoatMask); + POI_TEXTURE_NOSAMPLER(_ClearCoatSmoothnessMap); + float _ClearCoatInvertSmoothness; + float _ClearCoat; + float _ClearCoatSmoothness; + float3 _ClearCoatTint; + float _ClearCoatNormalToUse; + float _ClearCoatForceLighting; + float lighty_clear_boy_uwu_var; + + + float3 CalculateClearCoatEnvironmentalReflections() + { + float3 reflectionColor; + + float smoothnessMap = (POI2D_SAMPLER_PAN(_ClearCoatSmoothnessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + if (float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + float roughness = 1 - smoothnessMap; + + lighty_clear_boy_uwu_var = 0; + + float3 reflectedDir = float(0) == 0 ? poiCam.vertexReflectionDir: poiCam.reflectionDir; + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + + + if(float(0) == 0 && no_probe == 0) + { + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflectionColor = lerp(probe1, probe0, interpolator); + } + else + { + reflectionColor = probe0; + } + } + else + { + lighty_clear_boy_uwu_var = 1; + reflectionColor = texCUBElod(_ClearCoatCubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + if(float(0)) + { + lighty_clear_boy_uwu_var = 1; + } + + return reflectionColor * float4(1,1,1,1); + } + + void calculateAndApplyClearCoat(inout float4 finalColor) + { + half clearCoatMap = POI2D_SAMPLER_PAN(_ClearCoatMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskClearCoat != 4) + { + clearCoatMap *= blackLightMask[_BlackLightMaskClearCoat]; + } + #endif + + half3 reflectionColor = CalculateClearCoatEnvironmentalReflections(); + + float NormalDotView = abs(dot(float(1), float(0) == 0 ? poiLight.N0DotV: poiLight.nDotV).r); + #ifdef POI_LIGHTING + finalColor.rgb = lerp(finalColor.rgb, reflectionColor * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var), clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + //finalColor.rgb += reflectionColor; + //finalColor.rgb = finalColor.rgb * (1- (reflectionColor.r + reflectionColor.g + reflectionColor.b)/3) + reflectionColor * clearCoatMap * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var); + #else + finalColor.rgb = lerp(finalColor.rgb, reflectionColor, clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta new file mode 100644 index 00000000..37b0708b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b6ecf3ff2ac61b84d8319d81bd80cac8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc new file mode 100644 index 00000000..687dc443 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc @@ -0,0 +1,262 @@ +#ifndef POI_COLOR + #define POI_COLOR + + #ifndef pi + #define pi float(3.14159265359) + #endif + + static const float Epsilon = 1e-10; + // The weights of RGB contributions to luminance. + // Should sum to unity. + static const float3 HCYwts = float3(0.299, 0.587, 0.114); + static const float HCLgamma = 3; + static const float HCLy0 = 100; + static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5 + static const float3 wref = float3(1.0, 1.0, 1.0); + #define TAU 6.28318531 + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 RGBtoHCV(in float3 RGB) + { + // Based on work by Sam Hocevar and Emil Persson + float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0); + float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx); + float C = Q.x - min(Q.w, Q.y); + float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z); + return float3(H, C, Q.x); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float3 RGBtoHSV(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float S = HCV.y / (HCV.z + Epsilon); + return float3(HCV.x, S, HCV.z); + } + + float3 HSLtoRGB(in float3 HSL) + { + float3 RGB = HUEtoRGB(HSL.x); + float C = (1 - abs(2 * HSL.z - 1)) * HSL.y; + return(RGB - 0.5) * C + HSL.z; + } + + float3 RGBtoHSL(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float L = HCV.z - HCV.y * 0.5; + float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon); + return float3(HCV.x, S, L); + } + + float3 HCYtoRGB(in float3 HCY) + { + + + float3 RGB = HUEtoRGB(HCY.x); + float Z = dot(RGB, HCYwts); + if (HCY.z < Z) + { + HCY.y *= HCY.z / Z; + } + else if(Z < 1) + { + HCY.y *= (1 - HCY.z) / (1 - Z); + } + return(RGB - Z) * HCY.y + HCY.z; + } + + float3 RGBtoHCY(in float3 RGB) + { + // Corrected by David Schaeffer + float3 HCV = RGBtoHCV(RGB); + float Y = dot(RGB, HCYwts); + float Z = dot(HUEtoRGB(HCV.x), HCYwts); + if (Y < Z) + { + HCV.y *= Z / (Epsilon + Y); + } + else + { + HCV.y *= (1 - Z) / (Epsilon + 1 - Y); + } + return float3(HCV.x, HCV.y, Y); + } + + float3 HCLtoRGB(in float3 HCL) + { + float3 RGB = 0; + if(HCL.z != 0) + { + float H = HCL.x; + float C = HCL.y; + float L = HCL.z * HCLmaxL; + float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0)); + float U = (2 * L - C) / (2 * Q - 1); + float V = C / Q; + float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2; + float T; + H *= 6; + if(H <= 0.999) + { + T = tan(A); + RGB.r = 1; + RGB.g = T / (1 + T); + } + else if(H <= 1.001) + { + RGB.r = 1; + RGB.g = 1; + } + else if(H <= 2) + { + T = tan(A); + RGB.r = (1 + T) / T; + RGB.g = 1; + } + else if(H <= 3) + { + T = tan(A); + RGB.g = 1; + RGB.b = 1 + T; + } + else if(H <= 3.999) + { + T = tan(A); + RGB.g = 1 / (1 + T); + RGB.b = 1; + } + else if(H <= 4.001) + { + RGB.g = 0; + RGB.b = 1; + } + else if(H <= 5) + { + T = tan(A); + RGB.r = -1 / T; + RGB.b = 1; + } + else + { + T = tan(A); + RGB.r = 1; + RGB.b = -T; + } + RGB = RGB * V + U; + } + return RGB; + } + + float3 RGBtoHCL(in float3 RGB) + { + float3 HCL; + float H = 0; + float U = min(RGB.r, min(RGB.g, RGB.b)); + float V = max(RGB.r, max(RGB.g, RGB.b)); + float Q = HCLgamma / HCLy0; + HCL.y = V - U; + if(HCL.y != 0) + { + H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi; + Q *= U / V; + } + Q = exp(Q); + HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6); + HCL.y *= Q; + HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2); + return HCL; + } + + //HSL MODIFT + float3 ModifyViaHSL(float3 color, float3 HSLMod) + { + float3 colorHSL = RGBtoHSL(color); + colorHSL.r = frac(colorHSL.r + HSLMod.r); + colorHSL.g = saturate(colorHSL.g + HSLMod.g); + colorHSL.b = saturate(colorHSL.b + HSLMod.b); + return HSLtoRGB(colorHSL); + } + + float3 hueShift(float3 col, float hueAdjust) + { + hueAdjust *= 2 * pi; + const float3 k = float3(0.57735, 0.57735, 0.57735); + half cosAngle = cos(hueAdjust); + return col * cosAngle + cross(k, col) * sin(hueAdjust) + k * dot(k, col) * (1.0 - cosAngle); + } + + float3 poiSaturation(float3 In, float Saturation) + { + float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750)); + return luma.xxx + Saturation.xxx * (In - luma.xxx); + } + // LCH + float xyzF(float t) + { + return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645)); + } + float xyzR(float t) + { + return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655)); + } + float3 rgb2lch(in float3 c) + { + c = mul(float3x3(0.4124, 0.3576, 0.1805, + 0.2126, 0.7152, 0.0722, + 0.0193, 0.1192, 0.9505), c); + c.x = xyzF(c.x / wref.x); + c.y = xyzF(c.y / wref.y); + c.z = xyzF(c.z / wref.z); + float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z)); + return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y)); + } + + float3 lch2rgb(in float3 c) + { + c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y); + + float lg = 1. / 116. * (c.x + 16.); + float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y), + wref.y * xyzR(lg), + wref.z * xyzR(lg - 0.005 * c.z)); + + float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986, + - 0.9689, 1.8758, 0.0415, + 0.0557, -0.2040, 1.0570), xyz); + + return rgb; + } + + //cheaply lerp around a circle + float lerpAng(in float a, in float b, in float x) + { + float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi; + return ang * x + b; + } + + //Linear interpolation between two colors in Lch space + float3 lerpLch(in float3 a, in float3 b, in float x) + { + float hue = lerpAng(a.z, b.z, x); + return float3(lerp(b.xy, a.xy, x), hue); + } + + float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha) + { + return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha)); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta new file mode 100644 index 00000000..b38b5fb9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 49a4d4cc40726fb44852e4eeae078667 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc new file mode 100644 index 00000000..cd354f85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc @@ -0,0 +1,249 @@ +#ifndef POI_DATA + #define POI_DATA + + float _ParallaxBias; + float _LightingAdditiveLimitIntensity; + float _LightingAdditiveMaxIntensity; + POI_TEXTURE_NOSAMPLER(_BumpMap); + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailMask); + POI_TEXTURE_NOSAMPLER(_DetailNormalMap); + float _DetailNormalMapScale; + #endif + float _BumpScale; + + void calculateAttenuation(v2f i) + { + #ifdef FORWARD_ADD_PASS + #if defined(POINT) || defined(SPOT) + POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz) + poiLight.additiveShadow = shadow; + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + poiLight.additiveShadow == 0; + #endif + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + // fix for rare bug where light atten is 0 when there is no directional light in the scene + #ifdef FORWARD_BASE_PASS + if (all(_LightColor0.rgb == 0.0)) + { + attenuation = 1.0; + } + #endif + #endif + poiLight.attenuation = attenuation; + } + + void calculateVertexLightingData(in v2f i) + { + #ifdef VERTEXLIGHT_ON + float4 toLightX = unity_4LightPosX0 - i.worldPos.x; + float4 toLightY = unity_4LightPosY0 - i.worldPos.y; + float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z; + float4 lengthSq = 0; + lengthSq += toLightX * toLightX; + lengthSq += toLightY * toLightY; + lengthSq += toLightZ * toLightZ; + + float4 lightAttenSq = unity_4LightAtten0; + float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq); + float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25)); + poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight); + + poiLight.vDotNL = 0; + poiLight.vDotNL += toLightX * poiMesh.normals[1].x; + poiLight.vDotNL += toLightY * poiMesh.normals[1].y; + poiLight.vDotNL += toLightZ * poiMesh.normals[1].z; + + float4 corr = rsqrt(lengthSq); + poiLight.vDotNL = max(0, poiLight.vDotNL * corr); + poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL; + + for (int index = 0; index < 4; index ++) + { + poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]); + + float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos; + poiLight.vDirection[index] = normalize(vertexToLightSource); + //poiLight.vAttenuationDotNL[index] = 1.0 / (1.0 + unity_4LightAtten0[index] * poiLight.vDotNL[index]); + poiLight.vColor[index] = unity_LightColor[index].rgb; + + if (float(0) == 1) + { + float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b)); + poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1))); + } + poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir); + poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]); + poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1); + + #ifdef POI_VAR_DOTLH + poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index])); + #endif + + #ifdef POI_VAR_DOTNH + poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index])); + #endif + } + #endif + } + + void calculateLightingData(in v2f i) + { + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb; + poiLight.color = magic + normalLight; + #else + #ifdef FORWARD_ADD_PASS + poiLight.color = _LightColor0.rgb; + + + if (float(0) == 1) + { + float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b)); + poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1))); + } + #endif + #endif + + #ifdef FORWARD_BASE_PASS + poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + #else + #if defined(POINT) || defined(SPOT) + poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #else + poiLight.direction = _WorldSpaceLightPos0; + #endif + #endif + + poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); + + #ifdef POI_VAR_DOTNH + poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir)); + #endif + + #ifdef POI_VAR_DOTLH + poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir)); + #endif + + poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir); + poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir); + poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); + poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); + poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); + poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); + } + + float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) + { + return cross(normal, tangent.xyz) * (binormalSign * unity_WorldTransformParams.w); + } + + void InitializeMeshData(inout v2f i, uint facing) + { + poiMesh.isFrontFace = facing; + poiMesh.normals[0] = normalize(i.normal); + poiMesh.binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + poiMesh.tangent = i.tangent.xyz; + + #ifndef OUTLINE + if(!poiMesh.isFrontFace) + { + poiMesh.normals[0] *= -1; + poiMesh.tangent *= -1; + poiMesh.binormal *= -1; + } + #endif + + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + poiMesh.barycentricCoordinates = i.barycentricCoordinates; + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + #ifdef POI_UV_DISTORTION + poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy); + #else + poiMesh.uv[4] = poiMesh.uv[0]; + #endif + + poiMesh.vertexColor = i.vertexColor; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + poiMesh.lightmapUV = i.lightmapUV; + #endif + poiMesh.modelPos = i.modelPos; + + #ifdef FUR + poiMesh.furAlpha = i.furAlpha; + #endif + } + + void initializeCamera(v2f i) + { + poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); + poiCam.forwardDir = getCameraForward(); + poiCam.worldPos = _WorldSpaceCameraPos; + poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos); + poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); + poiCam.grabPos = i.grabPos; + poiCam.screenUV = calcScreenUVs(i.grabPos); + poiCam.clipPos = i.pos; + #if defined(GRAIN) + poiCam.worldDirection = i.worldDirection; + #endif + + poiCam.tangentViewDir = normalize(i.tangentViewDir); + poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42)); + } + + void calculateTangentData() + { + poiTData.tangentTransform = float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0]); + poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0])); + } + + void CalculateReflectionData() + { + #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON) + poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); + poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); + #endif + } + + void calculateNormals(inout half3 detailMask) + { + half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + #ifdef FINALPASS + detailMask = POI2D_SAMPLER_PAN(_DetailMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(1) > 0) + { + half3 detailNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_DetailNormalMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1) * detailMask.g); + poiMesh.tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + } + else + { + poiMesh.tangentSpaceNormal = mainNormal; + } + #else + poiMesh.tangentSpaceNormal = mainNormal; + #endif + + #ifdef POI_RGBMASK + calculateRGBNormals(poiMesh.tangentSpaceNormal); + #endif + + poiMesh.normals[1] = normalize( + poiMesh.tangentSpaceNormal.x * poiMesh.tangent + + poiMesh.tangentSpaceNormal.y * poiMesh.binormal + + poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] + ); + + poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1])); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta new file mode 100644 index 00000000..7b77a41f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2c626f49346f9c249b6d28e0692fd9da +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc new file mode 100644 index 00000000..125d2cd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc @@ -0,0 +1,107 @@ +#ifndef POI_DEBUG + #define POI_DEBUG + + float _DebugEnabled; + float _DebugMeshData; + float _DebugLightingData; + float _DebugCameraData; + + void displayDebugInfo(inout float4 finalColor) + { + + if (float(0) != 0) + { + //Mesh Data + if (float(0) == 1) + { + finalColor.rgb = poiMesh.normals[0]; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiMesh.normals[1]; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiMesh.tangent; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiMesh.binormal; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiMesh.localPos; + return; + } + + #ifdef POI_LIGHTING + if(float(0) == 1) + { + finalColor.rgb = poiLight.attenuation; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiLight.directLighting; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiLight.indirectLighting; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiLight.lightMap; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiLight.rampedLightMap; + return; + } + else if(float(0) == 6) + { + finalColor.rgb = poiLight.finalLighting; + return; + } + else if(float(0) == 7) + { + finalColor.rgb = poiLight.nDotL; + return; + } + #endif + + if(float(0) == 1) + { + finalColor.rgb = poiCam.viewDir; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiCam.tangentViewDir; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiCam.forwardDir; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiCam.worldPos; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiCam.viewDotNormal; + return; + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta new file mode 100644 index 00000000..165174d0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 917758ab3ab50f040aa52e467600bf9c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc new file mode 100644 index 00000000..280fcbc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc @@ -0,0 +1,58 @@ +#ifndef POI_DECAL + #define POI_DECAL + + POI_TEXTURE_NOSAMPLER(_DecalTexture); + POI_TEXTURE_NOSAMPLER(_DecalMask); + float4 _DecalColor; + fixed _DecalTiled; + fixed _DecalBlendAdd; + fixed _DecalBlendMultiply; + fixed _DecalBlendReplace; + half _DecalRotation; + half2 _DecalScale; + half2 _DecalPosition; + half _DecalRotationSpeed; + float _DecalEmissionStrength; + + void applyDecal(inout float4 albedo, inout float3 decalEmission) + { + float2 uv = poiMesh.uv[float(0)]; + float2 decalCenter = float4(0.5,0.5,0,0); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); + uv = remap(uv, float2(0, 0) - float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float2(0, 0), float2(1, 1)); + + half decalAlpha = 1; + //float2 uv = TRANSFORM_TEX(poiMesh.uv[float(0)], _DecalTexture) + _Time.x * float4(0,0,0,0); + float4 decalColor = POI2D_SAMPLER_PAN(_DecalTexture, _MainTex, uv, float4(0,0,0,0)) * float4(1,1,1,1); + decalAlpha *= POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if (!float(0)) + { + if(uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) + { + decalAlpha = 0; + } + } + + if(float(0)) + { + albedo.rgb = lerp(albedo.rgb, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb *= lerp(1, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb += decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + albedo = saturate(albedo); + decalEmission = decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta new file mode 100644 index 00000000..76c3ab02 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9e3ba4437438f5e44b490a3d7d1dd7d5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc new file mode 100644 index 00000000..9b70067a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc @@ -0,0 +1,21 @@ +#ifndef POI_DEFINES + #define POI_DEFINES + + #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) + + #ifdef _SPECGLOSSMAP // Specular + #ifndef POI_VAR_DOTNH + #define POI_VAR_DOTNH + #endif + #ifndef POI_VAR_DOTLH + #define POI_VAR_DOTLH + #endif + #endif + + #ifdef VIGNETTE_MASKED // Lighting + #ifndef POI_VAR_DOTNL + #define POI_VAR_DOTNL + #endif + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta new file mode 100644 index 00000000..0770424d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9199f5ad4ede9b74a87adf428a08ee9e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc new file mode 100644 index 00000000..828460bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc @@ -0,0 +1,112 @@ +#ifndef POI_DEPTH_COLOR + #define POI_DEPTH_COLOR + + float4 _DepthGlowColor; + float _DepthGlowEmission; + float _FadeLength; + float _DepthAlphaMin; + float _DepthAlphaMax; + POI_TEXTURE_NOSAMPLER(_DepthGradient); + POI_TEXTURE_NOSAMPLER(_DepthMask); + float _DepthGradientTextureUV; + float _DepthGradientBlend; + + /* + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, float4 worldDirection, float4 clipPos) + { + float3 touchEmission = 0; + if (!IsInMirror()) + { + float fadeLength = _FadeLength; + fadeLength *= 0.01; + float depth = DecodeFloatRG(tex2Dproj(_CameraDepthTexture, worldDirection)); + depth = Linear01Depth(depth); + if(depth != 1) + { + float diff = distance(depth, Linear01Depth(clipPos.z)); + float intersect = 0; + if(diff > 0) + { + intersect = clamp(1 - smoothstep(0, _ProjectionParams.w * fadeLength, diff), 0, 1); + } + half4 depthGradient = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthGradient, _MainTex, intersect); + half3 depthMask = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthMask, _MainTex, poiMesh.uv[0]); + half3 depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + } + } + depthTouchEmission = touchEmission; + } + */ + + inline float CorrectedLinearEyeDepth(float z, float B) + { + return 1.0 / (z / PM._34 + B); + } + + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, in float4 worldDirection) + { + float3 touchEmission = 0; + float fadeLength = _FadeLength; + fadeLength *= 0.01; + + float perspectiveDivide = 1.0f / poiCam.clipPos.w; + float4 direction = worldDirection * perspectiveDivide; + float2 screenPos = poiCam.grabPos.xy * perspectiveDivide; + float z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenPos); + + #if UNITY_REVERSED_Z + if (z == 0) + #else + if(z == 1) + #endif + return; + + float depth = CorrectedLinearEyeDepth(z, direction.w); + float3 worldpos = direction * depth + _WorldSpaceCameraPos.xyz; + /* + finalColor.rgb = frac(worldpos); + return; + */ + + float diff = distance(worldpos, poiMesh.worldPos); + float intersect = 0; + intersect = clamp(1 - smoothstep(0, fadeLength, diff), 0, 1); + half3 depthMask = POI2D_SAMPLER_PAN(_DepthMask, _MainTex, poiMesh.uv[_DepthMaskUV], _DepthMaskPan); + + half4 depthGradient = 0; + half3 depthColor = 0; + + + if (_DepthGradientTextureUV == 0) + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, float2(intersect, intersect), _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + } + else + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, poiMesh.uv[_DepthGradientUV], _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb * intersect; + } + + + if(_DepthGradientBlend == 0) // rpelace + { + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + } + else if(_DepthGradientBlend == 1) // add + { + finalColor.rgb += depthColor * intersect * depthMask; + } + else if(_DepthGradientBlend == 2) // multiply + { + finalColor.rgb *= lerp(1, depthColor, intersect * depthMask); + } + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect * depthMask); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + + depthTouchEmission = touchEmission; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta new file mode 100644 index 00000000..5e6b8d0d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c11623719ff4aa9499708f85ae9d206f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc new file mode 100644 index 00000000..13175f00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc @@ -0,0 +1,171 @@ +#ifndef POI_DISSOLVE + #define POI_DISSOLVE + + float _DissolveType; + float _DissolveEdgeWidth; + float4 _DissolveEdgeColor; + sampler2D _DissolveEdgeGradient; float4 _DissolveEdgeGradient_ST; + float _DissolveEdgeEmission; + float4 _DissolveTextureColor; + + POI_TEXTURE_NOSAMPLER(_DissolveToTexture); + POI_TEXTURE_NOSAMPLER(_DissolveNoiseTexture); + POI_TEXTURE_NOSAMPLER(_DissolveDetailNoise); + POI_TEXTURE_NOSAMPLER(_DissolveMask); + + float _DissolveMaskInvert; + float _DissolveAlpha; + float _ContinuousDissolve; + float _DissolveDetailStrength; + float _DissolveEdgeHardness; + float _DissolveInvertNoise; + float _DissolveInvertDetailNoise; + float _DissolveToEmissionStrength; + + // Point to Point + float _DissolveP2PWorldLocal; + float _DissolveP2PEdgeLength; + float4 _DissolveStartPoint; + float4 _DissolveEndPoint; + + // World Dissolve + float _DissolveWorldShape; + float4 _DissolveShapePosition; + float4 _DissolveShapeRotation; + float _DissolveShapeScale; + float _DissolveInvertShape; + float _DissolveShapeEdgeLength; + + float _DissolveAlpha0; + float _DissolveAlpha1; + float _DissolveAlpha2; + float _DissolveAlpha3; + float _DissolveAlpha4; + float _DissolveAlpha5; + float _DissolveAlpha6; + float _DissolveAlpha7; + float _DissolveAlpha8; + float _DissolveAlpha9; + + // Masking + float _DissolveEmissionSide; + float _DissolveEmission1Side; + float _DissolveUseVertexColors; + + float4 edgeColor; + float edgeAlpha; + float dissolveAlpha; + float4 dissolveToTexture; + //Globals + + + void calculateDissolve(inout float4 albedo, inout float3 dissolveEmission) + { + + float dissolveMask = POI2D_SAMPLER_PAN(_DissolveMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + + if (float(0)) + { + // Vertex Color Imprecision hype + dissolveMask = ceil(poiMesh.vertexColor.g * 100000) / 100000; + } + + dissolveToTexture = POI2D_SAMPLER_PAN(_DissolveToTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + float dissolveNoiseTexture = POI2D_SAMPLER_PAN(_DissolveNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + float da = float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0); + da = saturate(da); + + float dds = float(0.1); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskDissolve != 4) + { + dissolveMask *= blackLightMask[_BlackLightMaskDissolve]; + } + #endif + + if(float(0)) + { + dissolveMask = 1 - dissolveMask; + } + + float dissolveDetailNoise = POI2D_SAMPLER_PAN(_DissolveDetailNoise, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(0)) + { + dissolveNoiseTexture = 1 - dissolveNoiseTexture; + } + if(float(0)) + { + dissolveDetailNoise = 1 - dissolveDetailNoise; + } + if(float(0) != 0) + { + da = sin(_Time.y * float(0)) * .5 + .5; + } + da *= dissolveMask; + dissolveAlpha = da; + edgeAlpha = 0; + + + if(float(1) == 1) // Basic + { + da = remap(da, 0, 1, -float(0.025), 1); + dissolveAlpha = da; + //Adjust detail strength to avoid artifacts + dds *= smoothstep(1, .99, da); + float noise = saturate(dissolveNoiseTexture - dissolveDetailNoise * dds); + + noise = saturate(noise + 0.001); + //noise = remap(noise, 0, 1, float(0.025), 1 - float(0.025)); + dissolveAlpha = dissolveAlpha >= noise; + edgeAlpha = remapClamped(noise, da + float(0.025), da, 0, 1) * (1 - dissolveAlpha); + } + else if (float(1) == 2) // Point to Point + { + float3 direction; + float3 currentPos; + float distanceTo = 0; + direction = normalize(float4(0,1,0,0) - float4(0,-1,0,0)); + currentPos = lerp(float4(0,-1,0,0), float4(0,1,0,0), dissolveAlpha); + if (float(0) == 0) + { + distanceTo = dot(poiMesh.localPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + else + { + distanceTo = dot(poiMesh.worldPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + } + + albedo = lerp(albedo, dissolveToTexture, dissolveAlpha); + + + if(float(0.025)) + { + edgeColor = tex2D(_DissolveEdgeGradient, TRANSFORM_TEX(float2(edgeAlpha, edgeAlpha), _DissolveEdgeGradient)) * float4(1,1,1,1); + albedo.rgb = lerp(albedo.rgb, edgeColor.rgb, smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + dissolveEmission = lerp(0, dissolveToTexture * float(0), dissolveAlpha) + lerp(0, edgeColor.rgb * float(0), smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta new file mode 100644 index 00000000..abaa37a2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 07bb503b0ae4d6d48bb10d61806a0d66 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc new file mode 100644 index 00000000..91efad39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc @@ -0,0 +1,34 @@ +#ifndef POI_DITHERING + #define POI_DITHERING + fixed _DitheringEnabled; + fixed _DitherGradient; + + half calcDither(half2 grabPos) + { + half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8)); + return dither; + } + + #ifndef POI_SHADOW + void applyDithering(inout float4 finalColor) + { + + if (float(0)) + { + half dither = calcDither(poiCam.screenUV.xy); + finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1)); + } + } + #else + void applyShadowDithering(inout float alpha, float2 screenUV) + { + + if(float(0)) + { + half dither = calcDither(screenUV); + alpha = alpha - (dither * (1 - alpha) * float(0.1)); + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta new file mode 100644 index 00000000..b7e1498f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9d7e82003339e704988153e0301f00a8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc new file mode 100644 index 00000000..cff31fe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc @@ -0,0 +1,240 @@ +#ifndef POI_EMISSION + #define POI_EMISSION + + float4 _EmissionColor; + POI_TEXTURE_NOSAMPLER(_EmissionMap); + POI_TEXTURE_NOSAMPLER(_EmissionMask); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve); float4 _EmissionScrollingCurve_ST; + float _EmissionBaseColorAsMap; + float _EmissionStrength; + float _EnableEmission; + float _EmissionHueShift; + float4 _EmissiveScroll_Direction; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissionBlinkingEnabled; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + float _EnableGITDEmission; + float _GITDEMinEmissionMultiplier; + float _GITDEMaxEmissionMultiplier; + float _GITDEMinLight; + float _GITDEMaxLight; + float _GITDEWorldOrMesh; + float _EmissionCenterOutEnabled; + float _EmissionCenterOutSpeed; + float _EmissionHueShiftEnabled; + float _EmissionBlinkingOffset; + float _EmissionScrollingOffset; + + float4 _EmissionColor1; + #ifdef EFFECT_HUE_VARIATION + POI_TEXTURE_NOSAMPLER(_EmissionMap1); + POI_TEXTURE_NOSAMPLER(_EmissionMask1); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve1); float4 _EmissionScrollingCurve1_ST; + #endif + float _EmissionBaseColorAsMap1; + float _EmissionStrength1; + float _EnableEmission1; + float _EmissionHueShift1; + float4 _EmissiveScroll_Direction1; + float _EmissiveScroll_Width1; + float _EmissiveScroll_Velocity1; + float _EmissiveScroll_Interval1; + float _EmissionBlinkingEnabled1; + float _EmissiveBlink_Min1; + float _EmissiveBlink_Max1; + float _EmissiveBlink_Velocity1; + float _ScrollingEmission1; + float _EnableGITDEmission1; + float _GITDEMinEmissionMultiplier1; + float _GITDEMaxEmissionMultiplier1; + float _GITDEMinLight1; + float _GITDEMaxLight1; + float _GITDEWorldOrMesh1; + float _EmissionCenterOutEnabled1; + float _EmissionCenterOutSpeed1; + float _EmissionHueShiftEnabled1; + float _EmissionBlinkingOffset1; + float _EmissionScrollingOffset1; + + float _EmissionReplace; + + float _EmissionScrollingVertexColor; + float _EmissionScrollingVertexColor1; + + float _EmissionScrollingUseCurve; + float _EmissionScrollingUseCurve1; + + float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled) + { + float glowInTheDarkMultiplier = 1; + + if (enabled) + { + #ifdef POI_LIGHTING + float3 lightValue = float(0) ? poiLight.finalLighting.rgb: poiLight.directLighting.rgb; + float gitdeAlpha = (clamp(poiMax(lightValue), minLight, maxLight) - minLight) / (maxLight - minLight); + glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); + #endif + } + return glowInTheDarkMultiplier; + } + + float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) + { + float phase = 0; + phase = dot(position, direction); + phase -= (_Time.y + offset) * velocity; + phase /= interval; + phase -= floor(phase); + phase = saturate(phase); + return(pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; + } + + float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) + { + float amplitude = (blinkMax - blinkMin) * 0.5f; + float base = blinkMin + amplitude; + return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; + } + + float3 calculateEmissionNew(in float4 baseColor, inout float4 finalColor) + { + // First Emission + float3 emission0 = 0; + float emissionStrength0 = float(0); + float3 emissionColor0 = 0; + + float glowInTheDarkMultiplier0 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + else + { + emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + + + if(float(0)) + { + float3 pos = poiMesh.localPos; + + if(float(0)) + { + pos = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve) + (dot(pos, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos); + } + } + + + if(float(0)) + { + emissionStrength0 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor0 = hueShift(emissionColor0, float(0) * float(0)); + float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask) + _Time.x * float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission != 4) + { + emissionMask0 *= blackLightMask[_BlackLightMaskEmission]; + } + #endif + + emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; + emission0 = emissionStrength0 * emissionColor0; + + #ifdef POI_DISSOLVE + + if(float(2) != 2) + { + emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + + // Second Emission + float3 emission1 = 0; + float emissionStrength1 = 0; + float3 emissionColor1 = 0; + + #ifdef EFFECT_HUE_VARIATION + emissionStrength1 = float(0); + float glowInTheDarkMultiplier1 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor1 = POI2D_SAMPLER_PAN(_EmissionMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + else + { + emissionColor1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap1, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)).rgb * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + + + if(float(0)) + { + float3 pos1 = poiMesh.localPos; + + if(float(0)) + { + pos1 = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength1 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve1) + (dot(pos1, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength1 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos1); + } + } + + if(float(0)) + { + emissionStrength1 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor1 = hueShift(emissionColor1, float(0) * float(0)); + float emissionMask1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask1) + _Time.x * float4(0,0,0,0)); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission2 != 4) + { + emissionMask1 *= blackLightMask[_BlackLightMaskEmission2]; + } + #endif + emissionStrength1 *= glowInTheDarkMultiplier1 * emissionMask1; + emission1 = emissionStrength1 * emissionColor1; + + #ifdef POI_DISSOLVE + if(float(2) != 2) + { + emission1 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + #endif + finalColor.rgb = lerp(finalColor.rgb, saturate(emissionColor0 + emissionColor1), saturate(emissionStrength0 + emissionStrength1) * float(0) * poiMax(emission0 + emission1)); + + return emission0 + emission1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta new file mode 100644 index 00000000..b63cbb20 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5cfb040f8a4927c4d9d563672364e113 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc new file mode 100644 index 00000000..1e9188ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc @@ -0,0 +1,43 @@ +#ifndef POI_ENVIRONMENTAL_RIM + #define POI_ENVIRONMENTAL_RIM + + //enviro rim + float _EnableEnvironmentalRim; + POI_TEXTURE_NOSAMPLER(_RimEnviroMask); + float _RimEnviroBlur; + float _RimEnviroMinBrightness; + float _RimEnviroWidth; + float _RimEnviroSharpness; + float _RimEnviroIntensity; + + float3 calculateEnvironmentalRimLighting(in float4 albedo) + { + float enviroRimAlpha = saturate(1 - smoothstep(min(float(0), float(0.45)), float(0.45), poiCam.viewDotNormal)); + float(0.7) *= 1.7 - 0.7 * float(0.7); + + float3 enviroRimColor = 0; + float interpolator = unity_SpecCube0_BoxMin.w; + + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + enviroRimColor = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + enviroRimColor = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + half enviroMask = poiMax(POI2D_SAMPLER_PAN(_RimEnviroMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb); + return lerp(0, max(0, (enviroRimColor - float(0)) * albedo.rgb), enviroRimAlpha).rgb * enviroMask * float(1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta new file mode 100644 index 00000000..b7c02e22 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c542cc173dea9914fbb060f813eba5fa +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc new file mode 100644 index 00000000..0ed89b59 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc @@ -0,0 +1,153 @@ +#ifndef POI_FLIPBOOK + #define POI_FLIPBOOK + + UNITY_DECLARE_TEX2DARRAY(_FlipbookTexArray); float4 _FlipbookTexArray_ST; + float4 _FlipbookColor; + float _FlipbookFPS; + float _FlipbookTotalFrames; + float4 _FlipbookScaleOffset; + float _FlipbookTiled; + float _FlipbookCurrentFrame; + float _FlipbookEmissionStrength; + float _FlipbookRotation; + float _EnableFlipbook; + float _FlipbookTexArrayUV; + float _FlipbookAlphaControlsFinalAlpha; + float _FlipbookRotationSpeed; + float _FlipbookIntensityControlsAlpha; + float _FlipbookColorReplaces; + float2 _FlipbookTexArrayPan; + + // blending + float _FlipbookReplace; + float _FlipbookMultiply; + float _FlipbookAdd; + POI_TEXTURE_NOSAMPLER(_FlipbookMask); + + // anim + float _FlipbookMovementType; + float4 _FlipbookStartEndOffset; + float _FlipbookMovementSpeed; + + // Global + float4 flipBookPixel; + float4 flipBookPixelMultiply; + float flipBookMask; + + #ifndef POI_SHADOW + + void applyFlipbook(inout float4 finalColor, inout float3 flipbookEmission) + { + flipBookMask = POI2D_SAMPLER_PAN(_FlipbookMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float2 uv = frac(poiMesh.uv[float(0)]); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + // 2d rotation + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + if (float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipBookPixel = 0; + return; + } + } + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + flipBookPixel = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipBookPixel.a = poiMax(flipBookPixel.rgb); + } + + if(float(0)) + { + flipBookPixel.rgb = float4(1,1,1,1).rgb; + } + else + { + flipBookPixel.rgb *= float4(1,1,1,1).rgb; + } + + #ifdef POI_BLACKLIGHT + + if(_BlackLightMaskFlipbook != 4) + { + flipBookMask *= blackLightMask[_BlackLightMaskFlipbook]; + } + #endif + + finalColor.rgb = lerp(finalColor, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * float(1) * flipBookMask); + finalColor.rgb = finalColor + flipBookPixel.rgb * float(0) * flipBookMask; + finalColor.rgb = finalColor * lerp(1, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * flipBookMask * float(0)); + + + if(float(0)) + { + finalColor.a = lerp(finalColor.a, flipBookPixel.a * float4(1,1,1,1).a, flipBookMask); + } + flipbookEmission = lerp(0, flipBookPixel.rgb * float(0), flipBookPixel.a * float4(1,1,1,1).a * flipBookMask); + } + + #else + + float applyFlipbookAlphaToShadow(float2 uv) + { + + if(float(0)) + { + float flipbookShadowAlpha = 0; + + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float theta = radians(float(0)); + + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + half4 flipbookColor = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipbookColor.a = poiMax(flipbookColor.rgb); + } + + + if(float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipbookColor.a = 0; + } + } + return flipbookColor.a * float4(1,1,1,1).a; + } + return 1; + } + + #endif +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta new file mode 100644 index 00000000..a7f77fc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6ebdb0b4e497d444585ef1555a722e62 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc new file mode 100644 index 00000000..aa950e7d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc @@ -0,0 +1,376 @@ +#ifndef POIFRAG + #define POIFRAG + + float _MainEmissionStrength; + float _IgnoreFog; + half _GIEmissionMultiplier; + float _IridescenceTime; + float _AlphaToMask; + float _ForceOpaque; + float _commentIfZero_EnableGrabpass; + float _AlphaPremultiply; + float2 _MainTexPan; + float _MainTextureUV; + float _commentIfZero_LightingAdditiveEnable; + + float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target + { + #ifdef FORWARD_ADD_PASS + #if !defined(POI_LIGHTING) + return 0; + #endif + #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL) + return 0; + #endif + #endif + #ifdef FORWARD_ADD_PASS + + if (float(1) == 0) + { + return 0; + } + #endif + UNITY_SETUP_INSTANCE_ID(i); + // Color + float4 albedo = 1; + float4 finalColor = 1; + + // Lighting + float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication + float3 finalSpecular0 = 0; + float3 finalSpecular1 = 0; + float3 finalSSS = 0; + fixed lightingAlpha = 1; + float3 finalEnvironmentalRim = 0; + + // Emissions + float3 finalEmission = 0; + float3 finalLighting = 1; + float3 IridescenceEmission = 0; + float3 spawnInEmission = 0; + float3 voronoiEmission = 0; + float3 matcapEmission = 0; + float3 depthTouchEmission = 0; + float3 decalEmission = 0; + float3 glitterEmission = 0; + float3 panosphereEmission = 0; + float3 backFaceEmission = 0; + float3 dissolveEmission = 0; + float3 rimLightEmission = 0; + float3 flipbookEmission = 0; + float3 textOverlayEmission = 0; + float3 videoEmission = 0; + /********************************************************************** + Initialize the base data that's needed everywhere else in the shader + **********************************************************************/ + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + + #ifdef POI_BLACKLIGHT + createBlackLightMask(); + + if (_BlackLightMaskDebug) + { + return float4(blackLightMask.rgb, 1); + } + #endif + + // This has to happen in the initializbecause it alters UV data globally + #ifdef POI_PARALLAX + calculateandApplyParallax(); + #endif + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + calculateVertexLightingData(i); + /********************************************************************** + Calculate Light Maps + **********************************************************************/ + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + /********************************************************************** + Calculate Color Data + **********************************************************************/ + + initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask); + + #ifdef POI_DECAL + applyDecal(albedo, decalEmission); + #endif + + + #ifdef POI_IRIDESCENCE + + if (_IridescenceTime == 0) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VORONOI + applyVoronoi(albedo, voronoiEmission); + #endif + + #ifdef POI_MSDF + ApplyTextOverlayColor(albedo, textOverlayEmission); + #endif + + #ifdef POI_ENVIRONMENTAL_RIM + finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo); + #endif + + #if defined(POI_METAL) || defined(POI_CLEARCOAT) + CalculateReflectionData(); + #endif + + #ifdef POI_DATA + distanceFade(albedo); + #endif + + #ifdef POI_RANDOM + albedo.a *= i.angleAlpha; + #endif + + #ifdef MATCAP + applyMatcap(albedo, matcapEmission); + #endif + + #ifdef PANOSPHERE + applyPanosphereColor(albedo, panosphereEmission); + #endif + + #ifdef POI_FLIPBOOK + applyFlipbook(albedo, flipbookEmission); + #endif + + #ifdef POI_GLITTER + applyGlitter(albedo, glitterEmission); + #endif + + #ifdef POI_RIM + applyRimLighting(albedo, rimLightEmission); + #endif + + #ifdef POI_DEPTH_COLOR + applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection); + #endif + + #ifdef POI_IRIDESCENCE + + if(_IridescenceTime == 1) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VIDEO + applyScreenEffect(albedo, videoEmission); + #endif + + applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos); + + /********************************************************************** + Handle a few alpha options + **********************************************************************/ + + if (float(0) == 1) + { + + if(float(0) == 0) + { + applyDithering(albedo); + } + } + + albedo.a = max(float(0), albedo.a); + + + if(float(0) >= 1) + { + clip(albedo.a - float(0.5)); + } + + + if(float(0)) + { + albedo.rgb *= saturate(albedo.a + 0.0000000001); + } + + /********************************************************************** + Lighting Time :) + **********************************************************************/ + + #ifdef POI_LIGHTING + finalLighting = calculateFinalLighting(albedo.rgb, finalColor); + + #ifdef SUBSURFACE + finalSSS = calculateSubsurfaceScattering(); + #endif + #endif + + float4 finalColorBeforeLighting = albedo; + finalColor = finalColorBeforeLighting; + + #ifdef POI_SPECULAR + finalSpecular0 = calculateSpecular(finalColorBeforeLighting); + #endif + #ifdef POI_PARALLAX + calculateAndApplyInternalParallax(finalColor); + #endif + + #ifdef POI_ALPHA_TO_COVERAGE + ApplyAlphaToCoverage(finalColor); + #endif + + + if (float(0) == 1) + { + + if(float(0) == 1) + { + applyDithering(finalColor); + } + } + + #ifdef POI_METAL + calculateMetallicness(); + bool probeExists = shouldMetalHappenBeforeLighting(); + + if(!probeExists) + { + ApplyMetallicsFake(finalColor, albedo); + } + #endif + + #ifdef POI_LIGHTING + #if defined(FORWARD_ADD_PASS) && defined(POI_METAL) + finalLighting *= 1 - metalicMap; + #endif + #endif + + #ifdef VERTEXLIGHT_ON + finalColor.rgb *= finalLighting + poiLight.vFinalLighting; + #else + finalColor.rgb *= finalLighting; + #endif + + #ifdef POI_METAL + + if(probeExists) + { + ApplyMetallics(finalColor, albedo); + } + #endif + + finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS; + + #ifdef FORWARD_BASE_PASS + #ifdef POI_CLEARCOAT + calculateAndApplyClearCoat(finalColor); + #endif + #endif + + finalColor.a = saturate(finalColor.a); + + /********************************************************************** + Add Up all the emission values :D + **********************************************************************/ + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a; + finalEmission += wireframeEmission; + finalEmission += IridescenceEmission; + finalEmission += spawnInEmission; + finalEmission += voronoiEmission; + finalEmission += matcapEmission; + finalEmission += depthTouchEmission; + finalEmission += decalEmission; + finalEmission += glitterEmission; + finalEmission += panosphereEmission; + finalEmission += backFaceEmission; + finalEmission += rimLightEmission; + finalEmission += flipbookEmission; + finalEmission += videoEmission; + finalEmission += textOverlayEmission; + finalEmission += dissolveEmission; + #ifdef POI_EMISSION + finalEmission += calculateEmissionNew(finalColorBeforeLighting, finalColor); + #endif + #endif + + /********************************************************************** + Meta Pass Hype :D + **********************************************************************/ + #ifdef POI_META_PASS + UnityMetaInput meta; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta); + meta.Emission = finalEmission * float(1); + meta.Albedo = saturate(finalColor.rgb); + #ifdef POI_SPECULAR + meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a; + #else + meta.SpecularColor = poiLight.color.rgb * albedo.rgb; + #endif + return UnityMetaFragment(meta); + #endif + + /********************************************************************** + Apply Emission to finalColor + **********************************************************************/ + finalColor.rgb += finalEmission; + + /********************************************************************** + Grabpass features + **********************************************************************/ + + + if (_commentIfZero_EnableGrabpass) + { + applyGrabEffects(finalColor); + } + + /********************************************************************** + Unity Fog + **********************************************************************/ + #ifdef FORWARD_BASE_PASS + + if (float(0) == 0) + { + UNITY_APPLY_FOG(i.fogCoord, finalColor); + } + #endif + + #ifdef FORWARD_ADD_PASS + if(float(0) > 0) + { + finalColor.rgb *= finalColor.a; + } + #endif + + + if(float(0) == 0) + { + finalColor.a = 1; + } + + #ifdef FORWARD_ADD_PASS + //finalColor.rgb = smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5)); + #endif + + #ifdef POI_DEBUG + displayDebugInfo(finalColor); + #endif + + //finalColor.rgb = frac(finalColor.rgb); + return finalColor; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta new file mode 100644 index 00000000..27a8402d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a6e5e1f2b5fcc0a4f9c8fc1088f9b4c7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc new file mode 100644 index 00000000..8d260cdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc @@ -0,0 +1,41 @@ +#ifndef POI_FUR + #define POI_FUR + + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurTexture); float4 _FurTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurHeightMap); float4 _FurHeightMap_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurMask); float4 _FurMask_ST; + float _FurAO; + float4 _FurColor; + float _FurLayers; + float _FurMinDistance; + float _FurMaxDistance; + float _FurHeightMapMin; + float _FurHeightMapMax; + float _FurDebug; + float _AoRampMin; + float _AoRampMax; + float _FurTipAlpha; + float _FurFadeStart; + + //globals + half furHeightMap; + half furMask; + + void calculateFur() + { + + furHeightMap = UNITY_SAMPLE_TEX2D_SAMPLER(_FurHeightMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurHeightMap)).x; + furHeightMap = remap(furHeightMap, 0, _FurHeightMapMax, _FurHeightMapMin, 1); + furMask = poiMax(UNITY_SAMPLE_TEX2D_SAMPLER(_FurMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurMask)).xyz); + half3 furTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_FurTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurTexture)); + clip(furHeightMap - poiMesh.furAlpha); + clip(furMask - poiMesh.furAlpha); + + albedo.rgb = lerp(mainTexture.rgb, furTexture.rgb * _FurColor.rgb, ceil(poiMesh.furAlpha)); + float aoRampMax = _AoRampMax - (1 - furMask); + albedo.rgb *= lerp(1, smoothstep(_AoRampMin, aoRampMax, furHeightMap), _FurAO); + + albedo.a *= smoothstep(1.01, _FurTipAlpha, remapClamped(poiMesh.furAlpha, _FurFadeStart, 1, 0, 1)) + float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta new file mode 100644 index 00000000..89e72892 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ae093b4fdbf2b6f479c37444f7da6d63 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc new file mode 100644 index 00000000..032f3b08 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc @@ -0,0 +1,37 @@ +float _FurLength; +float _FurGravityStrength; + +[instance(4)] +[maxvertexcount(20)] +void geomFur(triangle v2f IN[3], inout TriangleStream < v2f > tristream, uint InstanceID : SV_GSInstanceID) +{ + float4 fur_worldPos[3]; + v2f o_fur[3]; + float3 offset = (float3(0, -1, 0) * (_FurLength*.9) *_FurGravityStrength); + + for (int i = 0; i < 3; i++) + { + if (InstanceID == 0) { + IN[i].furAlpha = 0; + tristream.Append(IN[i]); + } + o_fur[i] = IN[i]; + fur_worldPos[i] = float4(IN[i].worldPos + IN[i].normal * _FurLength, 1); + } + if (InstanceID == 0) { + tristream.RestartStrip(); + } + int Total_FurLayers = clamp(floor(_FurLayers * (1 - smoothstep(_FurMinDistance, _FurMaxDistance, distance(IN[0].worldPos, getCameraPosition())))), min(1, _FurLayers), _FurLayers); + + int startLayer = max(int(InstanceID) * 6 - 1, 0); + for (int layer = startLayer; layer < Total_FurLayers; layer++) { + for (int i = 0; i < 3; i++) { + o_fur[i].furAlpha = float(layer) / Total_FurLayers; + o_fur[i].worldPos = float4(lerp(IN[i].worldPos, fur_worldPos[i] + offset * o_fur[i].furAlpha, o_fur[i].furAlpha),1); + o_fur[i].pos = UnityWorldToClipPos(o_fur[i].worldPos); + o_fur[i].furAlpha += .01; + tristream.Append(o_fur[i]); + } + tristream.RestartStrip(); + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta new file mode 100644 index 00000000..29c27ae5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5bfbf29992411f24c889979fdc4c09ad +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc new file mode 100644 index 00000000..e31b6498 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc @@ -0,0 +1,232 @@ +#ifndef POI_GLITTER + #define POI_GLITTER + + half3 _GlitterColor; + POI_TEXTURE_NOSAMPLER(_GlitterMask); + float2 _GlitterPan; + POI_TEXTURE_NOSAMPLER(_GlitterColorMap); + POI_TEXTURE_NOSAMPLER(_GlitterTexture); + half _GlitterSpeed; + half _GlitterBrightness; + float _GlitterFrequency; + float _GlitterJitter; + half _GlitterSize; + half _GlitterContrast; + half _GlitterAngleRange; + half _GlitterMinBrightness; + half _GlitterBias; + float _GlitterRandomColors; + float2 _GlitterMinMaxSaturation; + float2 _GlitterMinMaxBrightness; + fixed _GlitterUseSurfaceColor; + float _GlitterBlendType; + float _GlitterMode; + float _GlitterShape; + float _GlitterCenterSize; + float _glitterFrequencyLinearEmissive; + float _GlitterJaggyFix; + float _GlitterRandomRotation; + float _GlitterTextureRotation; + float4 _GlitterMinMaxSize; + float _GlitterRandomSize; + + + float3 randomFloat3(float2 Seed, float maximum) + { + return(.5 + float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) + ) * .5) * (maximum); + } + + float3 randomFloat3Range(float2 Seed, float Range) + { + return(float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1) * Range; + } + + float3 randomFloat3WiggleRange(float2 Seed, float Range) + { + float3 rando = (float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1); + float speed = 1 + float(10); + return float3(sin((_Time.x + rando.x * pi) * speed), sin((_Time.x + rando.y * pi) * speed), sin((_Time.x + rando.z * pi) * speed)) * Range; + } + + void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out) + { + float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233))) * 43758.5453); + Out = lerp(Min, Max, randomno); + } + + float3 RandomColorFromPoint(float2 rando) + { + fixed hue = random2(rando.x + rando.y).x; + fixed saturation = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.x); + fixed value = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.y); + float3 hsv = float3(hue, saturation, value); + return HSVtoRGB(hsv); + } + + void applyGlitter(inout float4 albedo, inout float3 glitterEmission) + { + + + // Scale + float2 st = poiMesh.uv[0] * float(300); + + // Tile the space + float2 i_st = floor(st); + float2 f_st = frac(st); + + float m_dist = 10.; // minimun distance + float2 m_point = 0; // minimum point + float2 randoPoint = 0; + float2 dank; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 neighbor = float2(i, j); + float2 pos = random2(i_st + neighbor); + float2 rando = pos; + pos = 0.5 + 0.5 * sin(float(1) * 6.2831 * pos); + float2 diff = neighbor + pos - f_st; + float dist = length(diff); + + if (dist < m_dist) + { + dank = diff; + m_dist = dist; + m_point = pos; + randoPoint = rando; + } + } + } + + float randomFromPoint = random(randoPoint); + + float size = float(0.3); + + if(float(0)) + { + size = remapClamped(randomFromPoint, 0, 1, float4(0.1,0.5,0,1).x, float4(0.1,0.5,0,1).y); + } + + + // Assign a color using the closest point position + //color += dot(m_point, float2(.3, .6)); + + // Add distance field to closest point center + // color.g = m_dist; + + // Show isolines + //color -= abs(sin(40.0 * m_dist)) * 0.07; + + // Draw cell center + half glitterAlpha = 1; + switch(float(0)) + { + case 0: //circle + glitterAlpha = (1. - step(size, m_dist)); + break; + case 1: //sqaure + float jaggyFix = pow(poiCam.distanceToVert, 2) * float(0); + + + if (float(0)) + { + float2 center = float2(0, 0); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + dank = float2((dank.x - center.x) * cs - (dank.y - center.y) * sn + center.x, (dank.x - center.x) * sn + (dank.y - center.y) * cs + center.y); + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + else + { + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + break; + } + + float3 finalGlitter = 0; + + switch(float(0)) + { + case 0: + float3 randomRotation = 0; + + if(float(10) > 0) + { + randomRotation = randomFloat3WiggleRange(randoPoint, float(90)); + } + else + { + randomRotation = randomFloat3Range(randoPoint, float(90)); + } + float3 norm = poiMesh.normals[0]; + + float3 glitterReflectionDirection = normalize(mul(poiRotationMatrixFromAngles(randomRotation), norm)); + finalGlitter = lerp(0, float(0) * glitterAlpha, glitterAlpha) + max(pow(saturate(dot(lerp(glitterReflectionDirection, poiCam.viewDir, float(0.8)), poiCam.viewDir)), float(300)), 0); + finalGlitter *= glitterAlpha; + break; + case 1: + float offset = random(randoPoint); + float brightness = sin((_Time.x + offset) * float(10)) * float(20) - (float(20) - 1); + finalGlitter = max(float(0) * glitterAlpha, brightness * glitterAlpha * smoothstep(0, 1, 1 - m_dist * float(0.08) * 10)); + break; + } + + + half3 glitterColor = float4(1,1,1,1); + glitterColor *= lerp(1, albedo, float(0)); + glitterColor *= POI2D_SAMPLER_PAN(_GlitterColorMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + + float2 uv = remapClamped(dank, -size, size, 0, 1); + + if(float(0) && !float(0)) + { + float2 fakeUVCenter = float2(.5, .5); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - fakeUVCenter.x) * cs - (uv.y - fakeUVCenter.y) * sn + fakeUVCenter.x, (uv.x - fakeUVCenter.x) * sn + (uv.y - fakeUVCenter.y) * cs + fakeUVCenter.y); + } + float4 glitterTexture = POI2D_SAMPLER_PAN(_GlitterTexture, _MainTex, uv, float4(0,0,0,0)); + //float4 glitterTexture = _GlitterTexture.SampleGrad(sampler_MainTex, frac(uv), ddx(uv), ddy(uv)); + glitterColor *= glitterTexture.rgb; + float glitterMask = POI2D_SAMPLER_PAN(_GlitterMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskGlitter != 4) + { + glitterMask *= blackLightMask[_BlackLightMaskGlitter]; + } + #endif + + if(float(0)) + { + glitterColor *= RandomColorFromPoint(random2(randoPoint.x + randoPoint.y)); + } + + + if(float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, finalGlitter * glitterColor * float(3), finalGlitter * glitterTexture.a * glitterMask); + glitterEmission = finalGlitter * glitterColor * max(0, (float(3) - 1) * glitterTexture.a) * glitterMask; + } + else + { + glitterEmission = finalGlitter * glitterColor * float(3) * glitterTexture.a * glitterMask; + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta new file mode 100644 index 00000000..afbe77d3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9015a39df7fee054c8f24ef0afed1e98 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc new file mode 100644 index 00000000..060cb720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc @@ -0,0 +1,127 @@ +#ifndef POI_GRAB + #define POI_GRAB + + float _RefractionIndex; + float _RefractionOpacity; + float _RefractionChromaticAberattion; + float _RefractionEnabled; + float _GrabSrcBlend; + float _GrabDstBlend; + float _GrabPassUseAlpha; + float _GrabPassBlendFactor; + float _GrabBlurDistance; + float _GrabBlurQuality; + float _GrabBlurDirections; + POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap); + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RefractionOpacityMask); float4 _RefractionOpacityMask_ST; + + float4 blur(float2 uv) + { + float two_pi = 6.28318530718; + + float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur + float quality = floor(_GrabBlurQuality); + float directions = floor(_GrabBlurDirections); + + // Pixel colour + float4 color = tex2D(_PoiGrab, uv); + + float deltaAngle = two_pi / directions; + float deltaQuality = 1.0 / quality; + for (int i = 0; i < directions; i ++) + { + for (int j = 0; j < quality; j ++) + { + float angle = deltaAngle * i + j; + float offset = deltaQuality * (j + 1); + color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset); + } + } + + // Output to screen + color /= quality * directions + 1; + return color; + } + + inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos) + { + float4 refractionColor; + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos)); + float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0))) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir))); + float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x)); + + + if (_RefractionChromaticAberattion > 0) + { + float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction)); + float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g; + float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b; + refractionColor = float4(redAlpha.r, green, blue, redAlpha.a); + } + else + { + float2 refractedGrab = projectedGrabPos + cameraRefraction; + + #ifdef CHROMATIC_ABERRATION_LOW + refractionColor = blur(refractedGrab); + #else + refractionColor = tex2D(_PoiGrab, (refractedGrab)); + #endif + } + return refractionColor; + } + + void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor) + { + float3 refraction = 1; + + if(_RefractionEnabled == 1) + { + refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb; + } + else + { + #ifdef CHROMATIC_ABERRATION_LOW + refraction = blur(projectedGrabPos); + #else + refraction = tex2Dproj(_PoiGrab, poiCam.grabPos); + #endif + } + + float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r; + + if(_GrabPassUseAlpha) + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a)); + finalColor.a = 1; + } + else + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor); + } + } + + float2 calculateGrabPosition() + { + float4 grabPos = poiCam.grabPos; + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + float halfPosW = grabPos.w * 0.5; + grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW; + #if SHADER_API_D3D9 || SHADER_API_D3D11 + grabPos.w += 0.00000000001; + #endif + return(grabPos / grabPos.w).xy; + } + + void applyGrabEffects(inout float4 finalColor) + { + float2 projectedGrabPos = calculateGrabPosition(); + calculateRefraction(projectedGrabPos, finalColor); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta new file mode 100644 index 00000000..a019010c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6139e1d09bc8c8a49a8925ef501afe33 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc new file mode 100644 index 00000000..9ae9e754 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc @@ -0,0 +1,338 @@ +#ifndef POI_HELPER + #define POI_HELPER + + #include "CGI_PoiColors.cginc" + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float linearSin(float x) + { + return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0); + } + + float random(float2 p) + { + return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123); + } + + float2 random2(float2 p) + { + return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453); + } + + float3 random3(float3 p) + { + return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453); + } + + float3 mod(float3 x, float y) + { + return x - y * floor(x / y); + } + float2 mod(float2 x, float y) + { + return x - y * floor(x / y); + } + + //1/7 + #define K 0.142857142857 + //3/7 + #define Ko 0.428571428571 + + // Permutation polynomial: (34x^2 + x) mod 289 + float3 Permutation(float3 x) + { + return mod((34.0 * x + 1.0) * x, 289.0); + } + + bool IsInMirror() + { + return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; + } + + float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax) + { + #if UNITY_SPECCUBE_BOX_PROJECTION + + if (cubemapPosition.w > 0) + { + float3 factors = ((direction > 0 ? boxMax: boxMin) - position) / direction; + float scalar = min(min(factors.x, factors.y), factors.z); + direction = direction * scalar + (position - cubemapPosition); + } + #endif + return direction; + } + + // Camera + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + float3 grayscale_vector_node() + { + return float3(0, 0.3823529, 0.01845836); + } + + float3 grayscale_for_light() + { + return float3(0.298912, 0.586611, 0.114478); + } + + //Math Operators + + float remap(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float poiMax(float2 i) + { + return max(i.x, i.y); + } + + float poiMax(float3 i) + { + return max(max(i.x, i.y), i.z); + } + + float poiMax(float4 i) + { + return max(max(max(i.x, i.y), i.z), i.w); + } + + float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis) + { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, + 0.0, 0.0, 0.0, 1.0); + } + + float4x4 poiRotationMatrixFromAngles(float x, float y, float z) + { + float angleX = radians(x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + + float4x4 poiRotationMatrixFromAngles(float3 angles) + { + float angleX = radians(angles.x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(angles.y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(angles.z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + +#endif + +half2 calcScreenUVs(half4 grabPos) +{ + half2 uv = grabPos / (grabPos.w + 0.0000000001); + #if UNITY_SINGLE_PASS_STEREO + uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y); + #else + uv.xy *= _ScreenParams.xy; + #endif + + return uv; +} + +float inverseLerp(float A, float B, float T) +{ + return(T - A) / (B - A); +} + +float inverseLerp2(float2 a, float2 b, float2 value) +{ + float2 AB = b - a; + float2 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp3(float3 a, float3 b, float3 value) +{ + float3 AB = b - a; + float3 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp4(float4 a, float4 b, float4 value) +{ + float4 AB = b - a; + float4 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +// Dithering +inline half Dither8x8Bayer(int x, int y) +{ + const half dither[ 64 ] = { + 1, 49, 13, 61, 4, 52, 16, 64, + 33, 17, 45, 29, 36, 20, 48, 32, + 9, 57, 5, 53, 12, 60, 8, 56, + 41, 25, 37, 21, 44, 28, 40, 24, + 3, 51, 15, 63, 2, 50, 14, 62, + 35, 19, 47, 31, 34, 18, 46, 30, + 11, 59, 7, 55, 10, 58, 6, 54, + 43, 27, 39, 23, 42, 26, 38, 22 + }; + int r = y * 8 + x; + return dither[r] / 64; +} + +// UV Manipulation +float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv) +{ + float theta = radians(rotation); + scale = 1 - scale; + float cs = cos(theta); + float sn = sin(theta); + float2 centerPoint = offset + .5; + uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y); + + return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1)); +} + +bool isVR() +{ + // USING_STEREO_MATRICES + #if UNITY_SINGLE_PASS_STEREO + return true; + #else + return false; + #endif +} + +bool isVRHandCamera() +{ + return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005; +} + +bool isDesktop() +{ + return !isVRHandCamera(); +} + +bool isVRHandCameraPreview() +{ + return isVRHandCamera() && _ScreenParams.y == 720; +} + +bool isVRHandCameraPicture() +{ + return isVRHandCamera() && _ScreenParams.y == 1080; +} + +bool isPanorama() +{ + // Crude method + // FOV=90=camproj=[1][1] + return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025; +} + +float3 calculateluminance(float3 color) +{ + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta new file mode 100644 index 00000000..187177e1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2067e6af6ac14d74ca8eeebf2fcd4d8b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc new file mode 100644 index 00000000..6ee66d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc @@ -0,0 +1,36 @@ +#ifndef POI_HOLOGRAM + #define POI_HOLOGRAM + + UNITY_DECLARE_TEX2D_NOSAMPLER(_HoloAlphaMap); float4 _HoloAlphaMap_ST; + float _HoloCoordinateSpace; // 0 World, 1 Local, 2 UV + float3 _HoloDirection; + float _HoloScrollSpeed; + float _HoloLineDensity; + + fixed _HoloFresnelAlpha; + fixed _HoloRimSharpness; + fixed _HoloRimWidth; + void ApplyHoloAlpha(inout float4 color) + { + float uv = 0; + + if (_HoloCoordinateSpace == 0) + { + uv = dot(normalize(_HoloDirection), poiMesh.worldPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 1) + { + uv = dot(normalize(_HoloDirection), poiMesh.localPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 2) + { + uv = dot(_HoloDirection, poiMesh.uv[0] * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + float holoRim = saturate(1 - smoothstep(min(_HoloRimSharpness, _HoloRimWidth), _HoloRimWidth, poiCam.viewDotNormal)); + holoRim = abs(lerp(1, holoRim, _HoloFresnelAlpha)); + color.a *= UNITY_SAMPLE_TEX2D_SAMPLER(_HoloAlphaMap, _MainTex, uv).r * holoRim; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta new file mode 100644 index 00000000..251461c4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6cfdc822cbe06da4090bb6ea557a3ff5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc new file mode 100644 index 00000000..bcea8ccc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc @@ -0,0 +1,61 @@ +#ifndef POI_IRIDESCENCE + #define POI_IRIDESCENCE + + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceRamp); float4 _IridescenceRamp_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceMask); float4 _IridescenceMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceNormalMap); float4 _IridescenceNormalMap_ST; + float _IridescenceNormalUV; + float _IridescenceMaskUV; + float _IridescenceNormalSelection; + float _IridescenceNormalIntensity; + float _IridescenceNormalToggle; + float _IridescenceIntensity; + fixed _IridescenceAddBlend; + fixed _IridescenceReplaceBlend; + fixed _IridescenceMultiplyBlend; + float _IridescenceEmissionStrength; + + //global + + float3 calculateNormal(float3 baseNormal) + { + float3 normal = UnpackScaleNormal(UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceNormalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceNormalUV], _IridescenceNormalMap)), _IridescenceNormalIntensity); + return normalize( + normal.x * poiMesh.tangent + + normal.y * poiMesh.binormal + + normal.z * baseNormal + ); + } + + void applyIridescence(inout float4 albedo, inout float3 IridescenceEmission) + { + float3 normal = poiMesh.normals[_IridescenceNormalSelection]; + + // Use custom normal map + + if (_IridescenceNormalToggle) + { + normal = calculateNormal(normal); + } + + float ndotv = dot(normal, poiCam.viewDir); + + float4 iridescenceColor = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceRamp, _MainTex, 1 - abs(ndotv)); + float4 iridescenceMask = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceMaskUV], _IridescenceMask)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskIridescence != 4) + { + iridescenceMask *= blackLightMask[_BlackLightMaskIridescence]; + } + #endif + + + albedo.rgb = lerp(albedo.rgb, saturate(iridescenceColor.rgb * _IridescenceIntensity), iridescenceColor.a * _IridescenceReplaceBlend * iridescenceMask); + albedo.rgb += saturate(iridescenceColor.rgb * _IridescenceIntensity * iridescenceColor.a * _IridescenceAddBlend * iridescenceMask); + albedo.rgb *= saturate(lerp(1, iridescenceColor.rgb * _IridescenceIntensity, iridescenceColor.a * _IridescenceMultiplyBlend * iridescenceMask)); + + IridescenceEmission = saturate(iridescenceColor.rgb * _IridescenceIntensity) * iridescenceColor.a * iridescenceMask * _IridescenceEmissionStrength; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta new file mode 100644 index 00000000..b4b10280 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8fcf53bdd233d6442b0ff921a31bc2f0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc new file mode 100644 index 00000000..8f35cb62 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc @@ -0,0 +1,668 @@ + +#ifndef POI_LIGHTING + #define POI_LIGHTING + + float _LightingShadingEnabled; + float _LightingRampType; + float _LightingIgnoreAmbientColor; + float _UseShadowTexture; + float _LightingEnableAO; + float _LightingDetailShadowsEnabled; + + float _LightingOnlyUnityShadows; + float _LightingMode; + float _ForceLightDirection; + float _ShadowStrength; + float _OutlineShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _CastedShadowSmoothing; + float _AttenuationMultiplier; + float _EnableLighting; + float _LightingControlledUseLightColor; + fixed _LightingStandardSmoothness; + fixed _LightingStandardControlsToon; + fixed _LightingMinLightBrightness; + float _LightingUseShadowRamp; + float _LightingMinShadowBrightnessRatio; + UNITY_DECLARE_TEX2D(_ToonRamp); + fixed _LightingMonochromatic; + + fixed _LightingGradientStart; + fixed _LightingGradientEnd; + float3 _LightingShadowColor; + POI_TEXTURE_NOSAMPLER(_LightingShadowTexture); + float _AOStrength; + fixed _LightingDetailStrength; + fixed _LightingAdditiveDetailStrength; + fixed _LightingNoIndirectMultiplier; + fixed _LightingNoIndirectThreshold; + float _LightingUncapped; + + float _LightingDirectColorMode; + float _LightingIndirectColorMode; + float _LightingAdditiveType; + fixed _LightingAdditiveGradientStart; + fixed _LightingAdditiveGradientEnd; + fixed _LightingAdditivePassthrough; + float _LightingDirectAdjustment; + float _LightingIndirect; + // HSL JUNK + float _LightingEnableHSL; + float _LightingShadowHue; + float _LightingShadowSaturation; + float _LightingShadowLightness; + float _LightingHSLIntensity; + /* + UNITY_DECLARE_TEX2D_NOSAMPLER(_ToonRamp3); + half _LightingShadowStrength3; + half _ShadowOffset3; + */ + + half4 shadowStrength; + + POI_TEXTURE_NOSAMPLER(_LightingDetailShadows); + POI_TEXTURE_NOSAMPLER(_LightingAOTex); + POI_TEXTURE_NOSAMPLER(_LightingShadowMask); + + /* + * MIT License + * + * Copyright (c) 2018 s-ilent + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + /* + * Silent's code starts here + */ + + float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n) + { + // average energy + float R0 = max(0, L0); + + // avg direction of incoming light + float3 R1 = 0.5f * L1; + + // directional brightness + float lenR1 = length(R1); + + // linear angle between normal and direction 0-1 + //float q = 0.5f * (1.0f + dot(R1 / lenR1, n)); + //float q = dot(R1 / lenR1, n) * 0.5 + 0.5; + float q = dot(normalize(R1), n) * 0.5 + 0.5; + q = saturate(q); // Thanks to ScruffyRuffles for the bug identity. + + // power for q + // lerps from 1 (linear) to 3 (cubic) based on directionality + float p = 1.0f + 2.0f * lenR1 / R0; + + // dynamic range constant + // should vary between 4 (highly directional) and 0 (ambient) + float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0); + + return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p)); + } + + half3 BetterSH9(half4 normal) + { + float3 indirect; + float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0; + indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal); + indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal); + indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal); + indirect = max(0, indirect); + indirect += SHEvalLinearL2(normal); + return indirect; + } + + float3 BetterSH9(float3 normal) + { + return BetterSH9(float4(normal, 1)); + } + + /* + * Standard stuff starts here + */ + UnityLight CreateLight(float3 normal, fixed detailShadowMap) + { + UnityLight light; + light.dir = poiLight.direction; + light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap); + light.ndotl = DotClamped(normal, poiLight.direction); + return light; + } + + float FadeShadows(float attenuation) + { + #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + // UNITY_LIGHT_ATTENUATION doesn't fade shadows for us. + + #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + attenuation = lerp(1, poiLight.attenuation, float(0)); + #endif + + float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); + float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ); + float shadowFade = UnityComputeShadowFade(shadowFadeDistance); + float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); + attenuation = UnityMixRealtimeAndBakedShadows( + attenuation, bakedAttenuation, shadowFade + ); + #endif + + return attenuation; + } + + void ApplySubtractiveLighting(inout UnityIndirect indirectLight) + { + #if SUBTRACTIVE_LIGHTING + poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0))); + + float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz)); + float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb; + float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate; + subtractedLight = max(subtractedLight, unity_ShadowColor.rgb); + subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x); + indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse); + #endif + } + + float3 weightedBlend(float3 layer1, float3 layer2, float2 weights) + { + return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y); + } + + UnityIndirect CreateIndirectLight(float3 normal) + { + UnityIndirect indirectLight; + indirectLight.diffuse = 0; + indirectLight.specular = 0; + + #if defined(FORWARD_BASE_PASS) + #if defined(LIGHTMAP_ON) + indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy)); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy + ); + indirectLight.diffuse = DecodeDirectionalLightmap( + indirectLight.diffuse, lightmapDirection, normal + ); + #endif + ApplySubtractiveLighting(indirectLight); + #endif + + #if defined(DYNAMICLIGHTMAP_ON) + float3 dynamicLightDiffuse = DecodeRealtimeLightmap( + UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw) + ); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_DynamicDirectionality, unity_DynamicLightmap, + poiMesh.lightmapUV.zw + ); + indirectLight.diffuse += DecodeDirectionalLightmap( + dynamicLightDiffuse, dynamicLightmapDirection, normal + ); + #else + indirectLight.diffuse += dynamicLightDiffuse; + #endif + #endif + + #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON) + #if UNITY_LIGHT_PROBE_PROXY_VOLUME + if (unity_ProbeVolumeParams.x == 1) + { + indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume( + float4(normal, 1), poiMesh.worldPos + ); + indirectLight.diffuse = max(0, indirectLight.diffuse); + #if defined(UNITY_COLORSPACE_GAMMA) + indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse); + #endif + } + else + { + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + } + #else + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + #endif + #endif + + float3 reflectionDir = reflect(-poiCam.viewDir, normal); + Unity_GlossyEnvironmentData envData; + envData.roughness = 1 - float(0); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + #if UNITY_SPECCUBE_BLENDING + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + indirectLight.specular = lerp(probe1, probe0, interpolator); + } + else + { + indirectLight.specular = probe0; + } + #else + indirectLight.specular = probe0; + #endif + float occlusion = 1; + + if(float(0)) + { + occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + } + + indirectLight.diffuse *= occlusion; + indirectLight.diffuse = max(indirectLight.diffuse, float(0)); + indirectLight.specular *= occlusion; + #endif + + return indirectLight; + } + + /* + * Poiyomi's cool as heck code starts here :smug: + */ + + half PoiDiffuse(half NdotV, half NdotL, half LdotH) + { + half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5); + // Two schlick fresnel term + half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL)); + half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV)); + + return lightScatter * viewScatter; + } + + float3 ShadeSH9Indirect() + { + return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Direct() + { + return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Normal(float3 normalDirection) + { + return ShadeSH9(half4(normalDirection, 1.0)); + } + + half3 GetSHLength() + { + half3 x, x1; + x.r = length(unity_SHAr); + x.g = length(unity_SHAg); + x.b = length(unity_SHAb); + x1.r = length(unity_SHBr); + x1.g = length(unity_SHBg); + x1.b = length(unity_SHBb); + return x + x1; + } + + float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap) + { + return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])); + } + + void calculateBasePassLightMaps() + { + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + float AOMap = 1; + float AOStrength = 1; + float3 lightColor = poiLight.color; + /* + * Generate Basic Light Maps + */ + + bool lightExists = false; + if (all(_LightColor0.rgb >= 0.002)) + { + lightExists = true; + } + #ifndef OUTLINE + + if(float(0)) + { + AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + AOStrength = float(1); + } + + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + if (lightExists) + { + lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + } + else + { + lightColor = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + } + + //lightColor = magic * magiratio + normalLight * normaRatio; + //lightColor = magic + normalLight; + #endif + #endif + + float3 grayscale_vector = float3(.33333, .33333, .33333); + float3 ShadeSH9Plus = GetSHLength(); + float3 ShadeSH9Minus = BetterSH9(float4(0, 0, 0, 1)); + + shadowStrength = 1; + #ifndef OUTLINE + shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(1); + #else + shadowStrength = float(1); + #endif + + float bw_lightColor = dot(lightColor, grayscale_vector); + float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector)); + float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector); + float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector); + float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); + + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(0)) + { + poiLight.lightMap = poiLight.attenuation; + } + else + { + poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); + } + poiLight.lightMap *= detailShadow; + + /* + * Decide on light colors + */ + + float3 indirectLighting = 0; + float3 directLighting = 0; + + + + + if (float(0) == 1) + { + indirectLighting = BetterSH9(float4(poiMesh.normals[0], 1)); + } + else + { + indirectLighting = ShadeSH9Minus; + } + + poiLight.directLighting = lightColor; + poiLight.indirectLighting = indirectLighting; + + + if(float(0) == 0) + { + float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + + float magiLumi = calculateluminance(magic); + float normaLumi = calculateluminance(normalLight); + float maginormalumi = magiLumi + normaLumi; + + float magiratio = magiLumi / maginormalumi; + float normaRatio = normaLumi / maginormalumi; + + float target = calculateluminance(magic * magiratio + normalLight * normaRatio); + float3 properLightColor = magic + normalLight; + float properLuminance = calculateluminance(magic + normalLight); + directLighting = properLightColor * max(0.0001, (target / properLuminance)); + } + else + { + directLighting = lightColor; + } + + + if(!float(0)) + { + float directluminance = calculateluminance(directLighting); + float indirectluminance = calculateluminance(indirectLighting); + directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1))); + indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1))); + } + + directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0)); + indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0)); + + if(max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0) + { + indirectLighting = directLighting * _LightingNoIndirectMultiplier; + } + + + if(float(0)) + { + float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1); + if(directluminance > 0) + { + indirectLighting = max(0.001, indirectLighting); + } + float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1); + float targetluminance = directluminance * float(0); + if(indirectluminance < targetluminance) + { + indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance); + } + } + + /* + * Create Shade Maps + */ + + if (float(0)) + { + switch(float(0)) + { + case 0: // Ramp Texture + { + poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)), shadowStrength.r); + + if (float(0)) + { + poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + else + { + poiLight.finalLighting = lerp(indirectLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + } + break; + case 1: // Math Gradient + { + poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)); + float3 shadowColor = float4(1,1,1,1); + + if (float(0)) + { + shadowColor = 1; + } + + if(float(0)) + { + poiLight.finalLighting = lerp((directLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + else + { + poiLight.finalLighting = lerp((indirectLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + } + break; + } + } + else + { + poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap); + poiLight.finalLighting = directLighting; + } + + if(!float(0)) + { + poiLight.finalLighting = saturate(poiLight.finalLighting); + } + //poiLight.finalLighting *= .8; + #endif + } + + void applyShadowTexture(inout float4 albedo) + { + + if (float(0) && float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, POI2D_SAMPLER_PAN(_LightingShadowTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1), (1 - poiLight.rampedLightMap) * shadowStrength); + } + } + + float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL) + { + fixed detailShadow = 1; + + if(float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + return lightColor * attenuationDotNL * detailShadow; + } + else + { + return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow; + } + } + + + float3 calculateFinalLighting(inout float3 albedo, float4 finalColor) + { + float3 finalLighting = 1; + // Additive Lighting + #ifdef FORWARD_ADD_PASS + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow; + } + else + { + #if defined(POINT) || defined(SPOT) + finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow; + #else + finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow; + #endif + } + #endif + + // Base and Meta Lighting + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + #ifdef VERTEXLIGHT_ON + poiLight.vFinalLighting = 0; + + for (int index = 0; index < 4; index ++) + { + poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vCorrectedDotNL[index]); + } + #endif + + switch(float(0)) + { + case 0: // Toon Lighting + { + // HSL Shading + + if (float(0)) + { + float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap); + albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1)); + } + + // Normal Shading + + if (float(0) > 0) + { + poiLight.finalLighting = max(0.001, poiLight.finalLighting); + float finalluminance = calculateluminance(poiLight.finalLighting); + finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0)))); + } + else + { + finalLighting = poiLight.finalLighting; + } + } + break; + case 1: // realistic + { + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb; + finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0)); + } + break; + } + #endif + return finalLighting; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta new file mode 100644 index 00000000..3f7d8a73 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4a8b2ac5ee15f8047a02b70b573fec12 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc new file mode 100644 index 00000000..c23736df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc @@ -0,0 +1,243 @@ +#ifndef POI_MSDF + #define POI_MSDF + + sampler2D _TextGlyphs; + float4 _TextGlyphs_ST; + float4 _TextGlyphs_TexelSize; + float _TextFPSUV; + float _TextTimeUV; + float _TextPositionUV; + float _TextPixelRange; + + float _TextFPSEnabled; + float _TextPositionEnabled; + float _TextTimeEnabled; + + + float4 _TextFPSColor; + half _TextFPSEmissionStrength; + fixed4 _TextFPSPadding; + half2 _TextFPSOffset; + half2 _TextFPSScale; + half _TextFPSRotation; + + fixed _TextPositionVertical; + float4 _TextPositionColor; + half _TextPositionEmissionStrength; + fixed4 _TextPositionPadding; + half2 _TextPositionOffset; + half2 _TextPositionScale; + half _TextPositionRotation; + + float4 _TextTimeColor; + half _TextTimeEmissionStrength; + fixed4 _TextTimePadding; + half2 _TextTimeOffset; + half2 _TextTimeScale; + half _TextTimeRotation; + + #define glyphWidth 0.0625 + + #define ASCII_LEFT_PARENTHESIS 40 + #define ASCII_RIGHT_PARENTHESIS 41 + #define ASCII_POSITIVE 43 + #define ASCII_PERIOD 46 + #define ASCII_NEGATIVE 45 + #define ASCII_COMMA 44 + #define ASCII_E 69 + #define ASCII_F 70 + #define ASCII_I 73 + #define ASCII_M 77 + #define ASCII_O 79 + #define ASCII_P 80 + #define ASCII_S 83 + #define ASCII_T 54 + #define ASCII_SEMICOLON 58 + + float3 globalTextEmission; + + half2 getAsciiCoordinate(float index) + { + return half2((index - 1) / 16, 1 - ((floor(index / 16 - glyphWidth)) / 16)); + } + + float median(float r, float g, float b) + { + return max(min(r, g), min(max(r, g), b)); + } + + void ApplyPositionText(inout float4 albedo, float2 uv) + { + float3 cameraPos = clamp(getCameraPosition(), -999, 999); + float3 absCameraPos = abs(cameraPos); + float totalCharacters = 20; + float positionArray[20]; + positionArray[0] = cameraPos.x >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[1] = floor((absCameraPos.x * .01) % 10) + 48; + positionArray[2] = floor((absCameraPos.x * .1) % 10) + 48; + positionArray[3] = floor(absCameraPos.x % 10) + 48; + positionArray[4] = ASCII_PERIOD; + positionArray[5] = floor((absCameraPos.x * 10) % 10) + 48; + positionArray[6] = ASCII_COMMA; + positionArray[7] = cameraPos.y >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[8] = floor((absCameraPos.y * .01) % 10) + 48; + positionArray[9] = floor((absCameraPos.y * .1) % 10) + 48; + positionArray[10] = floor(absCameraPos.y % 10) + 48; + positionArray[11] = ASCII_PERIOD; + positionArray[12] = floor((absCameraPos.y * 10) % 10) + 48; + positionArray[13] = ASCII_COMMA; + positionArray[14] = cameraPos.z >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[15] = floor((absCameraPos.z * .01) % 10) + 48; + positionArray[16] = floor((absCameraPos.z * .1) % 10) + 48; + positionArray[17] = floor(absCameraPos.z % 10) + 48; + positionArray[18] = ASCII_PERIOD; + positionArray[19] = floor((absCameraPos.z * 10) % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if (uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(positionArray[currentCharacter]); + + float2 startUV = float2(1 / totalCharacters * currentCharacter, 0); + float2 endUV = float2(1 / totalCharacters * (currentCharacter + 1), 1); + + fixed4 textPositionPadding = float4(0,0,0,0); + textPositionPadding *= 1 / totalCharacters; + uv = remapClamped(uv, startUV, endUV, float2(glyphPos.x + textPositionPadding.x, glyphPos.y - glyphWidth + textPositionPadding.y), float2(glyphPos.x + glyphWidth - textPositionPadding.z, glyphPos.y - textPositionPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textPositionPadding.z - .001 || uv.x < glyphPos.x + textPositionPadding.x + .001 || uv.y > glyphPos.y - textPositionPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textPositionPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyTimeText(inout float4 albedo, float2 uv) + { + float instanceTime = _Time.y; + float hours = instanceTime / 3600; + float minutes = (instanceTime / 60) % 60; + float seconds = instanceTime % 60; + float totalCharacters = 8; + float timeArray[8]; + timeArray[0] = floor((hours * .1) % 10) + 48; + timeArray[1] = floor(hours % 10) + 48; + timeArray[2] = ASCII_SEMICOLON; + timeArray[3] = floor((minutes * .1) % 10) + 48; + timeArray[4] = floor(minutes % 10) + 48; + timeArray[5] = ASCII_SEMICOLON; + timeArray[6] = floor((seconds * .1) % 10) + 48; + timeArray[7] = floor(seconds % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(timeArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + fixed4 textTimePadding = float4(0,0,0,0); + textTimePadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textTimePadding.x, glyphPos.y - glyphWidth + textTimePadding.y), float2(glyphPos.x + glyphWidth - textTimePadding.z, glyphPos.y - textTimePadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textTimePadding.z - .001 || uv.x < glyphPos.x + textTimePadding.x + .001 || uv.y > glyphPos.y - textTimePadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textTimePadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyFPSText(inout float4 albedo, float2 uv) + { + float smoothDeltaTime = clamp(unity_DeltaTime.w, 0, 999); + float totalCharacters = 7; + float fpsArray[7]; + fpsArray[0] = ASCII_F; + fpsArray[1] = ASCII_P; + fpsArray[2] = ASCII_S; + fpsArray[3] = ASCII_SEMICOLON; + fpsArray[4] = floor((smoothDeltaTime * .01) % 10) + 48; + fpsArray[5] = floor((smoothDeltaTime * .1) % 10) + 48; + fpsArray[6] = floor(smoothDeltaTime % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(fpsArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + + fixed4 textFPSPadding = float4(0,0,0,0); + textFPSPadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textFPSPadding.x, glyphPos.y - glyphWidth + textFPSPadding.y), float2(glyphPos.x + glyphWidth - textFPSPadding.z, glyphPos.y - textFPSPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textFPSPadding.z - .001 || uv.x < glyphPos.x + textFPSPadding.x + .001 || uv.y > glyphPos.y - textFPSPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textFPSPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,1,1,1).rgb, opacity * float4(1,1,1,1).a); + globalTextEmission += float4(1,1,1,1).rgb * opacity * float(0); + } + + void ApplyTextOverlayColor(inout float4 albedo, inout float3 textOverlayEmission) + { + globalTextEmission = 0; + half positionalOpacity = 0; + #ifdef EFFECT_BUMP + + if(float(0)) + { + ApplyFPSText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyPositionText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyTimeText(albedo, poiMesh.uv[float(0)]); + } + + textOverlayEmission = globalTextEmission; + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta new file mode 100644 index 00000000..37a68944 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3b121cf49a52dca4f97ffa0df946e5e3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc new file mode 100644 index 00000000..ecac0805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc @@ -0,0 +1,33 @@ +#ifndef POI_MACROS + #define POI_MACROS + + #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale + + #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex))) + #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + + #ifdef POINT + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; + #endif + + #ifdef SPOT + #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)) + #else + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord + #endif + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + DECLARE_LIGHT_COORD(input, worldPos); \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta new file mode 100644 index 00000000..0d07c885 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c5b1f1bf5e193d14c80cff8ff397860d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc new file mode 100644 index 00000000..270384af --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc @@ -0,0 +1,147 @@ +#ifndef POI_MAINTEXTURE + #define POI_MAINTEXTURE + + + + POI_TEXTURE_NOSAMPLER(_AlphaMask); + POI_TEXTURE_NOSAMPLER(_MainFadeTexture); + float4 _Color; + float _MainVertexColoring; + float _MainUseVertexColorAlpha; + float _Saturation; + float2 _MainDistanceFade; + half _MainMinAlpha; + float _MainHueShift; + #ifdef COLOR_GRADING_HDR + POI_TEXTURE_NOSAMPLER(_MainHueShiftMask); + float _MainHueShiftToggle; + float _MainHueShiftSpeed; + float _MainHueShiftReplace; + #endif + + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailTex); + half _DetailTexIntensity; + half3 _DetailTint; + float _DetailBrightness; + #endif + //globals + float alphaMask; + half3 diffColor; + + #include "CGI_PoiBackFace.cginc" + + float3 wireframeEmission; + + inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo) + { + half4 specGloss = 0; + half3 specColor = specGloss.rgb; + half smoothness = specGloss.a; + + half oneMinusReflectivity; + diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specColor, /*out*/ oneMinusReflectivity); + + FragmentCommonData o = (FragmentCommonData)0; + o.diffColor = diffColor; + o.specColor = specColor; + o.oneMinusReflectivity = oneMinusReflectivity; + o.smoothness = smoothness; + return o; + } + + inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo) + { + i_tex = i_tex; + + FragmentCommonData o = SpecularSetup(i_tex, albedo); + o.normalWorld = float4(0, 0, 0, 1); + o.eyeVec = poiCam.viewDir; + o.posWorld = i_posWorld; + + // NOTE: shader relies on pre-multiply alpha-blend (float(1) = One, float(0) = OneMinusSrcAlpha) + o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha); + return o; + } + + void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask) + { + dissolveEmission = 0; + + #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + #endif + + alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + mainTexture.a *= alphaMask; + + #ifndef POI_SHADOW + albedo = float4(lerp(mainTexture.rgb, dot(mainTexture.rgb, float3(0.3, 0.59, 0.11)), -float(0)) * max(float4(1,1,1,1).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, GammaToLinearSpace(poiMesh.vertexColor.rgb), float(0)), mainTexture.a * max(float4(1,1,1,1).a, 0.0000001)); + + #ifdef POI_LIGHTING + applyShadowTexture(albedo); + #endif + + albedo *= lerp(1, poiMesh.vertexColor.a, float(0)); + #ifdef POI_RGBMASK + albedo.rgb = calculateRGBMask(albedo.rgb); + #endif + + albedo.a = saturate(float(0) + albedo.a); + + wireframeEmission = 0; + #ifdef POI_WIREFRAME + applyWireframe(wireframeEmission, albedo); + #endif + float backFaceDetailIntensity = 1; + + float mixedHueShift = float(0); + applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission); + + #ifdef POI_FUR + calculateFur(); + #endif + + #ifdef COLOR_GRADING_HDR + float hueShiftAlpha = POI2D_SAMPLER_PAN(_MainHueShiftMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if(float(1)) + { + albedo.rgb = lerp(albedo.rgb, hueShift(albedo.rgb, mixedHueShift + float(0) * _Time.x), hueShiftAlpha); + } + else + { + albedo.rgb = hueShift(albedo.rgb, frac((mixedHueShift - (1 - hueShiftAlpha) + float(0) * _Time.x))); + } + #endif + #ifdef FINALPASS + half3 detailTexture = POI2D_SAMPLER_PAN(_DetailTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb * float4(1,1,1,1).rgb; + albedo.rgb *= LerpWhiteTo(detailTexture * float(1) * unity_ColorSpaceDouble.rgb, detailMask.r * float(1) * backFaceDetailIntensity); + #endif + albedo.rgb = saturate(albedo.rgb); + + #ifdef POI_HOLOGRAM + ApplyHoloAlpha(albedo); + #endif + + s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo); + #endif + + #ifdef DISTORT + calculateDissolve(albedo, dissolveEmission); + #endif + } + + void distanceFade(inout float4 albedo) + { + half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(fadeMap) + { + half fadeValue = max(smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, poiCam.distanceToVert), float(0)); + albedo.a *= fadeValue; + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta new file mode 100644 index 00000000..79a0df3d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 115b0c89a4c82d34c92825272bc26419 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc new file mode 100644 index 00000000..3aa6d6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc @@ -0,0 +1,115 @@ +#ifndef MATCAP + #define MATCAP + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap); float4 _Matcap_ST; + POI_TEXTURE_NOSAMPLER(_MatcapMask); + float _MatcapMaskInvert; + float _MatcapBorder; + float4 _MatcapColor; + float _MatcapIntensity; + float _MatcapReplace; + float _MatcapMultiply; + float _MatcapAdd; + float _MatcapEnable; + float _MatcapLightMask; + float _MatcapEmissionStrength; + float _MatcapNormal; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap2);float4 _Matcap2_ST; + POI_TEXTURE_NOSAMPLER(_Matcap2Mask); + float _Matcap2MaskInvert; + float _Matcap2Border; + float4 _Matcap2Color; + float _Matcap2Intensity; + float _Matcap2Replace; + float _Matcap2Multiply; + float _Matcap2Add; + float _Matcap2Enable; + float _Matcap2LightMask; + float _Matcap2EmissionStrength; + float _Matcap2Normal; + + void blendMatcap(inout float4 finalColor, float add, float multiply, float replace, float4 matcapColor, float matcapMask, inout float3 matcapEmission, float emissionStrength + #ifdef POI_LIGHTING + , float matcapLightMask + #endif + #ifdef POI_BLACKLIGHT + , uint blackLightMaskIndex + #endif + ) + { + #ifdef POI_LIGHTING + if (matcapLightMask) + { + matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); + } + #endif + #ifdef POI_BLACKLIGHT + if(blackLightMaskIndex != 4) + { + matcapMask *= blackLightMask[blackLightMaskIndex]; + } + #endif + + finalColor.rgb = lerp(finalColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a); + finalColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); + finalColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; + matcapEmission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; + } + + void applyMatcap(inout float4 finalColor, inout float3 matcapEmission) + { + float4 matcap = 0; + float matcapMask = 0; + float4 matcap2 = 0; + float matcap2Mask = 0; + + // Both matcaps use the same coordinates + half3 worldViewUp = normalize(half3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); + + // Matcap 1 + half2 matcapUV = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + + matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(1,1,1,1); + matcap.rgb *= float(1); + matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if (float(0)) + { + matcapMask = 1 - matcapMask; + } + + blendMatcap(finalColor, float(0), float(0), float(1), matcap, matcapMask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap + #endif + ); + + // Matcap 2 + + if (float(0)) + { + half2 matcapUV2 = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + matcap2 = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap2, _MainTex, TRANSFORM_TEX(matcapUV2, _Matcap2)) * float4(1,1,1,1); + matcap2.rgb *= float(1); + matcap2Mask = POI2D_SAMPLER_PAN(_Matcap2Mask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(float(0)) + { + matcap2Mask = 1 - matcap2Mask; + } + blendMatcap(finalColor, float(0), float(0), float(0), matcap2, matcap2Mask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap2 + #endif + ); + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta new file mode 100644 index 00000000..85232996 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b79400328880d9548a12d109a5bfaebb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc new file mode 100644 index 00000000..b2d07a38 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc @@ -0,0 +1,104 @@ +/* +MIT License + +Copyright (c) 2019 wraikny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +VertexTransformShader is dependent on: +*/ + +#ifndef POI_MATH + #define POI_MATH + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float4 quaternion_conjugate(float4 v) + { + return float4( + v.x, -v.yzw + ); + } + + float4 quaternion_mul(float4 v1, float4 v2) + { + float4 result1 = (v1.x * v2 + v1 * v2.x); + + float4 result2 = float4( + - dot(v1.yzw, v2.yzw), + cross(v1.yzw, v2.yzw) + ); + + return float4(result1 + result2); + } + + // angle : radians + float4 get_quaternion_from_angle(float3 axis, float angle) + { + return float4( + cos(angle / 2.0), + normalize(axis) * sin(angle / 2.0) + ); + } + + float4 quaternion_from_vector(float3 inVec) + { + return float4(0.0, inVec); + } + + float degree_to_radius(float degree) + { + return( + degree / 180.0 * pi + ); + } + + float3 rotate_with_quaternion(float3 inVec, float3 rotation) + { + float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x)); + float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y)); + float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z)); + + #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C)) + float4 quaternion = normalize(MUL3(qx, qy, qz)); + float4 conjugate = quaternion_conjugate(quaternion); + + float4 inVecQ = quaternion_from_vector(inVec); + + float3 rotated = ( + MUL3(quaternion, inVecQ, conjugate) + ).yzw; + + return rotated; + } + + float4 transform(float4 input, float4 pos, float4 rotation, float4 scale) + { + input.rgb *= (scale.xyz * scale.w); + input = float4( + rotate_with_quaternion(input.xyz, rotation.xyz * rotation.w) + + (pos.xyz * pos.w), + input.w + ); + return input; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta new file mode 100644 index 00000000..4f14a699 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7988fdd8157f1d543880632c4ed1e175 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc new file mode 100644 index 00000000..916f65eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc @@ -0,0 +1,130 @@ +#ifndef POI_METAL + #define POI_METAL + + samplerCUBE _CubeMap; + float _SampleWorld; + POI_TEXTURE_NOSAMPLER(_MetallicMask); + POI_TEXTURE_NOSAMPLER(_SmoothnessMask); + float _Metallic; + float _InvertSmoothness; + float _Smoothness; + float _EnableMetallic; + float3 _MetalReflectionTint; + POI_TEXTURE_NOSAMPLER(_MetallicTintMap); + + float3 finalreflections; + float metalicMap; + float3 reflection; + float roughness; + float lighty_boy_uwu_var; + + bool shouldMetalHappenBeforeLighting() + { + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool probeExists = !(unity_SpecCube0_HDR.a == 0 && envSample.a == 0); + return probeExists && !float(0); + } + + float3 fresnelRelflection(in float4 albedo) + { + half3 dotNV = 1 - abs(poiLight.nDotV); + half f = dotNV * dotNV * dotNV * dotNV; + //f *= i_sold.fresnel; + return lerp(lerp(DielectricSpec.rgb, albedo.rgb, metalicMap), saturate(1 - roughness + metalicMap), f); + } + + void calculateMetallicness() + { + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + } + + void ApplyMetallics(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflection = lerp(probe1, probe0, interpolator); + } + else + { + reflection = probe0; + } + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } + + void ApplyMetallicsFake(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + reflection = texCUBElod(_CubeMap, float4(poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta new file mode 100644 index 00000000..081f7371 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ef7cde12211997b4986f5d6bf48b0cf5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc new file mode 100644 index 00000000..8bb16398 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc @@ -0,0 +1,77 @@ +#ifndef POI_MIRROR + #define POI_MIRROR + + float _Mirror; + float _EnableMirrorTexture; + POI_TEXTURE_NOSAMPLER(_MirrorTexture); + + + void applyMirrorRenderVert(inout float4 vertex) + { + + if (float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + void applyMirrorRenderFrag() + { + + if(float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + void applyMirrorTexture(inout float4 mainTexture) + { + + if(float(0)) + { + if(IsInMirror()) + { + mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + } + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta new file mode 100644 index 00000000..0248bc06 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a6c37053ac8ebb1479796052b70da691 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc new file mode 100644 index 00000000..62e63c91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc @@ -0,0 +1,107 @@ +float _OutlineRimLightBlend; +float _OutlineLit; +float _OutlineTintMix; +float2 _MainTexPan; +float _MainTextureUV; + +float4 frag(v2f i, uint facing: SV_IsFrontFace): COLOR +{ + float4 finalColor = 1; + + if (float(0)) + { + UNITY_SETUP_INSTANCE_ID(i); + + float3 finalEmission = 0; + float4 albedo = 1; + + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + float3 uselessData0; + float3 uselessData1; + initTextureData(albedo, mainTexture, uselessData0, uselessData1, detailMask); + + + fixed4 col = mainTexture; + float alphaMultiplier = smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(getCameraPosition(), i.worldPos)); + float OutlineMask = tex2D(_OutlineMask, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0)).r; + clip(OutlineMask * float(0) - 0.001); + + col = col * 0.00000000001 + tex2D(_OutlineTexture, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineTexture) + _Time.x * float4(0,0,0,0) ); + col.a *= albedo.a; + col.a *= alphaMultiplier; + + #ifdef POI_RANDOM + col.a *= i.angleAlpha; + #endif + + poiCam.screenUV = calcScreenUVs(i.grabPos); + col.a *= float4(1,1,1,1).a; + + + if(float(0) == 1) + { + applyDithering(col); + } + + clip(col.a - float(0.5)); + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + + if(float(0) == 1) + { + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + col.rgb = mainTexture.rgb; + } + else if(float(0) == 2) + { + col.rgb = lerp(col.rgb, poiLight.color, float(0)); + } + col.rgb *= float4(1,1,1,1).rgb; + + if(float(0) == 1) + { + col.rgb = lerp(col.rgb, mainTexture.rgb, float(0)); + } + + finalColor = col; + + #ifdef POI_LIGHTING + + if(float(1)) + { + finalColor.rgb *= calculateFinalLighting(finalColor.rgb, finalColor); + } + #endif + finalColor.rgb += (col.rgb * float(0)); + } + else + { + clip(-1); + } + return finalColor; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta new file mode 100644 index 00000000..03a5b9c9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 50d587cabf0f2e94588b4ff7acd4f415 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc new file mode 100644 index 00000000..900e9e43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc @@ -0,0 +1,105 @@ +#ifndef OutlineVert + #define OutlineVert + + #include "CGI_PoiV2F.cginc" + + float _OutlineMode; + float4 _OutlinePersonaDirection; + float4 _OutlineDropShadowOffset; + float _OutlineUseVertexColors; + float _OutlineFixedSize; + float _commentIfZero_EnableOutlinePass; + + sampler2D _OutlineMask; float4 _OutlineMask_ST; float2 _OutlineMaskPan; float _OutlineMaskUV; + v2f vert(appdata v) + { + + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + + float2 uvArray[4]; + uvArray[0] = o.uv0.xy; + uvArray[1] = o.uv0.zw; + uvArray[2] = o.uv1.xy; + uvArray[3] = o.uv1.zw; + + #ifdef POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + o.uv0.xy = v.uv0 + _OutlineGlobalPan.xy * _Time.y; + float outlineMask = 1; + + outlineMask = poiMax(tex2Dlod(_OutlineMask, float4(TRANSFORM_TEX(uvArray[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0), 0, 0)).rgb); + + if (float(0) == 2) + { + outlineMask *= v.color.r; + } + + + if(float(0) != 1) + { + o.normal = UnityObjectToWorldNormal(v.normal); + } + else + { + o.normal = UnityObjectToWorldNormal(v.color); + } + + + half offsetMultiplier = 1; + half distanceOffset = 1; + + if(float(0)) + { + distanceOffset *= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex).xyz); + } + + float3 offset = o.normal * (float(0) * float(0) / 100) * outlineMask * distanceOffset; + + + if(float(0) == 2) + { + float3 lightDirection = poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + offsetMultiplier = saturate(dot(lightDirection, o.normal)); + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 3) + { + half3 viewNormal = mul((float3x3)UNITY_MATRIX_V, o.normal); + offsetMultiplier = saturate(dot(viewNormal.xy, normalize(float4(1,0,0,0).xy))); + + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 4) + { + offset = mul((float3x3)transpose(UNITY_MATRIX_V), float4(1,0,0,0)); + offset *= distanceOffset; + } + + o.worldPos = mul(unity_ObjectToWorld, v.vertex) + float4(offset, 0); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.pos = UnityWorldToClipPos(o.worldPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0); + UNITY_TRANSFER_FOG(o, o.pos); + return o; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta new file mode 100644 index 00000000..fce892ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c6dedb9c03b60fc4ea2c8a9310f30e97 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc new file mode 100644 index 00000000..da64a89d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc @@ -0,0 +1,63 @@ +#ifndef PANOSPHERE + #define PANOSPHERE + + sampler2D _PanosphereTexture; float4 _PanosphereTexture_ST; + POI_TEXTURE_NOSAMPLER(_PanoMask); + float _PanoEmission; + float _PanoBlend; + float4 _PanosphereColor; + float3 _PanospherePan; + float _PanoToggle; + float _PanoCubeMapToggle; + float _PanoInfiniteStereoToggle; + samplerCUBE _PanoCubeMap; half4 _PanoCubeMap_HDR; + + float3 panoColor; + float panoMask; + + float2 projectIt(float3 coords) + { + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude + _Time.y * float4(0,0,0,0).x, latitude + _Time.y * float4(0,0,0,0).y) * float2(1.0 / UNITY_PI, 1.0 / UNITY_PI); + sphereCoords = float2(1.0, 1.0) - sphereCoords; + return(sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; + } + + void applyPanosphereColor(inout float4 albedo, inout float3 panosphereEmission) + { + panoMask = POI2D_SAMPLER_PAN(_PanoMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskPanosphere != 4) + { + panoMask *= blackLightMask[_BlackLightMaskPanosphere]; + } + #endif + + + if(float(0)) + { + float3 cubeUV = mul(poiRotationMatrixFromAngles(float4(0,0,0,0).xyz * _Time.y), float4(-poiCam.viewDir, 1)); + half4 cubemap = texCUBE(_PanoCubeMap, cubeUV); + panoColor = DecodeHDR(cubemap, _PanoCubeMap_HDR); + } + else + { + float2 uv = projectIt(normalize(lerp(getCameraPosition().xyz, poiCam.worldPos.xyz, float(0)) - poiMesh.worldPos.xyz) * - 1); + + float2 ddxuv = ddx(uv); + float2 ddyuv = ddy(uv); + if(any(fwidth(uv) > .5)) + { + ddxuv = ddyuv = 0.001; + } + panoColor = tex2D(_PanosphereTexture, TRANSFORM_TEX(uv, _PanosphereTexture), ddxuv, ddyuv).rgb * float4(1,1,1,1).rgb; + } + panosphereEmission = panoColor * float(0) * panoMask * float(0); + albedo.rgb = lerp(albedo.rgb, panoColor, float(0) * panoMask); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta new file mode 100644 index 00000000..60cdbdf4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2948787590ad53a41b009ddef7c4250d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc new file mode 100644 index 00000000..6cd94900 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc @@ -0,0 +1,143 @@ +#ifndef POI_PARALLAX + #define POI_PARALLAX + + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxHeightMap); float4 _ParallaxHeightMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxHeightMapMask); + float2 _ParallaxHeightMapPan; + float _ParallaxStrength; + float _ParallaxHeightMapEnabled; + float _ParallaxUV; + + //Internal + float _ParallaxInternalMapEnabled; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxInternalMap); float4 _ParallaxInternalMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxInternalMapMask); + float _ParallaxInternalIterations; + float _ParallaxInternalMinDepth; + float _ParallaxInternalMaxDepth; + float _ParallaxInternalMinFade; + float _ParallaxInternalMaxFade; + float4 _ParallaxInternalMinColor; + float4 _ParallaxInternalMaxColor; + float4 _ParallaxInternalPanSpeed; + float4 _ParallaxInternalPanDepthSpeed; + float _ParallaxInternalHeightmapMode; + float _ParallaxInternalHeightFromAlpha; + + float GetParallaxHeight(float2 uv) + { + return clamp(UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxHeightMap, _MainTex, TRANSFORM_TEX(uv, _ParallaxHeightMap) + _Time.x * float4(0,0,0,0)).g, 0, .99999); + } + /* + float2 ParallaxOffset(float2 viewDir) + { + float height = GetParallaxHeight(); + height -= 0.5; + height *= float(0); + return viewDir * height; + } + */ + float2 ParallaxRaymarching(float2 viewDir) + { + float2 uvOffset = 0; + float stepSize = 0.1; + float2 uvDelta = viewDir * (stepSize * float(0)); + + float stepHeight = 1; + float surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)]); + + + float2 prevUVOffset = uvOffset; + float prevStepHeight = stepHeight; + float prevSurfaceHeight = surfaceHeight; + + for (int i = 1; i < 10 && stepHeight > surfaceHeight; i ++) + { + prevUVOffset = uvOffset; + prevStepHeight = stepHeight; + prevSurfaceHeight = surfaceHeight; + + uvOffset -= uvDelta; + stepHeight -= stepSize; + surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)] + uvOffset); + } + + float prevDifference = prevStepHeight - prevSurfaceHeight; + float difference = surfaceHeight - stepHeight; + float t = prevDifference / (prevDifference + difference); + uvOffset = prevUVOffset -uvDelta * t; + + return uvOffset *= POI2D_SAMPLER_PAN(_ParallaxHeightMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + + void calculateandApplyParallax() + { + + if (float(0)) + { + float2 parallaxOffset = ParallaxRaymarching(poiCam.tangentViewDir.xy); + + if(float(0) == 0) + { + poiMesh.uv[0] += parallaxOffset; + } + + if(float(0) == 1) + { + poiMesh.uv[1] += parallaxOffset; + } + + if(float(0) == 2) + { + poiMesh.uv[2] += parallaxOffset; + } + + if(float(0) == 3) + { + poiMesh.uv[3] += parallaxOffset; + } + } + } + + void calculateAndApplyInternalParallax(inout float4 finalColor) + { + #if defined(_PARALLAXMAP) + + if(float(0)) + { + float3 parallax = 0; + + for (int j = float(1); j > 0; j --) + { + float ratio = (float)j / float(1); + float2 parallaxOffset = _Time.y * (float4(0,0,0,0) + (1 - ratio) * float4(0,0,0,0)); + float fade = lerp(float(0), float(1), ratio); + float4 parallaxColor = UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxInternalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _ParallaxInternalMap) + lerp(float(0), float(1), ratio) * - poiCam.tangentViewDir.xy + parallaxOffset); + float3 parallaxTint = lerp(float4(1,1,1,1), float4(1,1,1,1), ratio); + float parallaxHeight; + if(float(0)) + { + parallaxTint *= parallaxColor.rgb; + parallaxHeight = parallaxColor.a; + } + else + { + parallaxHeight = parallaxColor.r; + } + //float parallaxColor *= lerp(float4(1,1,1,1), float4(1,1,1,1), 1 - ratio); + + if (float(0) == 1) + { + parallax = lerp(parallax, parallaxTint * fade, parallaxHeight >= 1 - ratio); + } + else + { + parallax += parallaxTint * parallaxHeight * fade; + } + } + //parallax /= float(1); + finalColor.rgb += parallax * POI2D_SAMPLER_PAN(_ParallaxInternalMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta new file mode 100644 index 00000000..a747f34f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f5c2f6374b254c340b3d85e4e4ce6cd8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc new file mode 100644 index 00000000..81230e8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc @@ -0,0 +1,233 @@ +/* +USED--------------------------------------------- +"_PARALLAXMAP", +"_REQUIRE_UV2", +"_SUNDISK_NONE", +"_DETAIL_MULX2", +"_GLOSSYREFLECTIONS_OFF", +"_METALLICGLOSSMAP", +"_COLORADDSUBDIFF_ON", +"_SPECGLOSSMAP", +"_TERRAIN_NORMAL_MAP", +"_SUNDISK_SIMPLE", +"_EMISSION", +"_COLORCOLOR_ON", +"_COLOROVERLAY_ON", +"_ALPHAMODULATE_ON", +"_SUNDISK_HIGH_QUALITY", +"_MAPPING_6_FRAMES_LAYOUT", +"_NORMALMAP" +"EFFECT_BUMP", +"BLOOM", +"BLOOM_LOW", +"GRAIN", +"DEPTH_OF_FIELD", +"USER_LUT", +"CHROMATIC_ABERRATION_LOW", +"BLOOM_LENS_DIRT", +"_FADING_ON", +"CHROMATIC_ABERRATION", +"DISTORT", +"GEOM_TYPE_BRANCH", +"_SPECULARHIGHLIGHTS_OFF", +"_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", +"EFFECT_HUE_VARIATION", +"GEOM_TYPE_LEAF", +"GEOM_TYPE_MESH", +"FINALPASS", +"AUTO_EXPOSURE" +"VIGNETTE", +"VIGNETTE_MASKED", +"COLOR_GRADING_HDR", + +UNUSED------------------------------------------- +"_ALPHABLEND_ON", +"_ALPHAPREMULTIPLY_ON", +"_ALPHATEST_ON", +"GEOM_TYPE_BRANCH_DETAIL", +"GEOM_TYPE_FROND", +"PIXELSNAP_ON", +"SOFTPARTICLES_ON", +"DITHERING", +"TONEMAPPING_NEUTRAL", +"TONEMAPPING_FILMIC", +"TONEMAPPING_ACES", +"TONEMAPPING_CUSTOM", +"DEPTH_OF_FIELD_COC_VIEW", +"COLOR_GRADING", +"COLOR_GRADING_LOG_VIEW", +"VIGNETTE_CLASSIC", +"COLOR_GRADING_HDR_3D", + +DO NOT USE ----------------------------------------- +"BILLBOARD_FACE_CAMERA_POS", +*/ + + +#ifndef POI_PASS + #define POI_PASS + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #ifdef POI_META_PASS + #include "UnityMetaPass.cginc" + #endif + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + + #include "CGI_PoiSpawnInVert.cginc" + + #include "CGI_PoiV2F.cginc" + + #ifdef BLOOM_LOW + #include "CGI_PoiBulge.cginc" + #endif + + #include "CGI_PoiVert.cginc" + + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + + #include "CGI_PoiDithering.cginc" + + #ifdef _PARALLAXMAP + #include "CGI_PoiParallax.cginc" + #endif + + #ifdef USER_LUT + #include "CGI_PoiUVDistortion.cginc" + #endif + + #ifdef VIGNETTE + #include "CGI_PoiRGBMask.cginc" + #endif + + #include "CGI_PoiData.cginc" + + #ifdef _SPECULARHIGHLIGHTS_OFF + #include "CGI_PoiBlackLight.cginc" + #endif + + #include "CGI_PoiSpawnInFrag.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + + #ifdef DEPTH_OF_FIELD + #include "CGI_PoiHologram.cginc" + #endif + + #ifdef BLOOM_LENS_DIRT + #include "CGI_PoiIridescence.cginc" + #endif + + + #ifdef FUR + #include "CGI_PoiFur.cginc" + #include "CGI_PoiGeomFur.cginc" + #endif + + #ifdef VIGNETTE_MASKED + #include "CGI_PoiLighting.cginc" + #endif + + #include "CGI_PoiMainTex.cginc" + + #ifdef GEOM_TYPE_BRANCH + #include "CGI_PoiDecal.cginc" + #endif + + #ifdef CHROMATIC_ABERRATION + #include "CGI_PoiVoronoi.cginc" + #endif + + #ifdef _DETAIL_MULX2 + #include "CGI_PoiPanosphere.cginc" + #endif + + #ifdef EFFECT_BUMP + #include "CGI_PoiMSDF.cginc" + #endif + + #ifdef GRAIN + #include "CGI_PoiDepthColor.cginc" + #endif + + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _GLOSSYREFLECTIONS_OFF + #include "CGI_PoiRimLighting.cginc" + #endif + + #ifdef _MAPPING_6_FRAMES_LAYOUT + #include "CGI_PoiEnvironmentalRimLighting.cginc" + #endif + + #ifdef _METALLICGLOSSMAP + #include "CGI_PoiMetal.cginc" + #endif + + #ifdef _COLORADDSUBDIFF_ON + #include "CGI_PoiMatcap.cginc" + #endif + + #ifdef _SPECGLOSSMAP + #include "CGI_PoiSpecular.cginc" + #endif + + #ifdef BLOOM + #include "CGI_PoiVideo.cginc" + #endif + + #ifdef _TERRAIN_NORMAL_MAP + #include "CGI_PoiSubsurfaceScattering.cginc" + #endif + + #include "CGI_PoiBlending.cginc" + #include "CGI_PoiGrab.cginc" + + #ifdef _SUNDISK_SIMPLE + #include "CGI_PoiGlitter.cginc" + #endif + + #ifdef _EMISSION + #include "CGI_PoiEmission.cginc" + #endif + + #ifdef _COLORCOLOR_ON + #include "CGI_PoiClearCoat.cginc" + #endif + + #include "CGI_PoiAlphaToCoverage.cginc" + + #ifdef _COLOROVERLAY_ON + #include "CGI_PoiDebug.cginc" + #endif + #include "CGI_PoiFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta new file mode 100644 index 00000000..ad31b93c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a446a6318dd252246a01a8ee7723c44a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc new file mode 100644 index 00000000..5e365972 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc @@ -0,0 +1,26 @@ +#ifndef POI_PASS_OUTLINE + #define POI_PASS_OUTLINE + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "CGI_PoiMacros.cginc" + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiOutlineVert.cginc" + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiLighting.cginc" + #include "CGI_PoiMainTex.cginc" + #include "CGI_PoiData.cginc" + #include "CGI_PoiDithering.cginc" + #include "CGI_PoiOutlineFrag.cginc" +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta new file mode 100644 index 00000000..63f25920 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 60131a0c3eeaf744097e3789df1e090a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc new file mode 100644 index 00000000..d21a5d4d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc @@ -0,0 +1,44 @@ +#ifndef POI_PASS_SHADOW + #define POI_PASS_SHADOW + + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiShadowIncludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiMirror.cginc" + #include "CGI_PoiSpawnInFrag.cginc" + + #include "CGI_PoiV2F.cginc" + #include "CGI_PoiData.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + #include "CGI_PoiDithering.cginc" + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + #include "CGI_PoiSpawnInVert.cginc" + #include "CGI_PoiShadowVert.cginc" + #include "CGI_PoiShadowFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta new file mode 100644 index 00000000..62f5f4d1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1ae0339119260a84d9c94e1b5daa98e9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc new file mode 100644 index 00000000..d4cd1697 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc @@ -0,0 +1,131 @@ +#ifndef POI_RGBMASK + #define POI_RGBMASK + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RGBMask); float4 _RGBMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RedTexure); float4 _RedTexure_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GreenTexture); float4 _GreenTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlueTexture); float4 _BlueTexture_ST; + + #ifdef GEOM_TYPE_MESH + POI_NORMAL_NOSAMPLER(_RgbNormalR); + POI_NORMAL_NOSAMPLER(_RgbNormalG); + POI_NORMAL_NOSAMPLER(_RgbNormalB); + float _RgbNormalsEnabled; + #endif + + float4 _RedColor; + float4 _GreenColor; + float4 _BlueColor; + + float4 _RGBMaskPanning; + float4 _RGBRedPanning; + float4 _RGBGreenPanning; + float4 _RGBBluePanning; + + float _RGBBlendMultiplicative; + + float _RGBMaskUV; + float _RGBRed_UV; + float _RGBGreen_UV; + float _RGBBlue_UV; + float _RGBUseVertexColors; + float _RGBNormalBlend; + + static float3 rgbMask; + + void calculateRGBNormals(inout half3 mainTangentSpaceNormal) + { + #ifdef GEOM_TYPE_MESH + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + + if(float(0)) + { + + if(float(0) == 0) + { + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.r); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.g); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.b); + } + return; + } + else + { + half3 newNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0) * rgbMask.r); + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.g); + normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.b); + mainTangentSpaceNormal = BlendNormals(newNormal, mainTangentSpaceNormal); + return; + } + } + #endif + } + + float3 calculateRGBMask(float3 baseColor) + { + //If RGB normals are in use this data will already exist + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + float4 red = POI2D_SAMPLER_PAN(_RedTexure, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 green = POI2D_SAMPLER_PAN(_GreenTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 blue = POI2D_SAMPLER_PAN(_BlueTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + + if(float(0)) + { + float3 RGBColor = 1; + RGBColor = lerp(RGBColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + baseColor *= RGBColor; + } + else + { + baseColor = lerp(baseColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + } + + return baseColor; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta new file mode 100644 index 00000000..2dc517d6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 698f03f4a679bef4bb2d1904de909826 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc new file mode 100644 index 00000000..137ef6de --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc @@ -0,0 +1,4 @@ +#ifndef POI_RNG + #define POI_RNG + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta new file mode 100644 index 00000000..23f898b6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 91d1ce1329b1a7146960f3d1099beee2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..11f3eea2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,41 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + float _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin; + float _CameraAngleMax; + float _ModelAngleMin; + float _ModelAngleMax; + float _AngleMinAlpha; + float _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = float(45) / 180; + half cameraAngleMax = float(90) / 180; + half modelAngleMin = float(45) / 180; + half modelAngleMax = float(90) / 180; + float3 pos = float(0) == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(float4(0,0,1,0)))); + half cameraLookAtModel = remapClamped(.5 * dot(cameraToModelDirection, getCameraForward()) + .5, cameraAngleMax, cameraAngleMin, 0, 1); + half modelLookAtCamera = remapClamped(.5 * dot(-cameraToModelDirection, modelForwardDirection) + .5, modelAngleMax, modelAngleMin, 0, 1); + if (float(0) == 0) + { + return max(cameraLookAtModel, float(0)); + } + else if(float(0) == 1) + { + return max(modelLookAtCamera, float(0)); + } + else if(float(0) == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, float(0)); + } + return 1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta new file mode 100644 index 00000000..13af3ffa --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e96484458abe601449d6cfdc48adb74a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc new file mode 100644 index 00000000..d4571c0c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc @@ -0,0 +1,47 @@ +#ifndef POI_RIM + #define POI_RIM + + float4 _RimLightColor; + float _RimLightingInvert; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float _ShadowMix; + float _ShadowMixThreshold; + float _ShadowMixWidthMod; + float _EnableRimLighting; + float _RimBrighten; + float _RimLightNormal; + + POI_TEXTURE_NOSAMPLER(_RimTex); + POI_TEXTURE_NOSAMPLER(_RimMask); + POI_TEXTURE_NOSAMPLER(_RimWidthNoiseTexture); + + float _RimWidthNoiseStrength; + + float4 rimColor = float4(0, 0, 0, 0); + float rim = 0; + + void applyRimLighting(inout float4 albedo, inout float3 rimLightEmission) + { + float rimNoise = POI2D_SAMPLER_PAN(_RimWidthNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimNoise = (rimNoise - .5) * float(0.1); + + float viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + + if (float(0)) + { + viewDotNormal = 1 - abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + } + float rimWidth = float(0.8); + rimWidth -= rimNoise; + float rimMask = POI2D_SAMPLER_PAN(_RimMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimColor = POI2D_SAMPLER_PAN(_RimTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + rimWidth = max(lerp(rimWidth, rimWidth * lerp(0, 1, poiLight.lightMap - float(0.5)) * float(0.5), float(0)),0); + rim = 1 - smoothstep(min(float(0.25), rimWidth), rimWidth, viewDotNormal); + rim *= float4(1,1,1,1).a * rimColor.a * rimMask; + rimLightEmission = rim * lerp(albedo, rimColor, float(0)) * float(0); + albedo.rgb = lerp(albedo.rgb, lerp(albedo.rgb, rimColor, float(0)) + lerp(albedo.rgb, rimColor, float(0)) * float(0), rim); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta new file mode 100644 index 00000000..9e2562a6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ca72499ee7008e149829655058c596f0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc new file mode 100644 index 00000000..16701f61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc @@ -0,0 +1,116 @@ +#ifndef SHADOW_FRAG + #define SHADOW_FRAG + + float2 _MainDistanceFade; + float _ForceOpaque; + float _MainShadowClipMod; + float2 _AlphaMaskPan; + float _AlphaMaskUV; + sampler3D _DitherMaskLOD; + float2 _MainTexPan; + float _MainTextureUV; + + half4 fragShadowCaster( + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + V2FShadow i, uint facing: SV_IsFrontFace + #endif + ): SV_Target + { + poiMesh.uv[0] = i.uv; + poiMesh.uv[1] = i.uv1; + poiMesh.uv[2] = i.uv2; + poiMesh.uv[3] = i.uv3; + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + + + //Possible Bug with clip + float clipValue = clamp(float(0.5) + float(0), - .001, 1.001); + + poiMesh.vertexColor = saturate(i.vertexColor); + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + #if defined(UNITY_STANDARD_USE_SHADOW_UVS) + + half4 alpha = mainTexture; + + + if (float(0)) + { + if(IsInMirror()) + { + alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a; + } + } + + + alpha.a *= smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(i.modelPos, _WorldSpaceCameraPos)); + half alphaMask = POI2D_PAN(_AlphaMask, poiMesh.uv[float(0)], float4(0,0,0,0)); + alpha.a *= alphaMask; + alpha.a *= float4(1,1,1,1).a + .0001; + alpha.a += float(0); + alpha.a = saturate(alpha.a); + + + if(float(0) == 0) + { + alpha.a = 1; + } + + + if(float(0) == 1) + { + applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy); + } + + #ifdef POI_DISSOLVE + float3 fakeEmission = 1; + calculateDissolve(alpha, fakeEmission); + #endif + + if(float(0) == 1) + { + clip(alpha.a - 0.001); + } + + /* + return poiMesh.vertexColor.g; + + #ifdef POI_RANDOM + alpha.a *= i.angleAlpha; + #endif + + + if(float(0) >= 1) + { + applySpawnInShadow(uv[0], i.localPos); + + #if defined(POI_FLIPBOOK) + alpha.a *= applyFlipbookAlphaToShadow(uv[float(0)]); + #endif + } + */ + + if (float(0) == 1) + { + clip(alpha.a - clipValue); + } + + + if(float(0) > 1) + { + float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a; + clip(dither - 0.01); + } + + #endif + SHADOW_CASTER_FRAGMENT(i) + } + + #endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta new file mode 100644 index 00000000..7e09443d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3c637854a7a6e2f46bbf7b395e08a686 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc new file mode 100644 index 00000000..fd8f19a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc @@ -0,0 +1,41 @@ +#ifndef SHADOW_INCLUDES + #define SHADOW_INCLUDES + + #define UNITY_STANDARD_USE_SHADOW_UVS 1 + + float4 _Color; + sampler2D _AlphaMask; float4 _AlphaMask_ST; + + struct VertexInputShadow + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + struct V2FShadow + { + V2F_SHADOW_CASTER_NOPOS + float4 pos: SV_POSITION; + float2 uv: TEXCOORD1; + float2 uv1: TEXCOORD2; + float2 uv2: TEXCOORD3; + float2 uv3: TEXCOORD4; + float3 modelPos: TEXCOORD5; + float4 worldPos: TEXCOORD6; + float4 localPos: TEXCOORD7; + float3 angleAlpha: TEXCOORD8; + float4 grabPos: TEXCOORD9; + fixed3 barycentricCoordinates: TEXCOORD10; + float4 vertexColor: TEXCOORD11; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta new file mode 100644 index 00000000..3ea2f554 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8b9d7feab541b1841837a9fac3753973 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc new file mode 100644 index 00000000..f0b7184a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc @@ -0,0 +1,80 @@ +float _EnableTouchGlow; +float _EnableBulge; +float _VertexManipulationHeightUV; + +V2FShadow vertShadowCaster(VertexInputShadow v) +{ + V2FShadow o; + UNITY_SETUP_INSTANCE_ID(v); + + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(V2FShadow, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.uv = v.uv0; + o.uv1 = v.uv1; + o.uv2 = v.uv2; + o.uv3 = v.uv3; + + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, v.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.vertexColor = v.color; + + + if(_EnableTouchGlow || _EnableBulge) + { + o.pos = UnityObjectToClipPos(float3(0, 0, -5)); + o.localPos.xyz = float3(0, 0, -5); + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + } + + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + + o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal); + o.pos = UnityApplyLinearShadowBias(o.pos); + + return o; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta new file mode 100644 index 00000000..0fc8ba04 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 14cf43591f319874c86766e29f49d837 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc new file mode 100644 index 00000000..0c18d1ad --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc @@ -0,0 +1,58 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + #endif + + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST; + + float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos) + { + + if (_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + spawnInEmission = saturate(inverseGradient + _SpawnInAlpha + _SpawnInEmissionOffset +noise - 1) * _SpawnInEmissionColor; + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } + + void applySpawnInShadow(float2 uv, float3 localPos) + { + + if(_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float alpha = gradient - _SpawnInAlpha - noise + length(_SpawnInVertOffset); + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta new file mode 100644 index 00000000..0c691ed1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0976f51a2e5022847984b6586ab71d01 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc new file mode 100644 index 00000000..fdcc457f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc @@ -0,0 +1,40 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + + #endif + //sampler2D _SpawnInNoiseVert; float4 _SpawnInNoiseVert_ST; + + float calculateGradientValueVert(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv) + { + + if (_EnableScifiSpawnIn) + { + float noise = 0; + float gradient = calculateGradientValueVert(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + worldPos.xyz += saturate(inverseGradient + _SpawnInAlpha + _SpawnInVertOffsetOffset -1) * float3(0, _SpawnInVertOffset, 0); + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + //float noise = tex2Dlod(_SpawnInNoise, float4(TRANSFORM_TEX(uv, _SpawnInNoise))).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta new file mode 100644 index 00000000..a2894ebb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b46d5ee07fa52f643a66dbec003e412e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc new file mode 100644 index 00000000..f5287465 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc @@ -0,0 +1,488 @@ +#ifndef POI_SPECULAR + #define POI_SPECULAR + float _SpecWhatTangent; + float _SpecularType; + float _SmoothnessFrom; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap); + POI_TEXTURE_NOSAMPLER(_SpecularMap); + fixed _CenterOutSpecColor; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro); + float _SpecularAnisoJitterMirrored; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoFakeUV); + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap); + POI_TEXTURE_NOSAMPLER(_SpecularMask); + float _SpecularAnisoJitterMicroMultiplier; + float _SpecularAnisoJitterMacroMultiplier; + float4 _SpecularTint; + float _SpecularSmoothness; + float _Spec1Offset; + float _Spec1JitterStrength; + float _Spec2Smoothness; + float _Spec2Offset; + float _Spec2JitterStrength; + float _AnisoUseTangentMap; + float _AnisoSpec1Alpha; + float _AnisoSpec2Alpha; + float _SpecularInvertSmoothness; + half _SpecularMetallic; + float _SpecularNormal; + float _SpecularNormal1; + // Toon + fixed _SpecularToonStart; + fixed _SpecularToonEnd; + half4 _SpecularToonInnerOuter; + + float _EnableSpecular1; + float _SpecWhatTangent1; + float _SpecularType1; + float _SmoothnessFrom1; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMap1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro1); + float _SpecularAnisoJitterMirrored1; + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMask1); + float _SpecularAnisoJitterMicroMultiplier1; + float _SpecularAnisoJitterMacroMultiplier1; + float4 _SpecularTint1; + float _SpecularSmoothness1; + float _Spec1Offset1; + float _Spec1JitterStrength1; + float _Spec2Smoothness1; + float _Spec2Offset1; + float _Spec2JitterStrength1; + float _AnisoUseTangentMap1; + float _AnisoSpec1Alpha1; + float _AnisoSpec2Alpha1; + float _SpecularInvertSmoothness1; + half _SpecularMetallic1; + // Toon + half4 _SpecularToonInnerOuter1; + fixed _SpecularToonStart1; + fixed _SpecularToonEnd1; + + UnityIndirect ZeroIndirect() + { + UnityIndirect ind; + ind.diffuse = 0; + ind.specular = 0; + return ind; + } + + // From unity just putting it here in case I want to mod it + half4 poiRealisticSpecular(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, + float3 normal, float3 halfDir, + UnityLight light, UnityIndirect gi) + { + float perceptualRoughness = SmoothnessToPerceptualRoughness(smoothness); + #define UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV 0 + + #if UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV + half shiftAmount = dot(normal, poiCam.viewDir); + normal = shiftAmount < 0.0f ? normal + poiCam.viewDir * (-shiftAmount + 1e-5f): normal; + float nv = saturate(dot(normal, poiCam.viewDir)); + #else + half nv = abs(dot(normal, poiCam.viewDir)); + #endif + + float nl = saturate(dot(normal, light.dir)); + float nh = saturate(dot(normal, halfDir)); + + half lv = saturate(dot(light.dir, poiCam.viewDir)); + half lh = saturate(dot(light.dir, halfDir)); + + half diffuseTerm = DisneyDiffuse(nv, nl, lh, perceptualRoughness) * nl; + + float roughness = PerceptualRoughnessToRoughness(perceptualRoughness); + + roughness = max(roughness, 0.002); + float V = SmithJointGGXVisibilityTerm(nl, nv, roughness); + float D = GGXTerm(nh, roughness); + + float specularTerm = V * D * UNITY_PI; + + #ifdef UNITY_COLORSPACE_GAMMA + specularTerm = sqrt(max(1e-4h, specularTerm)); + #endif + + specularTerm = max(0, specularTerm * nl); + #if defined(_POI_SPECULARHIGHLIGHTS_OFF) + specularTerm = 0.0; + #endif + + half surfaceReduction; + #ifdef UNITY_COLORSPACE_GAMMA + surfaceReduction = 1.0 - 0.28 * roughness * perceptualRoughness; + #else + surfaceReduction = 1.0 / (roughness * roughness + 1.0); + #endif + + specularTerm *= any(specColor) ? 1.0: 0.0; + + half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); + half3 color = diffColor * (gi.diffuse + light.color * diffuseTerm) + + specularTerm * light.color * FresnelTerm(specColor, lh) + + surfaceReduction * gi.specular * FresnelLerp(specColor, grazingTerm, nv); + + return half4(color, 1); + } + + half3 calculateRealisticSpecular(float4 albedo, float2 uv, float4 specularTint, float specularSmoothness, float invertSmoothness, float mixAlbedoWithTint, float4 specularMap, float3 specularLight, float3 normal, float attenuation, float3 lightDirection, float nDotL, float3 halfDir) + { + half oneMinusReflectivity; + half3 finalSpecular; + UnityLight unityLight; + unityLight.color = specularLight; + unityLight.dir = lightDirection; + unityLight.ndotl = nDotL; + + + if (float(1) == 0) + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularMap.rgb * specularTint.rgb, /*out*/ oneMinusReflectivity); + finalSpecular = poiRealisticSpecular(diffColor, specularMap.rgb, oneMinusReflectivity, specularMap.a * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + else + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularTint.rgb, /*out*/ oneMinusReflectivity); + float smoothness = max(max(specularMap.r, specularMap.g), specularMap.b); + finalSpecular = poiRealisticSpecular(diffColor, 1, oneMinusReflectivity, smoothness * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + finalSpecular *= lerp(1, albedo.rgb, mixAlbedoWithTint); + return finalSpecular; + } + + half3 calculateToonSpecular(float4 albedo, float2 uv, float2 specularToonInnerOuter, float specularMixAlbedoIntoTint, float smoothnessFrom, float4 specularMap, float3 specularLight, float3 normal, float3 halfDir, float attenuation) + { + half3 finalSpecular = smoothstep(1 - specularToonInnerOuter.y, 1 - specularToonInnerOuter.x, dot(halfDir, normal)) * specularLight; + + if (smoothnessFrom == 0) + { + finalSpecular.rgb *= specularMap.rgb * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + finalSpecular *= specularMap.a; + } + else + { + finalSpecular *= specularMap.r * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + return finalSpecular; + } + + float3 strandSpecular(float TdotL, float TdotV, float specPower, float nDotL) + { + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + float Specular = saturate(nDotL) * pow(saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV), specPower); + half normalization = sqrt((specPower + 1) * ((specPower) + 1)) / (8 * pi); + Specular *= normalization; + return Specular; + } + + half3 AnisotropicSpecular( + float specWhatTangent, float anisoUseTangentMap, float specularSmoothness, float spec2Smoothness, + float anisoSpec1Alpha, float anisoSpec2Alpha, float4 specularTint, float specularMixAlbedoIntoTint, float4 specularMap, float3 specularLight, float3 lightDirection, float3 halfDir, float nDotL, float jitter, float4 packedTangentMap, in float4 albedo) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + tangentDirectionMap += float(0) +jitter; + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + half specPower = RoughnessToSpecPower(1.0 - specularSmoothness * specularMap.a); + half spec2Power = RoughnessToSpecPower(1.0 - spec2Smoothness * specularMap.a); + half Specular = 0; + + float3 spec = strandSpecular(TdotL, TdotV, specPower, nDotL) * anisoSpec1Alpha; + float3 spec2 = strandSpecular(TdotL, TdotV, spec2Power, nDotL) * anisoSpec2Alpha; + + return max(spec, spec2) * specularMap.rgb * specularTint.a * specularLight * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + + inline float3 toonAnisoSpecular(float specWhatTangent, float anisoUseTangentMap, float3 lightDirection, float halfDir, float4 specularMap, float nDotL, fixed gradientStart, fixed gradientEnd, float4 specColor, float4 finalColor, fixed metallic, float jitter, float mirrored, float4 packedTangentMap) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + if (!mirrored) + { + tangentDirectionMap += jitter; + } + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + + float specular = saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV); + + fixed smoothAlpha = specular; + if(mirrored) + { + smoothAlpha = max(specular - jitter, 0); + } + + specular = smoothstep(gradientStart, gradientEnd, smoothAlpha); + + /* + + if(_CenterOutSpecColor) + { + specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, clamp(float2(specular, specular), 0.01, .99), float4(0,0,0,0)); + } + */ + + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + + return saturate(nDotL) * specular * poiLight.color * specColor * specularMap.rgb * lerp(1, finalColor, metallic) * specularMap.a; + } + + inline float SpecularHQ(half roughness, half dotNH, half dotLH) + { + roughness = saturate(roughness); + roughness = max((roughness * roughness), 0.002); + half roughnessX2 = roughness * roughness; + + half denom = dotNH * dotNH * (roughnessX2 - 1.0) + 1.0f; + half D = roughnessX2 / (3.14159 * denom * denom); + + half k = roughness / 2.0f; + half k2 = k * k; + half invK2 = 1.0f - k2; + + half vis = rcp(dotLH * dotLH * invK2 + k2); + + float specTerm = vis * D; + + return specTerm; + } + + float3 calculateNewSpecular(in float3 specularMap, uint colorFrom, in float4 albedo, in float3 specularTint, in float specularMetallic, in float specularSmoothness, in half dotNH, in half dotLH, in float3 lightColor, in float attenuation) + { + float3 specColor = specularTint; + float metallic = specularMetallic; + float roughness = 1 - specularSmoothness; + float perceptualRoughness = roughness; + //float reflectInverse = DielectricSpec.a - metallic * DielectricSpec.a; + //float reflectivity = 1.0h - reflectInverse; + float3 specMapColor = lerp(specularMap, 1, colorFrom); + float3 specularColor = lerp(DielectricSpec.rgb * specMapColor, lerp(specularMap, albedo.rgb, colorFrom), metallic); + //albedo.rgb *= reflectInverse; + return clamp(specularColor * lightColor * attenuation * specularTint * SpecularHQ(perceptualRoughness, dotNH, dotLH), 0, lightColor * specularTint); + } + + float3 calculateSpecular(in float4 albedo) + { + half3 finalSpecular = 0; + half3 finalSpecular1 = 0; + float4 realisticAlbedo = albedo; + float4 realisticAlbedo1 = albedo; + float4 specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half metallic = POI2D_SAMPLER_PAN(_SpecularMetallicMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + half specularMask = POI2D_SAMPLER_PAN(_SpecularMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float attenuation = saturate(poiLight.nDotL); + #ifdef POI_LIGHTING + + if (float(0) && float(0) == 0 && float(0) == 1) + { + attenuation = poiLight.rampedLightMap; + } + #endif + + + if(float(1) == 1) // Realistic + { + if (float(1) == 1) + { + specularMap.a = specularMap.r; + specularMap.rgb = 1; + } + + if(float(0)) + { + specularMap.a = 1 - specularMap.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, attenuation); + #else + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic, jitter, float(0), packedTangentMap); + finalSpecular *= attenuation; + } + + #ifdef FORWARD_BASE_PASS + + if(float(1) == 2) // Toon + { + finalSpecular += calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic, float(1), specularMap, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += AnisotropicSpecular(float(0), float(0), float(1), float(0), float(1), float(1), float4(1,1,1,1), metallic, specularMap, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular *= float4(1,1,1,1); + finalSpecular *= attenuation; + } + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + + finalSpecular *= float4(1,1,1,1).a; + finalSpecular = finalSpecular.rgb; + finalSpecular *= specularMask; + + + if (float(0)) + { + float4 specularMap1 = POI2D_SAMPLER_PAN(_SpecularMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half specularMask1 = POI2D_SAMPLER_PAN(_SpecularMask1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + half metallic1 = POI2D_SAMPLER_PAN(_SpecularMetallicMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + float attenuation = poiLight.attenuation; + + if(float(1) == 1) // Realistic + { + + if (float(1) == 1) + { + specularMap1.a = specularMap1.r; + specularMap1.rgb = 1; + } + else + { + realisticAlbedo1.rgb = specularMap1.rgb; + } + + + if(float(0)) + { + specularMap1.a = 1 - specularMap1.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, saturate(poiLight.nDotL)); + #else + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap1, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic1, jitter, float(0), packedTangentMap); + finalSpecular1 *= poiLight.attenuation; + } + + + if(float(1) == 2) // Toon + { + finalSpecular1 = calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic1, float(1), specularMap1, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular1 *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 = AnisotropicSpecular(float(0), float(0), float(0.75), float(0), float(1), float(1), float4(1,1,1,1), metallic1, specularMap1, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular1 *= float4(1,1,1,1); + finalSpecular1 *= poiLight.attenuation; + } + + #ifdef FORWARD_BASE_PASS + // Non Important Lights + #ifdef VERTEXLIGHT_ON + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular1 += calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + #endif + + finalSpecular1 *= float4(1,1,1,1).a; + finalSpecular1 = finalSpecular1.rgb; + finalSpecular1 *= specularMask1; + } + return finalSpecular + finalSpecular1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta new file mode 100644 index 00000000..eb225f74 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 703cd7ad410226d42bbdaba437445c4d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc new file mode 100644 index 00000000..b7c21c01 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc @@ -0,0 +1,28 @@ +#ifndef SUBSURFACE + #define SUBSURFACE + + float _SSSThicknessMod; + float _SSSSCale; + float _SSSPower; + float _SSSDistortion; + float4 _SSSColor; + float _EnableSSS; + + POI_TEXTURE_NOSAMPLER(_SSSThicknessMap); + + float3 calculateSubsurfaceScattering() + { + float SSS = 1 - POI2D_SAMPLER_PAN(_SSSThicknessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + half3 vLTLight = poiLight.direction + poiMesh.normals[0] * float(1); + half flTDot = pow(saturate(dot(poiCam.viewDir, -vLTLight)), float(5)) * float(0.25); + #ifdef FORWARD_BASE_PASS + half3 fLT = (flTDot) * saturate(SSS + - 1 * float(0)); + #else + half3 fLT = poiLight.attenuation * (flTDot) * saturate(SSS + - 1 * float(0)); + #endif + + return fLT * poiLight.color * float4(1,0,0,1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta new file mode 100644 index 00000000..ac7e4fd4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1f887bd261d5160459cd2d24390102b9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc new file mode 100644 index 00000000..4912473d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc @@ -0,0 +1,117 @@ +#ifndef POI_TESSELLATION + #define POI_TESSELLATION + + float _TessellationPhongStrength; + float _TessellationEdgeLength; + float _TessellationExtrusionAmount; + float _TessellationUniform; + + struct TessellationControlPoint + { + float4 vertex: INTERNALTESSPOS; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + }; + + struct TessellationFactors + { + float edge[3]: SV_TessFactor; + float inside: SV_InsideTessFactor; + }; + + TessellationControlPoint poiTessellationVert(appdata v) + { + TessellationControlPoint p; + p.vertex = v.vertex; + p.normal = v.normal; + p.tangent = v.tangent; + p.color = v.color; + p.uv0 = v.uv0; + p.uv1 = v.uv1; + p.uv2 = v.uv2; + p.uv3 = v.uv3; + return p; + } + + float TessellationEdgeFactor(float3 p0, float3 p1) + { + #ifndef _FADING_ON + float edgeLength = distance(p0, p1); + + float3 edgeCenter = (p0 + p1) * 0.5; + float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos); + + return edgeLength * _ScreenParams.y / + (_TessellationEdgeLength * viewDistance); + #else + return _TessellationUniform; + #endif + } + + TessellationFactors poiPatchConst( + InputPatch < TessellationControlPoint, 3 > patch + ) + { + + TessellationFactors f; + float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz; + float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz; + float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz; + f.edge[0] = TessellationEdgeFactor(p1, p2); + f.edge[1] = TessellationEdgeFactor(p2, p0); + f.edge[2] = TessellationEdgeFactor(p0, p1); + f.inside = (TessellationEdgeFactor(p1, p2) + + TessellationEdgeFactor(p2, p0) + + TessellationEdgeFactor(p0, p1)) * (1 / 3.0); + return f; + } + + [UNITY_domain("tri")] + [UNITY_outputcontrolpoints(3)] + [UNITY_outputtopology("triangle_cw")] + [UNITY_partitioning("fractional_odd")] + [UNITY_patchconstantfunc("poiPatchConst")] + TessellationControlPoint poiHull( + InputPatch < TessellationControlPoint, 3 > patch, + uint id: SV_OutputControlPointID + ) + { + return patch[id]; + } + + [UNITY_domain("tri")] + v2f poiDomain( + TessellationFactors factors, + OutputPatch < TessellationControlPoint, 3 > patch, + float3 barycentricCoordinates: SV_DomainLocation + ) + { + appdata data; + + #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z; + + MY_DOMAIN_PROGRAM_INTERPOLATE(vertex) + float3 pp[3]; + for (int i = 0; i < 3; ++ i) + { + pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + } + data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz; + MY_DOMAIN_PROGRAM_INTERPOLATE(normal) + data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount; + MY_DOMAIN_PROGRAM_INTERPOLATE(tangent) + MY_DOMAIN_PROGRAM_INTERPOLATE(color) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv0) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv1) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv2) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv3) + + return vert(data); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta new file mode 100644 index 00000000..277a3179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 51417bde0fedfae458ebe85104d0a245 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc new file mode 100644 index 00000000..38d5fd75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc @@ -0,0 +1,34 @@ +#ifndef POI_UV_DISTORTION + #define POI_UV_DISTORTION + + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture); float4 _DistortionFlowTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture1); float4 _DistortionFlowTexture1_ST; + POI_TEXTURE_NOSAMPLER(_DistortionMask); + + float _DistortionStrength; + float _DistortionStrength1; + float2 _DistortionSpeed; + float2 _DistortionSpeed1; + + float2 getTorusUv(float2 uv) + { + // translated to hlsl from https://www.shadertoy.com/view/Md3Bz7 + // http://web.cs.ucdavis.edu/~amenta/s12/findnorm.pdf + float phi = 6.28318530718f * uv.x; + float theta = 6.28318530718f * uv.y; + float3 c = cos(float3(phi, phi + 1.57079632679f, theta)); + float2 result = float2(c.x * c.z, -c.y * c.z); + return result * 0.5 + 0.5; + } + + float2 calculateDistortionUV(float2 uv) + { + half distortionMask = POI2D_SAMPLER_PAN(_DistortionMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flowVector = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + float4 flowVector1 = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture1, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture1) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + flowVector *= float(0.5); + flowVector1 *= float(0.5); + return uv + ((flowVector.xy + flowVector1.xy) / 2) * distortionMask; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta new file mode 100644 index 00000000..d7ae839b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ab474c56b6ecd6e42bb0a16b3b0ca363 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc new file mode 100644 index 00000000..0e29a179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc @@ -0,0 +1,34 @@ +#ifndef POI_V2F + #define POI_V2F + + struct v2f + { + float4 pos: SV_POSITION; + float4 uv0: TEXCOORD0; + float4 uv1: TEXCOORD1; + float3 normal: TEXCOORD2; + float3 tangentViewDir: TEXCOORD3; + float4 tangent: TEXCOORD4; + float4 worldPos: TEXCOORD5; + float4 localPos: TEXCOORD6; + float4 grabPos: TEXCOORD7; + float3 barycentricCoordinates: TEXCOORD8; + #if defined(GRAIN) + float4 worldDirection: TEXCOORD9; + #endif + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV: TEXCOORD10; + #endif + float3 modelPos: TEXCOORD11; + float angleAlpha: TEXCOORD12; + float4 vertexColor: TEXCOORD14; + #ifdef FUR + float furAlpha: TEXCOORD15; + #endif + UNITY_SHADOW_COORDS(16) + UNITY_FOG_COORDS(17) + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta new file mode 100644 index 00000000..bc07f83f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1c04ca55c997c95458b7db8877a969a8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc new file mode 100644 index 00000000..1558e937 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc @@ -0,0 +1,126 @@ +#ifndef POI_VERT + #define POI_VERT + + float _VertexManipulationHeightUV; + float _VertexUnwrap; + + #define PM UNITY_MATRIX_P + + inline float4 CalculateFrustumCorrection() + { + float x1 = -PM._31 / (PM._11 * PM._34); + float x2 = -PM._32 / (PM._22 * PM._34); + return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23); + } + + v2f vert(appdata v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + #ifdef _COLOROVERLAY_ON + v.vertex.xyz = lerp(v.vertex.xyz, float3(v.uv0.x - .5, v.uv0.y - .5, 0), float(0)); + #endif + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.tangent, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + #ifdef _REQUIRE_UV2 //POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.normal = UnityObjectToWorldNormal(v.normal); + //o.localPos.x *= -1; + //o.localPos.xz += sin(o.localPos.y * 100 + _Time.y * 5) * .0025; + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, o.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + o.vertexColor = v.color; + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + + #ifdef POI_BULGE + bulgyWolgy(o); + #endif + + + o.angleAlpha = 1; + #ifdef _SUNDISK_NONE //POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + #if defined(LIGHTMAP_ON) + o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0.xy); + UNITY_TRANSFER_FOG(o, o.pos); + + #if defined(_PARALLAXMAP) // POI_PARALLAX + v.tangent.xyz = normalize(v.tangent.xyz); + v.normal = normalize(v.normal); + float3x3 objectToTangent = float3x3( + v.tangent.xyz, + cross(v.normal, v.tangent.xyz) * v.tangent.w, + v.normal + ); + o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex)); + #endif + + #ifdef POI_META_PASS + o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); + #endif + + #if defined(GRAIN) + float4 worldDirection; + + worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos; + worldDirection.w = dot(o.pos, CalculateFrustumCorrection()); + o.worldDirection = worldDirection; + #endif + + return o; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta new file mode 100644 index 00000000..b85c050d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 43f71f7f781a27a4883c17e7ce6b7fa4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc new file mode 100644 index 00000000..94c16148 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc @@ -0,0 +1,93 @@ +#ifndef POI_VERTEX_MANIPULATION + #define POI_VERTEX_MANIPULATION + + #include "CGI_PoiMath.cginc" + + float4 _VertexManipulationLocalTranslation; + float4 _VertexManipulationLocalRotation; + float4 _VertexManipulationLocalScale; + float4 _VertexManipulationWorldTranslation; + + float _VertexManipulationHeight; + float _VertexManipulationHeightBias; + sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST; + float2 _VertexManipulationHeightPan; + + + //Vertex Glitching + float _EnableVertexGlitch; + sampler2D _VertexGlitchMap; float4 _VertexGlitchMap_ST; + float _VertexGlitchThreshold; + float _VertexGlitchFrequency; + float _VertexGlitchStrength; + // Rounding + float _VertexRoundingDivision; + float _VertexRoundingEnabled; + + void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyVertexRounding(inout float4 worldPos, inout float4 localPos) + { + + if (float(0)) + { + worldPos.xyz = (ceil(worldPos * float(500)) / float(500)) - 1 / float(500) * .5; + localPos = mul(unity_WorldToObject, worldPos); + } + } + + void applyVertexGlitching(inout float4 worldPos, inout float4 localPos) + { + + if(_EnableVertexGlitch) + { + float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + forward.y = 0; + forward = normalize(forward); + float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward)); + float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1; + /* + float uvl = worldPos.y * _VertexGlitchDensity + _Time.x * _VertexGlitchMapPanSpeed; + float uvr = worldPos.y * _VertexGlitchDensity - _Time.x * _VertexGlitchMapPanSpeed; + float glitchAmountLeft = tex2Dlod(_VertexGlitchMap, float4(uvl, uvl, 0, 0)).r; + float glitchAmountRight = -tex2Dlod(_VertexGlitchMap, float4(uvr, uvr, 0, 0)).r; + float glitchAmount = glitchAmountLeft + glitchAmountRight; + */ + float time = _Time.y * _VertexGlitchFrequency; + float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4; + worldPos.xyz += glitchAmount * glitchDirection * (_VertexGlitchStrength * .01) * step(_VertexGlitchThreshold, randomGlitch); + localPos = mul(unity_WorldToObject, worldPos); + } + } + +#endif +// diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta new file mode 100644 index 00000000..f8710469 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7ed7f3deca452ef4c9a87ab95196c0f4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc new file mode 100644 index 00000000..ec2d37e4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc @@ -0,0 +1,266 @@ +#ifndef POI_VIDEO + #define POI_VIDEO + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoPixelTexture); float4 _VideoPixelTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoMaskTexture); float4 _VideoMaskTexture_ST; + + float _VideoUVNumber; + float _VideoType; + float3 pixels; + float2 _VideoResolution; + sampler2D _VideoGameboyRamp; + half _VideoBacklight; + half _VideoCRTRefreshRate; + half _VideoCRTPixelEnergizedTime; + half _VideoEnableVideoPlayer; + half _VideoRepeatVideoTexture; + half _VideoPixelateToResolution; + float2 _VideoMaskPanning; + // Video Settings + half _VideoSaturation; + half _VideoContrast; + float2 _VideoTiling; + float2 _VideoOffset; + float2 _VideoPanning; + //Debug + half _VideoEnableDebug; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoDebugTexture); float4 _VideoDebugTexture_ST; + + + sampler2D _VRChat_VideoPlayer; + float4 _VRChat_VideoPlayer_TexelSize; + + float4 globalVideoPlayerColor; + float3 globalColorToDisplayOnScreen; + float globalVideoOn; + + float3 applyBacklight(float3 albedo, half backlightStrength) + { + return max(backlightStrength, albedo.rgb); + } + + float3 applyViewAngleTN(float3 albedo) + { + float3 reflectionVector = normalize(reflect(poiCam.viewDir.rgb, poiMesh.normals[1].rgb)); + float upwardShift = dot(reflectionVector, poiMesh.binormal); + upwardShift = pow(upwardShift, 1); + float sideShift = dot(reflectionVector, poiMesh.tangent); + sideShift *= pow(sideShift, 3); + #if !UNITY_COLORSPACE_GAMMA + albedo = LinearToGammaSpace(albedo); + #endif + albedo = saturate(lerp(half3(0.5, 0.5, 0.5), albedo, upwardShift + 1)); + #if !UNITY_COLORSPACE_GAMMA + albedo = GammaToLinearSpace(albedo); + #endif + albedo = (lerp(albedo, albedo.gbr, sideShift)); + return albedo; + } + + float calculateCRTPixelBrightness() + { + float totalPixels = _VideoResolution.x * _VideoResolution.y; + float2 uvPixel = float2((floor((1 - poiMesh.uv[_VideoUVNumber].y) * _VideoResolution.y)) / _VideoResolution.y, (floor(poiMesh.uv[_VideoUVNumber].x * _VideoResolution.x)) / _VideoResolution.x); + float currentPixelNumber = _VideoResolution.x * (_VideoResolution.y * uvPixel.x) + _VideoResolution.y * uvPixel.y; + float currentPixelAlpha = currentPixelNumber / totalPixels; + half electronBeamAlpha = frac(_Time.y * _VideoCRTRefreshRate); + float electronBeamPixelNumber = totalPixels * electronBeamAlpha; + + float DistanceInPixelsFromCurrentElectronBeamPixel = 0; + if (electronBeamPixelNumber >= currentPixelNumber) + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber - currentPixelNumber; + } + else + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber + (totalPixels - currentPixelNumber); + } + float CRTFrameTime = 1 / _VideoCRTRefreshRate; + float timeSincecurrentPixelWasHitByElectronBeam = (DistanceInPixelsFromCurrentElectronBeamPixel / totalPixels); + + return saturate(_VideoCRTPixelEnergizedTime - timeSincecurrentPixelWasHitByElectronBeam); + } + + void applyContrastSettings(inout float3 pixel) + { + #if !UNITY_COLORSPACE_GAMMA + pixel = LinearToGammaSpace(pixel); + #endif + pixel = saturate(lerp(half3(0.5, 0.5, 0.5), pixel, _VideoContrast + 1)); + #if !UNITY_COLORSPACE_GAMMA + pixel = GammaToLinearSpace(pixel); + #endif + } + + void applySaturationSettings(inout float3 pixel) + { + pixel = lerp(pixel.rgb, dot(pixel.rgb, float3(0.3, 0.59, 0.11)), -_VideoSaturation); + } + + void applyVideoSettings(inout float3 pixel) + { + applySaturationSettings(pixel); + applyContrastSettings(pixel); + } + + void calculateLCD(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateTN(inout float4 albedo) + { + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + globalColorToDisplayOnScreen = applyViewAngleTN(globalColorToDisplayOnScreen); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateCRT(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + float brightness = calculateCRTPixelBrightness(); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * brightness * _VideoBacklight; + } + void calculateOLED(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateGameboy(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + half brightness = saturate((globalColorToDisplayOnScreen.r + globalColorToDisplayOnScreen.g + globalColorToDisplayOnScreen.b) * .3333333); + albedo.rgb = tex2D(_VideoGameboyRamp, brightness); + } + void calculateProjector(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + + float3 projectorColor = albedo * globalColorToDisplayOnScreen * _VideoBacklight; + albedo.r = clamp(projectorColor.r, albedo.r, 1000); + albedo.g = clamp(projectorColor.g, albedo.g, 1000); + albedo.b = clamp(projectorColor.b, albedo.b, 1000); + } + + void applyScreenEffect(inout float4 albedo, inout float3 videoEmission) + { + float4 albedoBeforeScreen = albedo; + + pixels = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoPixelTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoPixelTexture) * _VideoResolution); + globalVideoOn = 0; + + if(_VideoEnableVideoPlayer == 1) + { + float4 videoTexture = 0; + + if(_VideoPixelateToResolution) + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, round(TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoResolution + .5) / _VideoResolution); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, round(poiMesh.uv[_VideoUVNumber] * _VideoResolution + .5) / _VideoResolution); + } + } + else + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoTiling + _VideoOffset); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, ((poiMesh.uv[_VideoUVNumber] + _Time.x * _VideoPanning) * _VideoTiling) + _VideoOffset); + } + } + if(videoTexture.a == 1) + { + globalColorToDisplayOnScreen = videoTexture.rgb; + globalVideoOn = 1; + } + } + + + if(_VideoRepeatVideoTexture == 1) + { + if(poiMesh.uv[_VideoUVNumber].x > 1 || poiMesh.uv[_VideoUVNumber].x < 0 || poiMesh.uv[_VideoUVNumber].y > 1 || poiMesh.uv[_VideoUVNumber].y < 0) + { + return; + } + } + + switch(_VideoType) + { + case 0: // LCD + { + calculateLCD(albedo); + break; + } + case 1: // TN + { + calculateTN(albedo); + break; + } + case 2: // CRT + { + calculateCRT(albedo); + break; + } + case 3: // OLED + { + calculateOLED(albedo); + break; + } + case 4: // Gameboy + { + calculateGameboy(albedo); + break; + } + case 5: // Projector + { + calculateProjector(albedo); + break; + } + } + + float screenMask = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoMaskTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoMaskTexture) + _Time.x * _VideoMaskPanning); + albedo = lerp(albedoBeforeScreen, albedo, screenMask); + videoEmission = max(albedo.rgb * screenMask - 1, 0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta new file mode 100644 index 00000000..efa36954 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4661aac9885369c4795d1d8bd8f6f739 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc new file mode 100644 index 00000000..db3d3130 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc @@ -0,0 +1,304 @@ +#ifndef POI_VORONOI + #define POI_VORONOI + + #include "CGI_PoiRNG.cginc" + + float _VoronoiSpace; + float _VoronoiBlend; + float _VoronoiType; + float4 _VoronoiColor0; + float _VoronoiEmission0; + float4 _VoronoiColor1; + float _VoronoiEmission1; + float2 _VoronoiGradient; + float _VoronoiScale; + float3 _VoronoiSpeed; + float _VoronoiEnableRandomCellColor; + float2 _VoronoiRandomMinMaxSaturation; + float2 _VoronoiRandomMinMaxBrightness; + float3 randomPoint; + float _VoronoiEffectsMaterialAlpha; + + POI_TEXTURE_NOSAMPLER(_VoronoiMask); + POI_TEXTURE_NOSAMPLER(_VoronoiNoise); + float _VoronoiNoiseIntensity; + + float2 inoise(float3 P, float jitter) + { + float3 Pi = mod(floor(P), 289.0); + float3 Pf = frac(P); + float3 oi = float3(-1.0, 0.0, 1.0); + float3 of = float3(-0.5, 0.5, 1.5); + float3 px = Permutation(Pi.x + oi); + float3 py = Permutation(Pi.y + oi); + + float3 p, ox, oy, oz, dx, dy, dz; + float2 F = 1e6; + + for (int i = 0; i < 3; i ++) + { + for (int j = 0; j < 3; j ++) + { + p = Permutation(px[i] + py[j] + Pi.z + oi); // pij1, pij2, pij3 + + ox = frac(p * K) - Ko; + oy = mod(floor(p * K), 7.0) * K - Ko; + + p = Permutation(p); + + oz = frac(p * K) - Ko; + + dx = Pf.x - of[i] + jitter * ox; + dy = Pf.y - of[j] + jitter * oy; + dz = Pf.z - of + jitter * oz; + + float3 d = dx * dx + dy * dy + dz * dz; // dij1, dij2 and dij3, squared + + //Find lowest and second lowest distances + for (int n = 0; n < 3; n ++) + { + if (d[n] < F[0]) + { + F[1] = F[0]; + F[0] = d[n]; + randomPoint = p; + } + else if(d[n] < F[1]) + { + F[1] = d[n]; + } + } + } + } + + return F; + } + + float voronoi2D(in float2 x, float scale, float2 speed) + { + x *= scale; + x += speed * _Time.x; + float2 n = floor(x); + float2 f = frac(x); + + // first pass: regular voronoi + float2 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 g = float2(float(i), float(j)); + float2 o = random2(n + g); + float2 currentPoint = o; + + float2 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint.xy = currentPoint; + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + float2 g = mg + float2(float(q), float(r)); + float2 o = random2(n + g); + + float2 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + return md; + } + + float voronoi3D(in float3 x, float scale, float3 speed) + { + x *= scale; + x += speed * _Time.x; + float3 n = floor(x); + float3 f = frac(x); + + // first pass: regular voronoi + float3 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + for (int h = -1; h <= 1; h ++) + { + float3 g = float3(float(h), float(i), float(j)); + float3 o = random3(n + g); + float3 currentPoint = o; + + float3 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint = currentPoint; + } + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + for (int p = -2; p <= 2; p ++) + { + float3 g = mg + float3(float(p), float(q), float(r)); + float3 o = random3(n + g); + + float3 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + } + return md; + } + + + + // fracal sum, range -1.0 - 1.0 + float VoronoiNoise_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + float VoronoiNoiseDiff_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[1]) - sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + void applyVoronoi(inout float4 finalColor, inout float3 VoronoiEmission) + { + float voronoiOctaveNumber = 1; + float voronoiOctaveScale = 1; + float voronoiOctaveAttenuation = 1; + randomPoint = 0; + float4 voronoiColor1 = _VoronoiColor1; + + float voronoi = 0; + + float3 position = 0; + + + if (_VoronoiSpace == 0) + { + position = poiMesh.localPos; + } + + if(_VoronoiSpace == 1) + { + position = poiMesh.worldPos; + } + + if(_VoronoiSpace == 2) + { + position = float3(poiMesh.uv[0].x, poiMesh.uv[0].y, 0); + } + + float mask = POI2D_SAMPLER_PAN(_VoronoiMask, _MainTex, poiMesh.uv[_VoronoiMaskUV], _VoronoiMaskPan).r; + float edgeNoise = POI2D_SAMPLER_PAN(_VoronoiNoise, _MainTex, poiMesh.uv[_VoronoiNoiseUV], _VoronoiNoisePan).r * _VoronoiNoiseIntensity; + + + if(_VoronoiType == 0) // Basic + { + voronoi = voronoi2D(position.xy, _VoronoiScale, _VoronoiSpeed); + } + + if (_VoronoiType == 1) // Diff + { + voronoi = VoronoiNoiseDiff_Octaves(position, _VoronoiScale, _VoronoiSpeed, voronoiOctaveNumber, voronoiOctaveScale, voronoiOctaveAttenuation, 1, _Time.x); + } + + if (_VoronoiType == 2) // Fixed Border + { + voronoi = voronoi3D(position, _VoronoiScale, _VoronoiSpeed); + // isolines + //color = c.x * (0.5 + 0.5 * sin(64.0 * c.x)) * 1.0; + } + + if (_VoronoiEnableRandomCellColor == 1) + { + float3 rando = random3(randomPoint); + fixed hue = rando.x; + fixed saturation = lerp(_VoronoiRandomMinMaxSaturation.x, _VoronoiRandomMinMaxSaturation.y, rando.y); + fixed value = lerp(_VoronoiRandomMinMaxBrightness.x, _VoronoiRandomMinMaxBrightness.y, rando.z); + float3 hsv = float3(hue, saturation, value); + + voronoiColor1.rgb = HSVtoRGB(hsv); + } + + float2 voronoiGradient = _VoronoiGradient; + voronoiGradient.xy += edgeNoise; + float ramp = smoothstep(voronoiGradient.x, voronoiGradient.y, voronoi); + + + if(_VoronoiBlend == 0) + { + float4 voronoiColor = lerp(_VoronoiColor0, voronoiColor1, ramp); + + if(_VoronoiEffectsMaterialAlpha) + { + finalColor.rgba = lerp(finalColor, voronoiColor, mask); + } + else + { + finalColor.rgb = lerp(finalColor.rgb, voronoiColor.rgb, mask * voronoiColor.a); + } + } + float4 voronoiEmissionColor = lerp(_VoronoiColor0 * _VoronoiEmission0, voronoiColor1 * _VoronoiEmission1, ramp); + VoronoiEmission = voronoiEmissionColor.rgb * mask * voronoiEmissionColor.a; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta new file mode 100644 index 00000000..916df82c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8d8478ca17e2e2a4dae0e8447bf8df8f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc new file mode 100644 index 00000000..49c602c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc @@ -0,0 +1,111 @@ +#ifndef POI_WIREFRAME + #define POI_WIREFRAME + + UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST; + float2 _WireframeTexturePan; + float _WireframeSmoothing; + float _WireframeThickness; + float4 _WireframeColor; + float _WireframeAlpha; + float _WireframeEnable; + float _WireframeWaveEnabled; + float _WireframeWaveDensity; + float _WireframeWaveSpeed; + float _WireframeEdgeOpacity; + float _WireframeFaceOpacity; + half _WireframeEmissionAlpha; + float _WireframeEmissionStrength; + float _WireframeQuad; + float _WireframeUV; + + #ifndef POI_SHADOW + void applyWireframe(inout float3 wireframeEmission, inout float4 albedo) + { + + if (_WireframeEnable) + { + float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan); + float size = _WireframeThickness; + half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates)); + half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates); + half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1; + + float4 wireframeColor = _WireframeColor * colorMap; + + albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary); + wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a; + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream) + { + + if(_WireframeQuad) + { + float e1 = length(IN[0].localPos - IN[1].localPos); + float e2 = length(IN[1].localPos - IN[2].localPos); + float e3 = length(IN[2].localPos - IN[0].localPos); + + float3 quad = 0; + if(e1 > e2 && e1 > e3) + quad.y = 1.; + else if(e2 > e3 && e2 > e1) + quad.x = 1; + else + quad.z = 1; + + IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad; + IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad; + IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad; + } + else + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + } + + + + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #else + + float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos) + { + + if(_WireframeEnable) + { + float wireframeFadeAlpha = _WireframeAlpha; + float3 finalWireframeColor = 0; + + float3 barys; + barys.xy = barycentricCoordinates; + barys.z = 1 - barys.x - barys.y; + float3 deltas = fwidth(barys); + float3 smoothing = deltas * _WireframeSmoothing; + float wireframeThickness = _WireframeThickness; + float3 thickness = deltas * wireframeThickness; + barys = smoothstep(thickness, thickness + smoothing, barys); + float minBary = min(barys.x, min(barys.y, barys.z)); + + return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream) + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta new file mode 100644 index 00000000..8f3c53b3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9efda2a30abe7e34196137cacd936fc2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc new file mode 100644 index 00000000..319de57c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc @@ -0,0 +1,171 @@ +#ifndef POICLUDES + #define POICLUDES + + UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _PoiGrab; + sampler2D _CameraDepthTexture; + float _Cutoff; + float _AlphaMod; + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #ifdef OUTLINE + float _LineWidth; + float _OutlineEmission; + float4 _LineColor; + sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV; + float4 _OutlineFadeDistance; + float4 _OutlineGlobalPan; + #endif + + struct PoiLighting + { + half3 direction; + half3 color; + fixed attenuation; + #ifdef FORWARD_ADD_PASS + fixed additiveShadow; + #endif + half3 directLighting; + half3 indirectLighting; + half lightMap; + half3 rampedLightMap; + half3 finalLighting; + half3 halfDir; + half nDotL; + half nDotH; + half lDotv; + half lDotH; + half nDotV; + half N0DotV; + half diffuseTerm; + + // World normal dot half direction + #ifdef POI_VAR_DOTNH + half dotNH; + #endif + + // Light direction dot half direction + #ifdef POI_VAR_DOTLH + half dotLH; + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + float4 vDotNL; + float3 vColor[4]; + float4 vCorrectedDotNL; + float4 vAttenuation; + float4 vAttenuationDotNL; + float3 vPosition[4]; + float3 vDirection[4]; + float3 vFinalLighting; + float3 vHalfDir[4]; + + #ifdef POI_VAR_DOTLH + half4 vDotLH; + #endif + + #ifdef POI_VAR_DOTNH + half4 vDotNH; + #endif + + #endif + }; + + struct PoiCamera + { + half3 viewDir; + half3 tangentViewDir; + half3 forwardDir; + half3 worldPos; + float viewDotNormal; + float distanceToModel; + float distanceToVert; + float3 reflectionDir; + float3 vertexReflectionDir; + float2 screenUV; + float4 clipPos; + #if defined(GRAIN) + float4 worldDirection; + #endif + float4 grabPos; + }; + + struct PoiMesh + { + float3 normals[2]; + float3 tangent; + float3 binormal; + float3 localPos; + float3 worldPos; + float3 modelPos; + float3 tangentSpaceNormal; + float2 uv[5]; + float4 vertexColor; + fixed3 barycentricCoordinates; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV; + #endif + float isFrontFace; + #ifdef FUR + float furAlpha; + #endif + }; + + struct PoiTangentData + { + float3x3 tangentTransform; + float3x3 tangentToWorld; + }; + + struct FragmentCommonData + { + half3 diffColor, specColor; + // Note: smoothness & oneMinusReflectivity for optimization purposes, mostly for DX9 SM2.0 level. + // Most of the math is being done on these (1-x) values, and that saves a few precious ALU slots. + half oneMinusReflectivity, smoothness; + float3 normalWorld; + float3 eyeVec; + half alpha; + float3 posWorld; + + #if UNITY_STANDARD_SIMPLE + half3 reflUVW; + #endif + + #if UNITY_STANDARD_SIMPLE + half3 tangentSpaceNormal; + #endif + }; + + struct Debug + { + float debug1; + float2 debug2; + float3 debug3; + float4 debug4; + }; + + static Debug debug; + static PoiLighting poiLight; + static PoiCamera poiCam; + static PoiMesh poiMesh; + static UnityGI gi; + static FragmentCommonData s; + static PoiTangentData poiTData; + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta new file mode 100644 index 00000000..02034d17 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7320aa25553e17e41969a281cc1b4446 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta new file mode 100644 index 00000000..cd05e867 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6f7d80cfed0eb7b4bb1a7740d5a4be82 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader new file mode 100644 index 00000000..9fa5e55e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader @@ -0,0 +1,7648 @@ +Shader "Hidden/.poiyomi/• Poiyomi Toon •/PC_B_EQ_Default_Face_02-14a945a8" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 + [HideInInspector] shader_master_label ("Poiyomi Toon V7.0.100", Float) = 0 + [HideInInspector] shader_presets ("poiToonPresets", Float) = 0 + [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0 + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + // Keyword to remind users in the VRChat SDK that this material hasn't been locked. Inelegant but it works. + [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 + [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0 + [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0 + + [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7, Multiplicative Grab Pass, 8)]_Mode("Rendering Preset--{on_value_actions:[ + {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2451}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]}, + {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:RenderType=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]} + }]}]}", Int) = 0 + [HideInInspector] m_LockingInfo ("Locking Info--{button_right:{text:Tutorial,action:{type:URL,data:https://youtu.be/asWeDJb5LAo},hover:YouTube},is_hideable:true}", Float) = 0 + [Helpbox(1)] _HelpBoxLocking ("LOCKING IN THE SHADER WILL DRAMATICALLY INCREASE PERFORMANCE AND DRAMATICALLY LOWER THE FILE SIZE OF AN AVATAR PACKAGE. + + LOCKED IN MATERIALS CANNOT BE ANIMATED WITHOUT SETTING THE SPECIFIC PROPERTY TO DYNAMIC. RIGHT CLICK MATERIAL PROPERTIES YOU WISH TO ANIMATE, A CLOCK ICON WILL APPEAR BESIDE THE PROPERTY SIGNIFYING THAT IT CAN BE ANIMATED. + + FOR MORE INFORMATION ON LOCKING PLEASE WATCH THE LOCKING TUTORIAL IN THE HEADER ABOVE.", Int) = 0 + [Helpbox(2)] _HelpBoxHideLocking ("TO HIDE THIS CATEGORY SELECT CUSTOM UI AT THE TOP AND UNCHECK THE LOCKING INFO CATEGORY", Float) = 0 + // Main + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color & Alpha", Color) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("UV", Int) = 0 + _Saturation ("Saturation", Range(-1, 1)) = 0 + _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _BumpMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _AlphaMask ("Alpha Map", 2D) = "white" { } + [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AlphaMaskUV ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector] m_start_MainHueShift ("Hue Shift", Float) = 0 + [HideInInspector][Toggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0 + [ToggleUI]_MainHueShiftReplace ("Replace?", Float) = 1 + _MainHueShift ("Hue Shift", Range(0, 1)) = 0 + _MainHueShiftSpeed ("Shift Speed", Float) = 0 + _MainHueShiftMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainHueShiftMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainHueShiftMaskUV ("UV", Int) = 0 + [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0 + + // RGB Masking + [HideInInspector] m_start_RGBMask ("RGB Color Masking", Float) = 0 + [HideInInspector][Toggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0 + [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0 + [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0 + _RGBMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBMaskUV ("UV", int) = 0 + _RedColor ("R Color", Color) = (1, 1, 1, 1) + _RedTexure ("R Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBRed_UV ("UV", int) = 0 + _GreenColor ("G Color", Color) = (1, 1, 1, 1) + _GreenTexture ("G Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBGreen_UV ("UV", int) = 0 + _BlueColor ("B Color", Color) = (1, 1, 1, 1) + _BlueTexture ("B Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBBlue_UV ("UV", int) = 0 + // RGB MASKED NORMALS + [Toggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0 + [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0 + [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalRUV ("UV", int) = 0 + _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalGUV ("UV", int) = 0 + _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalBUV ("UV", int) = 0 + _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0 + + // Detail Options + [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0 + _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { } + [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailMaskUV ("UV", Int) = 0 + _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1) + _DetailTex ("Detail Texture", 2D) = "gray" { } + [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailTexUV ("UV", Int) = 0 + _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1 + _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1 + [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1 + [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailNormalMapUV ("UV", Int) = 0 + [HideInInspector] m_end_DetailOptions ("Details", Float) = 0 + + // Vertex Colors + [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0 + _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0 + _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0 + + //Vertex Manipulations + [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0 + [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1) + [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1) + _VertexManipulationHeight ("Vertex Height", Float) = 0 + _VertexManipulationHeightMask ("Height Map", 2D) = "while" { } + [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0 + _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0 + [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0 + _VertexRoundingDivision ("Division Amount", Float) = 500 + [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0 + + // Alpha Options + [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0 + _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0 + _DitherGradient ("Dither Gradient", Range(0, 1)) = .1 + [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0 + _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0 + [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0 + [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0 + _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25 + [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0 + _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 + [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 + + // Decal Texture + [HideInInspector] m_start_DecalSection ("Decal", Float) = 0 + [HideInInspector][Toggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0 + _DecalColor ("Color", Color) = (1, 1, 1, 1) + _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _DecalTexture ("Decal", 2D) = "white" { } + [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalTextureUV ("UV", Int) = 0 + _DecalMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalMaskUV ("UV", Int) = 0 + [ToggleUI]_DecalTiled ("Tiled?", Float) = 0 + [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0) + [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0) + _DecalRotation ("Rotation", Range(0, 360)) = 0 + _DecalRotationSpeed ("Rotation Speed", Float) = 0 + _DecalBlendAdd ("Add", Range(0, 1)) = 0 + _DecalBlendMultiply ("Multiply", Range(0, 1)) = 0 + _DecalBlendReplace ("Replace", Range(0, 1)) = 0 + [HideInInspector] m_end_DecalSection ("Decal", Float) = 0 + + // Back Face Textures and Emission + [HideInInspector] m_start_backFace ("Back Face", Float) = 0 + [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0 + _BackFaceColor ("Color", Color) = (1, 1, 1, 1) + _BackFaceTexture ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_BackFaceTextureUV ("UV#", Int) = 0 + _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1 + _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0 + _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [HideInInspector] m_end_backFace ("Back Face", Float) = 0 + + // Lighting + [HideInInspector] m_lightingOptions ("Lighting", Float) = 0 + [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0 + [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1 + [Enum(Toon, 0, Realistic, 1)] _LightingMode ("Lighting Type", Int) = 0 + _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0 + [ToggleUI]_LightingShadingEnabled ("Enable Shading--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0 + [Enum(Ramp Texture, 0, Math Gradient, 1)] _LightingRampType ("Ramp Type--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Int) = 0 + [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", 2D) = "white" { } + _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowMaskUV ("UV", Int) = 0 + _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0 + _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = 0 + _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = .5 + _LightingShadowColor ("Shadow Tint--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Color) = (1, 1, 1, 1) + _ShadowStrength ("Shadow Strength--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 1 + _AttenuationMultiplier ("Unity Shadows--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==1},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 0 + [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + + [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0 + [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0 + [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0 + [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0 + [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0 + _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0 + _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 + _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0 + [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0 + + [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled}", Float) = 0 + [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0 + _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingDetailShadowsUV ("UV", Int) = 0 + _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0 + + [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0 + _LightingAOTex ("AO Map", 2D) = "white" { } + [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingAOTexUV ("UV", Int) = 0 + _AOStrength ("AO Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0 + + [HideInInspector] m_start_shadowTexture ("Shadow Texture--{reference_property:_UseShadowTexture, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + [HideInInspector][ToggleUI]_UseShadowTexture ("EnableShadowTexture--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + _LightingShadowTexture ("Shadow Texture--{reference_properties:[_LightingShadowTexturePan, _LightingShadowTextureUV], condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_shadowTexture ("Shadow Texture", Float) = 0 + + // HSL Lighting + [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0 + _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1 + _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5 + _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5 + _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5 + [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0 + + // point/spot Light Settings + [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_commentIfZero_LightingAdditiveEnable,button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0 + [HideInInspector][ToggleUI]_commentIfZero_LightingAdditiveEnable ("Enable Additive", Float) = 1 + [Enum(Realistic, 0, Toon, 1)] _LightingAdditiveType ("Lighting Type", Int) = 1 + _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0 + _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5 + _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5 + _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1 + [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0 + _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1 + [Toggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1 + [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0 + [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0 + + // Subsurface Scattering + [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0 + [Toggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0 + _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1) + _SSSThicknessMap ("Thickness Map", 2D) = "black" { } + [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SSSThicknessMapUV ("UV", Int) = 0 + _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0 + _SSSSCale ("Light Strength", Range(0, 1)) = 0.25 + _SSSPower ("Light Spread", Range(1, 100)) = 5 + _SSSDistortion ("Light Distortion", Range(0, 1)) = 1 + [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0 + + // Rim Lighting + [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0 + [Toggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0 + [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1 + [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimTexUV ("UV", Int) = 0 + _RimMask ("Rim Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimMaskUV ("UV", Int) = 0 + + // Rim Noise + [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0 + _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { } + [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0 + _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1 + [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0 + + // Rim Shadow Mix + [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0 + _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0 + _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5 + _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5 + [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0 + [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0 + + // Environmental Rim Lighting + [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0 + [Toggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0 + _RimEnviroMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimEnviroMaskUV ("UV", Int) = 0 + _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7 + _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45 + _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0 + _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0 + _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1 + [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0 + + // Baked Lighting + [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0 + _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1 + [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown + [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown + [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0 + + // Metallics + [HideInInspector] m_start_Metallic ("Metallics", Float) = 0 + [Toggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1) + _MetallicTintMap ("Tint Map", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicTintMapUV ("UV", Int) = 0 + _MetallicMask ("Metallic Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicMaskUV ("UV", Int) = 0 + _Metallic ("Metallic", Range(0, 1)) = 0 + _SmoothnessMask ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SmoothnessMaskUV ("UV", Int) = 0 + [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _Smoothness ("Smoothness", Range(0, 1)) = 0 + [HideInInspector] m_end_Metallic ("Metallics", Float) = 0 + + // Clearcoat + [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0 + [Toggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0 + [Enum(Vertex, 0, Pixel, 1)] _ClearCoatNormalToUse ("What Normal?", Int) = 0 + _ClearCoatCubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_ClearCoatSampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _ClearCoatTint ("Reflection Tint", Color) = (1, 1, 1) + _ClearCoatMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatMaskUV ("UV", Int) = 0 + _ClearCoat ("Clear Coat", Range(0, 1)) = 1 + _ClearCoatSmoothnessMap ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatSmoothnessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatSmoothnessMapUV ("UV", Int) = 0 + [ToggleUI]_ClearCoatInvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _ClearCoatSmoothness ("Smoothness", Range(0, 1)) = 0 + [ToggleUI]_ClearCoatForceLighting ("Force Lighting", Float) = 0 + [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0 + + // First Matcap + [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0 + [Toggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0 + _MatcapColor ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { } + _MatcapBorder ("Border", Range(0, .5)) = 0.43 + _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MatcapMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0 + _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _MatcapIntensity ("Intensity", Range(0, 5)) = 1 + _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 + _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1 + _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0 + _MatcapAdd ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1 + [HideInInspector] m_end_matcap ("Matcap", Float) = 0 + + // Second Matcap + [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0 + [ToggleUI]_Matcap2Enable ("Enable Matcap 2", Float) = 0 + _Matcap2Color ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { } + _Matcap2Border ("Border", Range(0, .5)) = 0.43 + _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _Matcap2MaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0 + _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _Matcap2Intensity ("Intensity", Range(0, 5)) = 1 + _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0 + _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0 + _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0 + _Matcap2Add ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1 + [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0 + + // Specular + [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0 + [Toggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1 + _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMapUV ("UV", Int) = 0 + _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1 + [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMapUV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0 + _SpecularMask ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMaskUV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1 + // Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0 + _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0 + _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMapUV ("UV", Int) = 0 + //toon aniso + _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95 + _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0 + // Toon Specular + [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0 + + // Second Specular + [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0 + [ToggleUI]_EnableSpecular1 ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1 + _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0 + _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75 + _SpecularMap1 ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMap1UV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0 + _SpecularMask1 ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMask1UV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1 + // Second Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0 + _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0 + _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMap1UV ("UV", Int) = 0 + // Second toon aniso + _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95 + _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor1 ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0 + // Second Toon Specular + [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0 + + // First Emission + [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0 + [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0 + [Toggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0 + [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMapUV ("UV", Int) = 0 + _EmissionMask ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMaskUV ("UV", Int) = 0 + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0 + _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 + + // Center out emission + [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0 + + // Glow in the dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + // Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + _EmissionScrollingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0 + + // Second Enission + [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0 + [Toggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0 + [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMap1UV ("UV", Int) = 0 + _EmissionMask1 ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMask1UV ("UV", Int) = 0 + _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0 + _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0 + + // Second Center Out Enission + [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0 + + // Second Glow In The Dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Second Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + + // Scrolling Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0 + _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width1 ("Width", Float) = 10 + _EmissiveScroll_Velocity1 ("Velocity", Float) = 10 + _EmissiveScroll_Interval1 ("Interval", Float) = 20 + _EmissionScrollingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0 + + // Flipbook + [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0 + [Toggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0 + [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0 + [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookTexArrayUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookMask ("Mask", 2D) = "white" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookMaskUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1) + _FlipbookTotalFrames ("Total Frames", Int) = 1 + _FlipbookFPS ("FPS", Float) = 30.0 + _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0) + [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0 + _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _FlipbookRotation ("Rotation", Range(0, 360)) = 0 + _FlipbookRotationSpeed ("Rotation Speed", Float) = 0 + _FlipbookReplace ("Replace", Range(0, 1)) = 1 + _FlipbookMultiply ("Multiply", Range(0, 1)) = 0 + _FlipbookAdd ("Add", Range(0, 1)) = 0 + + // Flipbook Manual Control + [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0 + _FlipbookCurrentFrame ("Current Frame", Float) = -1 + [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0 + [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0 + + // Dissolve + [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0 + [Toggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0 + [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1 + _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025 + _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5 + _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1) + [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { } + _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0 + _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1) + _DissolveToTexture ("Dissolved Texture", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveToTextureUV ("UV", Int) = 0 + _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0 + _DissolveNoiseTexture ("Dissolve Noise", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0 + _DissolveDetailNoise ("Dissolve Detail Noise", 2D) = "black" { } + [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0 + _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1 + _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0 + _DissolveMask ("Dissolve Mask", 2D) = "white" { } + [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0 + [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0 + _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0 + [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2 + [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0 + + // Point to Point Dissolve + [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0 + [Enum(Local, 0, World, 1)] _DissolveP2PWorldLocal ("World/Local", Int) = 0 + _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1 + [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0) + [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0) + [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0 + + // Locked in anim sldiers + [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0 + _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0 + _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0 + _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0 + _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0 + _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0 + _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0 + _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0 + _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0 + _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0 + _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0 + [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0 + [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0 + + // Panosphere + [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + [Toggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0 + [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0 + _PanosphereColor ("Color", Color) = (1, 1, 1, 1) + _PanosphereTexture ("Texture", 2D) = "white" { } + _PanoMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _PanoMaskUV ("UV", Int) = 0 + _PanoEmission ("Emission Strength", Range(0, 10)) = 0 + _PanoBlend ("Alpha", Range(0, 1)) = 0 + [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0) + [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0 + [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { } + [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + + // Glitter + [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0 + [Toggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0 + [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0 + [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0 + [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0 + [HDR]_GlitterColor ("Color", Color) = (1, 1, 1) + _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0 + _GlitterColorMap ("Glitter Color Map", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterColorMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterMask ("Glitter Mask", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterMaskUV ("UV", Int) = 0 + _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterTextureRotation ("Rotation Speed", Float) = 0 + _GlitterFrequency ("Glitter Density", Float) = 300.0 + _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0 + _GlitterSpeed ("Glitter Speed", Float) = 10.0 + _GlitterSize ("Glitter Size", Range(0, 1)) = .3 + _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300 + _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90 + _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0 + _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3 + _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8 + _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08 + _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20 + _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0 + + // Glitter Random Colors + [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0 + [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0 + [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1) + [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1) + [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0 + [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1) + [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0 + [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0 + [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0 + + // MSDF OVERLAY + [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0 + _TextGlyphs ("Font Array", 2D) = "black" { } + _TextPixelRange ("Pixel Range", Float) = 4.0 + [Toggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0 + + // FPS + [HideInInspector] m_start_TextFPS ("FPS", Float) = 0 + [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextFPSUV ("FPS UV", Int) = 0 + _TextFPSColor ("Color", Color) = (1, 1, 1, 1) + _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextFPSRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1) + _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextFPS ("FPS", Float) = 0 + + // POSITION + [HideInInspector] m_start_TextPosition ("Position", Float) = 0 + [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextPositionUV ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVertical ("Vertical?", Float) = 0 + _TextPositionColor ("Color", Color) = (1, 0, 1, 1) + _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextPositionRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1) + _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextPosition ("Position", Float) = 0 + + // INSTANCE TIME + [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0 + [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextTimeUV ("Time UV", Int) = 0 + _TextTimeColor ("Color", Color) = (1, 0, 1, 1) + _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextTimeRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1) + _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0 + [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0 + + // Mirror Rendering + [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0 + [Toggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0 + [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0 + [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0 + _MirrorTexture ("Mirror Tex", 2D) = "white" { } + [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MirrorTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0 + + // Distance Fade + [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0 + _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0 + _MainFadeTexture ("Fade Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainFadeTextureUV ("UV", Int) = 0 + [Vector2]_MainDistanceFade ("Distance Fade X to Y", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0 + + // Angular Fade + [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0 + [Toggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0 + [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0 + [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0 + [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0) + _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45 + _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90 + _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45 + _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90 + _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0 + + // UV Distortion + [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0 + [Toggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0 + _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0 + _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { } + _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { } + _DistortionStrength ("Strength1", Float) = 0.5 + _DistortionStrength1 ("Strength2", Float) = 0.5 + [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0) + [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0) + [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0 + + // Outline Options + [HideInInspector] m_outlineOptions ("Outlines", Float) = 0 + [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0 + [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0 + _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0 + _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0 + _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0) + _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0) + [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0 + [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0 + [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1 + _LineWidth ("Width", Float) = 0 + _LineColor ("Color", Color) = (1, 1, 1, 1) + _OutlineEmission ("Outline Emission", Float) = 0 + _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineTextureUV ("UV", Int) = 0 + _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineMaskUV ("UV", Int) = 0 + _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0 + [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0) + [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1 + _OutlineOffsetFactor("Offset Factor", Float) = 0 + _OutlineOffsetUnits("Offset Units", Float) = 0 + [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0 + + // Parallax Mapping + [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0 + [Toggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0 + [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0 + [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0 + [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0 + [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0) + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0 + _ParallaxHeightMap ("Height Map", 2D) = "black" { } + _ParallaxHeightMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0 + _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0 + [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0 + [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0 + [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0 + [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0 + _ParallaxInternalMap ("Internal Map", 2D) = "black" { } + _ParallaxInternalMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0 + _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1 + _ParallaxInternalMinDepth ("Min Depth", Float) = 0 + _ParallaxInternalMaxDepth ("Max Depth", Float) = 1 + _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0 + _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1 + _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1) + _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1) + [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0) + [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0 + [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0 + _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42 + [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0 + + // Rendering Options + [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1 + [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15 + _OffsetFactor ("Offset Factor", Float) = 0.0 + _OffsetUnits ("Offset Units", Float) = 0.0 + [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 + [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown + + // Blending Options + [HideInInspector] m_start_blending ("Blending", Float) = 0 + [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 + [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1 + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0 + [HideInInspector] m_end_blending ("Blending", Float) = 0 + + // Stencils + [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 + + // Outline Stencil + [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{is_hideable:true, condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + // Debug Options + [HideInInspector] m_start_debugOptions ("Debug", Float) = 0 + [HideInInspector][Toggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0 + _VertexUnwrap ("Unwrap", Range(0, 1)) = 0 + [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0 + [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0 + [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0 + [HideInInspector] m_end_debugOptions ("Debug", Float) = 0 + + //[HideInInspector] m_animationToggles ("Animation Support Toggles", Float) = 0 + //[HelpBox(1)] _AnimationToggleHelp ("You don't need to search through this list. You can enable animation support on any property by right clicking it", Int) = 0 + + // Main + [HideInInspector]_ColorAnimated ("Color & Alpha", Int) = 0 + [HideInInspector]_MainTexAnimated ("Texture", Int) = 0 + [HideInInspector]_MainTex_STAnimated ("Texture Offset/Scale", Int) = 0 + [HideInInspector]_MainTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_SaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_MainVertexColoringAnimated ("Use Vertex Color", Int) = 0 + [HideInInspector]_MainUseVertexColorAlphaAnimated ("Use Vertex Alpha", Int) = 0 + [HideInInspector]_MainEmissionStrengthAnimated ("Basic Emission", Int) = 0 + [HideInInspector]_BumpMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_BumpMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_BumpMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_BumpScaleAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_AlphaMaskAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_AlphaMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AlphaMaskUVAnimated ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector]_MainHueShiftToggleAnimated ("Toggle Hueshift", Int) = 0 + [HideInInspector]_MainHueShiftReplaceAnimated ("Replace?", Int) = 0 + [HideInInspector]_MainHueShiftAnimated ("Hue Shift", Int) = 0 + [HideInInspector]_MainHueShiftSpeedAnimated ("Shift Speed", Int) = 0 + [HideInInspector]_MainHueShiftMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MainHueShiftMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainHueShiftMaskUVAnimated ("UV", Int) = 0 + + // RGB Masking + [HideInInspector]_RGBMaskEnabledAnimated ("RGB Mask Enabled", Int) = 0 + [HideInInspector]_RGBUseVertexColorsAnimated ("Use Vertex Colors", Int) = 0 + [HideInInspector]_RGBBlendMultiplicativeAnimated ("Multiplicative?", Int) = 0 + [HideInInspector]_RGBMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RGBMaskPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RedColorAnimated ("R Color", Int) = 0 + [HideInInspector]_RedTexureAnimated ("R Texture", Int) = 0 + [HideInInspector]_RGBRedPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBRed_UVAnimated ("UV", Int) = 0 + [HideInInspector]_GreenColorAnimated ("G Color", Int) = 0 + [HideInInspector]_GreenTextureAnimated ("G Texture", Int) = 0 + [HideInInspector]_RGBGreenPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBGreen_UVAnimated ("UV", Int) = 0 + [HideInInspector]_BlueColorAnimated ("B Color", Int) = 0 + [HideInInspector]_BlueTextureAnimated ("B Texture", Int) = 0 + [HideInInspector]_RGBBluePanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBBlue_UVAnimated ("UV", Int) = 0 + [HideInInspector]_RGBNormalBlendAnimated ("UV", Int) = 0 + + // Detail Options + [HideInInspector]_DetailMaskAnimated ("Detail Mask (R:Texture, G:Normal)", Int) = 0 + [HideInInspector]_DetailMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTintAnimated ("Detail Texture Tint", Int) = 0 + [HideInInspector]_DetailTexAnimated ("Detail Texture", Int) = 0 + [HideInInspector]_DetailTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTexIntensityAnimated ("Detail Tex Intensity", Int) = 0 + [HideInInspector]_DetailBrightnessAnimated ("Detail Brightness:", Int) = 0 + [HideInInspector]_DetailNormalMapAnimated ("Detail Normal", Int) = 0 + [HideInInspector]_DetailNormalMapScaleAnimated ("Detail Normal Intensity", Int) = 0 + [HideInInspector]_DetailNormalMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailNormalMapUVAnimated ("UV", Int) = 0 + + //Vertex Manipulations + [HideInInspector]_VertexManipulationLocalTranslationAnimated ("Local Translation", Int) = 0 + [HideInInspector]_VertexManipulationLocalRotationAnimated ("Local Rotation", Int) = 0 + [HideInInspector]_VertexManipulationLocalScaleAnimated ("Local Scale", Int) = 0 + [HideInInspector]_VertexManipulationWorldTranslationAnimated ("World Translation", Int) = 0 + [HideInInspector]_VertexManipulationHeightAnimated ("Vertex Height", Int) = 0 + [HideInInspector]_VertexManipulationHeightMaskAnimated ("Height Map", Int) = 0 + [HideInInspector]_VertexManipulationHeightPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VertexManipulationHeightUVAnimated ("UV", Int) = 0 + [HideInInspector]_VertexManipulationHeightBiasAnimated ("Mask Bias", Int) = 0 + [HideInInspector]_VertexRoundingEnabledAnimated ("Rounding Enabled", Int) = 0 + [HideInInspector]_VertexRoundingDivisionAnimated ("Division Amount", Int) = 0 + + // Alpha Options + [HideInInspector]_AlphaModAnimated ("Alpha Mod", Int) = 0 + [HideInInspector]_CutoffAnimated ("Alpha Cuttoff", Int) = 0 + [HideInInspector]_DitheringEnabledAnimated ("Enable Dithering", Int) = 0 + [HideInInspector]_DitherGradientAnimated ("Dither Gradient", Int) = 0 + [HideInInspector]_ForceOpaqueAnimated ("Force Opaque", Int) = 0 + [HideInInspector]_MainShadowClipModAnimated ("Shadow Clip Mod", Int) = 0 + [HideInInspector]_AlphaToMaskAnimated ("Alpha To Coverage", Int) = 0 + [HideInInspector]_MainAlphaToCoverageAnimated ("Sharpenned A2C", Int) = 0 + [HideInInspector]_AlphaPremultiplyAnimated ("Alpha Premultiply", Int) = 0 + [HideInInspector]_MainMipScaleAnimated ("Mip Level Alpha Scale", Int) = 0 + + // Decal Texture + [HideInInspector]_DecalEnabledAnimated ("Enable", Int) = 0 + [HideInInspector]_DecalColorAnimated ("Color", Int) = 0 + [HideInInspector]_DecalEmissionStrengthAnimated ("Color", Int) = 0 + [HideInInspector]_DecalTextureAnimated ("Decal", Int) = 0 + [HideInInspector]_DecalTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DecalMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_DecalScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_DecalPositionAnimated ("Position", Int) = 0 + [HideInInspector]_DecalRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_DecalRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_DecalBlendAddAnimated ("Add", Int) = 0 + [HideInInspector]_DecalBlendMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_DecalBlendReplaceAnimated ("Replace", Int) = 0 + + // Lighting + [HideInInspector]_EnableLightingAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LightingModeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingStandardSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_LightingShadingEnabledAnimated ("Enable Shading-",Int) = 0 + [HideInInspector]_LightingRampTypeAnimated ("Ramp Type", Int) = 0 + [HideInInspector]_ToonRampAnimated ("Lighting Ramp", Int) = 0 + [HideInInspector]_LightingShadowMaskAnimated ("Ramp Mask", Int) = 0 + [HideInInspector]_LightingShadowMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ShadowOffsetAnimated ("Ramp Offset", Int) = 0 + [HideInInspector]_LightingGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingShadowColorAnimated ("Shadow Tint", Int) = 0 + [HideInInspector]_ShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_AttenuationMultiplierAnimated ("Unity Shadows", Int) = 0 + [HideInInspector]_LightingIgnoreAmbientColorAnimated ("Ignore Ambient Color", Int) = 0 + + [HideInInspector]_LightingDirectColorModeAnimated ("D Color", Int) = 0 + [HideInInspector]_LightingIndirectColorModeAnimated ("I Color?", Int) = 0 + [HideInInspector]_LightingMonochromaticAnimated ("Monochromatic Lighting?", Int) = 0 + [HideInInspector]_LightingUncappedAnimated ("Uncapped Lighting", Int) = 0 + [HideInInspector]_LightingOnlyUnityShadowsAnimated ("Only Unity Shadows", Int) = 0 + [HideInInspector]_LightingMinLightBrightnessAnimated ("Min Brightnes", Int) = 0 + [HideInInspector]_LightingMinShadowBrightnessRatioAnimated ("Shadow:Light min Ratio", Int) = 0 + + [HideInInspector]_LightingDetailShadowsEnabledAnimated ("Enabled Detail Shadows?", Int) = 0 + [HideInInspector]_LightingDetailShadowsAnimated ("Detail Shadows", Int) = 0 + [HideInInspector]_LightingDetailShadowsPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingDetailShadowsUVAnimated ("UV", Int) = 0 + [HideInInspector]_LightingDetailStrengthAnimated ("Detail Strength", Int) = 0 + + [HideInInspector]_LightingEnableAOAnimated ("Enable AO", Int) = 0 + [HideInInspector]_LightingAOTexAnimated ("AO Map", Int) = 0 + [HideInInspector]_LightingAOTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingAOTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_AOStrengthAnimated ("AO Strength", Range(0, 1)) = 0 + + [HideInInspector]_UseShadowTextureAnimated ("EnableShadowTexture", Int) = 0 + [HideInInspector]_LightingShadowTextureAnimated ("Shadow Texture", Int) = 0 + [HideInInspector]_LightingShadowTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowTextureUVAnimated ("UV", Int) = 0 + + [HideInInspector]_LightingEnableHSLAnimated ("Enabled HSL Lighting", Int) = 0 + [HideInInspector]_LightingHSLIntensityAnimated ("Shadow HSL Intensity", Int) = 0 + [HideInInspector]_LightingShadowHueAnimated ("Shadow Hue Change", Int) = 0 + [HideInInspector]_LightingShadowSaturationAnimated ("Shadow Saturation Change", Int) = 0 + [HideInInspector]_LightingShadowLightnessAnimated ("Shadow Lightness Change", Int) = 0 + + // point/spot Light Settings + [HideInInspector]_commentIfZero_LightingAdditiveEnableAnimated ("Enable Additive", Int) = 0 + [HideInInspector]_LightingAdditiveTypeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingAdditiveGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingAdditiveGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingAdditivePassthroughAnimated ("Point Light Passthrough", Int) = 0 + [HideInInspector]_LightingAdditiveDetailStrengthAnimated ("Detail Shadow Strength", Int) = 0 + [HideInInspector]_LightingAdditiveLimitIntensityAnimated ("Limit Intensity", Int) = 0 + [HideInInspector]_LightingAdditiveMaxIntensityAnimated ("Max Intensity", Int) = 0 + + // Subsurface Scattering + [HideInInspector]_EnableSSSAnimated ("Enable Subsurface Scattering", Int) = 0 + [HideInInspector]_SSSColorAnimated ("Subsurface Color", Int) = 0 + [HideInInspector]_SSSThicknessMapAnimated ("Thickness Map", Int) = 0 + [HideInInspector]_SSSThicknessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SSSThicknessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SSSThicknessModAnimated ("Thickness mod", Int) = 0 + [HideInInspector]_SSSSCaleAnimated ("Light Strength", Int) = 0 + [HideInInspector]_SSSPowerAnimated ("Light Spread", Int) = 0 + [HideInInspector]_SSSDistortionAnimated ("Light Distortion", Int) = 0 + + // Rim Lighting + [HideInInspector]_EnableRimLightingAnimated ("Enable Rim Lighting", Int) = 0 + [HideInInspector]_RimLightNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_RimLightingInvertAnimated ("Invert Rim Lighting", Int) = 0 + [HideInInspector]_RimLightColorAnimated ("Rim Color", Int) = 0 + [HideInInspector]_RimWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimStrengthAnimated ("Rim Emission", Int) = 0 + [HideInInspector]_RimBrightenAnimated ("Rim Color Brighten", Int) = 0 + [HideInInspector]_RimLightColorBiasAnimated ("Rim Color Bias", Int) = 0 + [HideInInspector]_RimTexAnimated ("Rim Texture", Int) = 0 + [HideInInspector]_RimTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimMaskAnimated ("Rim Mask", Int) = 0 + [HideInInspector]_RimMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimMaskUVAnimated ("UV", Int) = 0 + + // Rim Noise + [HideInInspector]_RimWidthNoiseTextureAnimated ("Rim Width Noise", Int) = 0 + [HideInInspector]_RimWidthNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimWidthNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimWidthNoiseStrengthAnimated ("Intensity", Int) = 0 + + // Rim Shadow Mix + [HideInInspector]_ShadowMixAnimated ("Shadow Mix In", Int) = 0 + [HideInInspector]_ShadowMixThresholdAnimated ("Shadow Mix Threshold", Int) = 0 + [HideInInspector]_ShadowMixWidthModAnimated ("Shadow Mix Width Mod", Int) = 0 + + // Environmental Rim Lighting + [HideInInspector]_EnableEnvironmentalRimAnimated ("Enable Environmental Rim", Int) = 0 + [HideInInspector]_RimEnviroMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RimEnviroMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimEnviroMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimEnviroBlurAnimated ("Blur", Int) = 0 + [HideInInspector]_RimEnviroWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimEnviroSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimEnviroMinBrightnessAnimated ("Min Brightness Threshold", Int) = 0 + [HideInInspector]_RimEnviroIntensityAnimated ("Intensity", Int) = 0 + + // Metallics + [HideInInspector]_EnableMetallicAnimated ("Enable Metallics", Int) = 0 + [HideInInspector]_CubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_SampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_MetalReflectionTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_MetallicTintMapAnimated ("Tint Map", Int) = 0 + [HideInInspector]_MetallicTintMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicTintMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicMaskAnimated ("Metallic Mask", Int) = 0 + [HideInInspector]_MetallicMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SmoothnessMaskAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SmoothnessMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_InvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessAnimated ("Smoothness", Int) = 0 + + // Clearcoat + [HideInInspector]_EnableClearCoatAnimated ("Enable Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatNormalToUseAnimated ("What Normal?", Int) = 0 + [HideInInspector]_ClearCoatCubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_ClearCoatSampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_ClearCoatTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_ClearCoatMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ClearCoatMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatInvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_ClearCoatForceLightingAnimated ("Force Lighting", Int) = 0 + + // First Matcap + [HideInInspector]_MatcapEnableAnimated ("Enable Matcap", Int) = 0 + [HideInInspector]_MatcapColorAnimated ("Color", Int) = 0 + [HideInInspector]_MatcapAnimated ("Matcap", Int) = 0 + [HideInInspector]_MatcapBorderAnimated ("Border", Int) = 0 + [HideInInspector]_MatcapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MatcapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MatcapMaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_MatcapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MatcapEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_MatcapIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_MatcapLightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_MatcapReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_MatcapMultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_MatcapAddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_MatcapNormalAnimated ("Normal to use", Int) = 0 + + // Second Matcap + [HideInInspector]_Matcap2EnableAnimated ("Enable Matcap 2", Int) = 0 + [HideInInspector]_Matcap2ColorAnimated ("Color", Int) = 0 + [HideInInspector]_Matcap2Animated ("Matcap", Int) = 0 + [HideInInspector]_Matcap2BorderAnimated ("Border", Int) = 0 + [HideInInspector]_Matcap2MaskAnimated ("Mask", Int) = 0 + [HideInInspector]_Matcap2MaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_Matcap2MaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_Matcap2MaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_Matcap2EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_Matcap2IntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_Matcap2LightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_Matcap2ReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_Matcap2MultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_Matcap2AddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_Matcap2NormalAnimated ("Normal to use", Int) = 0 + + // Specular + [HideInInspector]_EnableSpecularAnimated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularTypeAnimated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTintAnimated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMapAnimated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothnessAnimated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMaskAnimated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFromAnimated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangentAnimated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1AlphaAnimated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2AlphaAnimated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1OffsetAnimated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2SmoothnessAnimated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMapAnimated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMapAnimated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStartAnimated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEndAnimated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColorAnimated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirroredAnimated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroAnimated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplierAnimated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroAnimated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplierAnimated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuterAnimated ("Inner/Outer Edge", Int) = 0 + + // Second Specular + [HideInInspector]_EnableSpecular1Animated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularType1Animated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormal1Animated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTint1Animated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallic1Animated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothness1Animated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMap1Animated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothness1Animated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMask1Animated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFrom1Animated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangent1Animated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1Alpha1Animated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2Alpha1Animated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1Offset1Animated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2Smoothness1Animated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMap1Animated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMap1Animated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStart1Animated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEnd1Animated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColor1Animated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirrored1Animated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1Animated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplier1Animated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1Animated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplier1Animated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuter1Animated ("Inner/Outer Edge", Int) = 0 + + // First Emission + [HideInInspector]_EnableEmissionAnimated ("Enable Emission", Int) = 0 + [HideInInspector]_EmissionReplaceAnimated ("Replace Base Color", Int) = 0 + [HideInInspector]_EmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMapAnimated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMapAnimated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMaskAnimated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabledAnimated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShiftAnimated ("Hue Shift", Int) = 0 + + // Center out emission + [HideInInspector]_EmissionCenterOutEnabledAnimated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeedAnimated ("Flow Speed", Int) = 0 + + // Glow in the dark Emission + [HideInInspector]_EnableGITDEmissionAnimated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMeshAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplierAnimated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplierAnimated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLightAnimated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLightAnimated ("Max Lighting", Int) = 0 + + // Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_MinAnimated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_MaxAnimated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_VelocityAnimated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffsetAnimated ("Offset", Int) = 0 + + // Scrolling Emission + [HideInInspector]_ScrollingEmissionAnimated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurveAnimated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurveAnimated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColorAnimated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_DirectionAnimated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_WidthAnimated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_VelocityAnimated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_IntervalAnimated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffsetAnimated ("Offset", Int) = 0 + + // Second Enission + [HideInInspector]_EnableEmission1Animated ("Enable Emission 2", Int) = 0 + [HideInInspector]_EmissionColor1Animated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMap1Animated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMap1Animated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMask1Animated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrength1Animated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabled1Animated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShift1Animated ("Hue Shift", Int) = 0 + + // Second Center Out Enission + [HideInInspector]_EmissionCenterOutEnabled1Animated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeed1Animated ("Flow Speed", Int) = 0 + + // Second Glow In The Dark Emission + [HideInInspector]_EnableGITDEmission1Animated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMesh1Animated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplier1Animated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplier1Animated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLight1Animated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLight1Animated ("Max Lighting", Int) = 0 + + // Second Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_Min1Animated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_Max1Animated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_Velocity1Animated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffset1Animated ("Offset", Int) = 0 + + // Scrolling Scrolling Emission + [HideInInspector]_ScrollingEmission1Animated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurve1Animated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurve1Animated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColor1Animated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_Direction1Animated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_Width1Animated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_Velocity1Animated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_Interval1Animated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffset1Animated ("Offset", Int) = 0 + + // Flipbook + [HideInInspector]_EnableFlipbookAnimated ("Enable Flipbook", Int) = 0 + [HideInInspector]_FlipbookAlphaControlsFinalAlphaAnimated ("Flipbook Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookIntensityControlsAlphaAnimated ("Intensity Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookColorReplacesAnimated ("Color Replaces Flipbook", Int) = 0 + [HideInInspector]_FlipbookTexArrayAnimated ("Texture Array", Int) = 0 + [HideInInspector]_FlipbookTexArrayUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookTexArrayPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_FlipbookMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookColorAnimated ("Color & alpha", Int) = 0 + [HideInInspector]_FlipbookTotalFramesAnimated ("Total Frames", Int) = 0 + [HideInInspector]_FlipbookFPSAnimated ("FPS", Int) = 0 + [HideInInspector]_FlipbookScaleOffsetAnimated ("Scale | Offset", Int) = 0 + [HideInInspector]_FlipbookTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_FlipbookEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_FlipbookRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_FlipbookRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_FlipbookReplaceAnimated ("Replace", Int) = 0 + [HideInInspector]_FlipbookMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_FlipbookAddAnimated ("Add", Int) = 0 + [HideInInspector]_FlipbookCurrentFrameAnimated ("Current Frame", Int) = 0 + + // Dissolve + [HideInInspector]_EnableDissolveAnimated ("Enable Dissolve", Int) = 0 + [HideInInspector]_DissolveTypeAnimated ("Dissolve Type", Int) = 0 + [HideInInspector]_DissolveEdgeWidthAnimated ("Edge Width", Int) = 0 + [HideInInspector]_DissolveEdgeHardnessAnimated ("Edge Hardness", Int) = 0 + [HideInInspector]_DissolveEdgeColorAnimated ("Edge Color", Int) = 0 + [HideInInspector]_DissolveEdgeGradientAnimated ("Edge Gradient", Int) = 0 + [HideInInspector]_DissolveEdgeEmissionAnimated ("Edge Emission", Int) = 0 + [HideInInspector]_DissolveTextureColorAnimated ("Dissolved Color", Int) = 0 + [HideInInspector]_DissolveToTextureAnimated ("Dissolved Texture", Int) = 0 + [HideInInspector]_DissolveToTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveToTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveToEmissionStrengthAnimated ("Dissolved Emission Strength", Int) = 0 + [HideInInspector]_DissolveNoiseTextureAnimated ("Dissolve Noise", Int) = 0 + [HideInInspector]_DissolveNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailNoiseAnimated ("Dissolve Detail Noise", Int) = 0 + [HideInInspector]_DissolveDetailNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveDetailNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertDetailNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailStrengthAnimated ("Dissolve Detail Strength", Int) = 0 + [HideInInspector]_DissolveAlphaAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveUseVertexColorsAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveMaskAnimated ("Dissolve Mask", Int) = 0 + [HideInInspector]_DissolveMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveMaskInvertAnimated ("Invert?", Int) = 0 + [HideInInspector]_ContinuousDissolveAnimated ("Continuous Dissolve Speed", Int) = 0 + [HideInInspector]_DissolveEmissionSideAnimated ("Emission 1", Int) = 0 + [HideInInspector]_DissolveEmission1SideAnimated ("Emission 2", Int) = 0 + + // Point to Point Dissolve + [HideInInspector]_DissolveP2PWorldLocalAnimated ("World/Local", Int) = 0 + [HideInInspector]_DissolveP2PEdgeLengthAnimated ("Edge Length", Int) = 0 + [HideInInspector]_DissolveStartPointAnimated ("Start Point", Int) = 0 + [HideInInspector]_DissolveEndPointAnimated ("End Point", Int) = 0 + + [HideInInspector]_DissolveAlpha0Animated ("_DissolveAlpha0", Int) = 0 + [HideInInspector]_DissolveAlpha1Animated ("_DissolveAlpha1", Int) = 0 + [HideInInspector]_DissolveAlpha2Animated ("_DissolveAlpha2", Int) = 0 + [HideInInspector]_DissolveAlpha3Animated ("_DissolveAlpha3", Int) = 0 + [HideInInspector]_DissolveAlpha4Animated ("_DissolveAlpha4", Int) = 0 + [HideInInspector]_DissolveAlpha5Animated ("_DissolveAlpha5", Int) = 0 + [HideInInspector]_DissolveAlpha6Animated ("_DissolveAlpha6", Int) = 0 + [HideInInspector]_DissolveAlpha7Animated ("_DissolveAlpha7", Int) = 0 + [HideInInspector]_DissolveAlpha8Animated ("_DissolveAlpha8", Int) = 0 + [HideInInspector]_DissolveAlpha9Animated ("_DissolveAlpha9", Int) = 0 + + // Panosphere + [HideInInspector]_PanoToggleAnimated ("Enable Panosphere", Int) = 0 + [HideInInspector]_PanoInfiniteStereoToggleAnimated ("Infinite Stereo", Int) = 0 + [HideInInspector]_PanosphereColorAnimated ("Color", Int) = 0 + [HideInInspector]_PanosphereTextureAnimated ("Texture", Int) = 0 + [HideInInspector]_PanoMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_PanoMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_PanoMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_PanoEmissionAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_PanoBlendAnimated ("Alpha", Int) = 0 + [HideInInspector]_PanospherePanAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_PanoCubeMapToggleAnimated ("Use Cubemap", Int) = 0 + [HideInInspector]_PanoCubeMapAnimated ("CubeMap", Int) = 0 + + // Glitter + [HideInInspector]_GlitterEnableAnimated ("Enable Glitter?", Int) = 0 + [HideInInspector]_GlitterModeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterShapeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterBlendTypeAnimated ("Blend Mode", Int) = 0 + [HideInInspector]_GlitterColorAnimated ("Color", Int) = 0 + [HideInInspector]_GlitterUseSurfaceColorAnimated ("Use Surface Color", Int) = 0 + [HideInInspector]_GlitterColorMapAnimated ("Glitter Color Map", Int) = 0 + [HideInInspector]_GlitterColorMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterColorMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterTextureAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterRandomRotationAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterFrequencyAnimated ("Glitter Density", Int) = 0 + [HideInInspector]_GlitterJitterAnimated ("Glitter Jitter", Int) = 0 + [HideInInspector]_GlitterSpeedAnimated ("Glitter Wobble Speed", Int) = 0 + [HideInInspector]_GlitterSizeAnimated ("Glitter Size", Int) = 0 + [HideInInspector]_GlitterContrastAnimated ("Glitter Contrast", Int) = 0 + [HideInInspector]_GlitterAngleRangeAnimated ("Glitter Angle Range", Int) = 0 + [HideInInspector]_GlitterMinBrightnessAnimated ("Glitter Min Brightness", Int) = 0 + [HideInInspector]_GlitterBrightnessAnimated ("Glitter Max Brightness", Int) = 0 + [HideInInspector]_GlitterBiasAnimated ("Glitter Bias", Int) = 0 + [HideInInspector]_GlitterCenterSizeAnimated ("center size", Int) = 0 + [HideInInspector]_GlitterTextureRotationAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_glitterFrequencyLinearEmissiveAnimated ("Frequency", Int) = 0 + [HideInInspector]_GlitterJaggyFixAnimated ("Jaggy Fix", Int) = 0 + + // Glitter Random Colors + [HideInInspector]_GlitterRandomColorsAnimated ("Enable", Int) = 0 + [HideInInspector]_GlitterMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_GlitterMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + [HideInInspector]_GlitterRandomSizeAnimated ("random Size Toggle", Int) = 0 + [HideInInspector]_GlitterMinMaxSizeAnimated ("Min Max Random Size", Int) = 0 + + // MSDF OVERLAY + [HideInInspector]_TextGlyphsAnimated ("Font Array", Int) = 0 + [HideInInspector]_TextPixelRangeAnimated ("Pixel Range", Int) = 0 + [HideInInspector]_TextEnabledAnimated ("Text?", Int) = 0 + + // FPS + [HideInInspector]_TextFPSEnabledAnimated ("FPS Text?", Int) = 0 + [HideInInspector]_TextFPSUVAnimated ("FPS UV", Int) = 0 + [HideInInspector]_TextFPSColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextFPSEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextFPSOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextFPSRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextFPSScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextFPSPaddingAnimated ("Padding Reduction", Int) = 0 + + // POSITION + [HideInInspector]_TextPositionEnabledAnimated ("Position Text?", Int) = 0 + [HideInInspector]_TextPositionUVAnimated ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVerticalAnimated ("Vertical?", Int) = 0 + [HideInInspector]_TextPositionColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextPositionEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextPositionOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextPositionRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextPositionScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextPositionPaddingAnimated ("Padding Reduction", Int) = 0 + + // INSTANCE TIME + [HideInInspector]_TextTimeEnabledAnimated ("Time Text?", Int) = 0 + [HideInInspector]_TextTimeUVAnimated ("Time UV", Int) = 0 + [HideInInspector]_TextTimeColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextTimeEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextTimeOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextTimeRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextTimeScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextTimePaddingAnimated ("Padding Reduction", Int) = 0 + + // Mirror Rendering + [HideInInspector]_EnableMirrorOptionsAnimated ("Enable Mirror Options", Int) = 0 + [HideInInspector]_MirrorAnimated ("Show in mirror", Int) = 0 + [HideInInspector]_EnableMirrorTextureAnimated ("Enable Mirror Texture", Int) = 0 + [HideInInspector]_MirrorTextureAnimated ("Mirror Tex", Int) = 0 + [HideInInspector]_MirrorTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MirrorTextureUVAnimated ("UV", Int) = 0 + + // Distance Fade + [HideInInspector]_MainMinAlphaAnimated ("Minimum Alpha", Int) = 0 + [HideInInspector]_MainFadeTextureAnimated ("Fade Mask", Int) = 0 + [HideInInspector]_MainFadeTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainFadeTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_MainDistanceFadeAnimated ("Distance Fade X to Y", Int) = 0 + + // Angular Fade + [HideInInspector]_EnableRandomAnimated ("Enable Angular Fade", Int) = 0 + [HideInInspector]_AngleTypeAnimated ("Angle Type", Int) = 0 + [HideInInspector]_AngleCompareToAnimated ("Model or Vert Positon", Int) = 0 + [HideInInspector]_AngleForwardDirectionAnimated ("Forward Direction", Int) = 0 + [HideInInspector]_CameraAngleMinAnimated ("Camera Angle Min", Int) = 0 + [HideInInspector]_CameraAngleMaxAnimated ("Camera Angle Max", Int) = 0 + [HideInInspector]_ModelAngleMinAnimated ("Model Angle Min", Int) = 0 + [HideInInspector]_ModelAngleMaxAnimated ("Model Angle Max", Int) = 0 + [HideInInspector]_AngleMinAlphaAnimated ("Min Alpha", Int) = 0 + + // UV Distortion + [HideInInspector]_EnableDistortionAnimated ("Enabled?", Int) = 0 + [HideInInspector]_DistortionMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DistortionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DistortionMaskUVAnimated ("Distortion Mask UV", Int) = 0 + [HideInInspector]_DistortionFlowTextureAnimated ("Distortion Texture 1", Int) = 0 + [HideInInspector]_DistortionFlowTexture1Animated ("Distortion Texture 2", Int) = 0 + [HideInInspector]_DistortionStrengthAnimated ("Strength1", Int) = 0 + [HideInInspector]_DistortionStrength1Animated ("Strength2", Int) = 0 + [HideInInspector]_DistortionSpeedAnimated ("Speed1", Int) = 0 + [HideInInspector]_DistortionSpeed1Animated ("Speed2", Int) = 0 + + // Video Options + [HideInInspector]_EnableVideoAnimated ("Enable Video", Int) = 0 + [HideInInspector]_VideoUVNumberAnimated ("Screen UV#", Int) = 0 + [HideInInspector]_VideoTypeAnimated ("Screen Type", Int) = 0 + [HideInInspector]_VideoBacklightAnimated ("Brightness", Int) = 0 + [HideInInspector]_VideoPixelTextureAnimated ("Pixel Texture", Int) = 0 + [HideInInspector]_VideoResolutionAnimated ("Resolution", Int) = 0 + [HideInInspector]_VideoMaskTextureAnimated ("Mask", Int) = 0 + [HideInInspector]_VideoMaskPanningAnimated ("Mask Pan Speed", Int) = 0 + [HideInInspector]_VideoEnableVideoPlayerAnimated ("Enable Video Player", Int) = 0 + [HideInInspector]_VideoPixelateToResolutionAnimated ("Pixelate To Resolution", Int) = 0 + [HideInInspector]_VideoRepeatVideoTextureAnimated ("Clamp To UV", Int) = 0 + [HideInInspector]_VideoPanningAnimated ("Panning Speed", Int) = 0 + [HideInInspector]_VideoTilingAnimated ("Tiling", Int) = 0 + [HideInInspector]_VideoOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_VideoSaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_VideoContrastAnimated ("Contrast boost", Int) = 0 + [HideInInspector]_VideoEnableDebugAnimated ("Enable Debug", Int) = 0 + [HideInInspector]_VideoDebugTextureAnimated ("Video Debug Tex", Int) = 0 + [HideInInspector]_VideoCRTRefreshRateAnimated ("Refresh Rate", Int) = 0 + [HideInInspector]_VideoCRTPixelEnergizedTimeAnimated ("Pixel Fade Time", Int) = 0 + [HideInInspector]_VideoGameboyRampAnimated ("Color Ramp", Int) = 0 + + // TouchFX + [HideInInspector]_EnableBulgeAnimated ("Bulge", Int) = 0 + [HideInInspector]_BulgeMaskAnimated ("Bulge Mask", Int) = 0 + [HideInInspector]_BuldgeFadeLengthAnimated ("Touch Distance", Int) = 0 + [HideInInspector]_BuldgeHeightAnimated ("Bulge Height", Int) = 0 + + [HideInInspector]_EnableTouchGlowAnimated ("Enable Touch Glow", Int) = 0 + [HideInInspector]_DepthGradientTextureUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientBlendAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientPanAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientUVAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskPanAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGlowColorAnimated ("Depth Glow Color", Int) = 0 + [HideInInspector]_DepthGradientAnimated ("Depth Gradient", Int) = 0 + [HideInInspector]_DepthMaskAnimated ("Depth Mask", Int) = 0 + [HideInInspector]_DepthGlowEmissionAnimated ("Depth Glow Emission", Int) = 0 + [HideInInspector]_FadeLengthAnimated ("Fade Length", Int) = 0 + [HideInInspector]_DepthAlphaMinAnimated ("Alpha Min", Int) = 0 + [HideInInspector]_DepthAlphaMaxAnimated ("Alpha Max", Int) = 0 + + // Hologram + [HideInInspector]_EnableHoloAnimated ("Enable Hologram Alpha", Int) = 0 + [HideInInspector]_HoloAlphaMapAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_HoloCoordinateSpaceAnimated ("Coordinate Space", Int) = 0 + [HideInInspector]_HoloDirectionAnimated ("Scroll Direction", Int) = 0 + [HideInInspector]_HoloLineDensityAnimated ("Line Density", Int) = 0 + [HideInInspector]_HoloScrollSpeedAnimated ("Scroll Speed", Int) = 0 + [HideInInspector]_HoloFresnelAlphaAnimated ("Intensity", Int) = 0 + [HideInInspector]_HoloRimSharpnessAnimated ("Sharpness", Int) = 0 + [HideInInspector]_HoloRimWidthAnimated ("Width", Int) = 0 + + // GrabPass + [HideInInspector]_GrabPassUseAlphaAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabPassBlendFactorAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabSrcBlendAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabDstBlendAnimated ("Destination Blend", Int) = 0 + [HideInInspector]_RefractionEnabledAnimated ("Enable Refraction,", Int) = 0 + [HideInInspector]_RefractionIndexAnimated ("Refraction", Int) = 0 + [HideInInspector]_RefractionChromaticAberattionAnimated ("Chromatic Aberration", Int) = 0 + [HideInInspector]_EnableBlurAnimated ("Enable Blur", Int) = 0 + [HideInInspector]_GrabBlurDistanceAnimated ("Blur Distance", Int) = 0 + [HideInInspector]_GrabBlurQualityAnimated ("Blur Quality", Int) = 0 + [HideInInspector]_GrabBlurDirectionsAnimated ("Blur Direction", Int) = 0 + + // Iridescence + [HideInInspector]_EnableIridescenceAnimated ("Enable Iridescence", Int) = 0 + [HideInInspector]_IridescenceRampAnimated ("Ramp", Int) = 0 + [HideInInspector]_IridescenceNormalToggleAnimated ("Custom Normals?", Int) = 0 + [HideInInspector]_IridescenceNormalMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_IridescenceMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_IridescenceNormalIntensityAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_IridescenceNormalUVAnimated ("Normal UV", Int) = 0 + [HideInInspector]_IridescenceMaskUVAnimated ("Mask UV", Int) = 0 + [HideInInspector]_IridescenceNormalSelectionAnimated ("Normal Select", Int) = 0 + [HideInInspector]_IridescenceIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_IridescenceAddBlendAnimated ("Blend Add", Int) = 0 + [HideInInspector]_IridescenceReplaceBlendAnimated ("Blend Replace", Int) = 0 + [HideInInspector]_IridescenceMultiplyBlendAnimated ("Blend Multiply", Int) = 0 + [HideInInspector]_IridescenceEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_IridescenceTimeAnimated ("When To Run", Int) = 0 + + // Vertex Glitching + [HideInInspector]_EnableVertexGlitchAnimated ("Enable Vertex Glitching", Int) = 0 + [HideInInspector]_VertexGlitchFrequencyAnimated ("Glitch Interval", Int) = 0 + [HideInInspector]_VertexGlitchThresholdAnimated ("Glitch Threshold", Int) = 0 + [HideInInspector]_VertexGlitchStrengthAnimated ("Glitch Strength", Int) = 0 + + // Spawn In Effects + [HideInInspector]_EnableScifiSpawnInAnimated ("Enable Sci Fi Spawn", Int) = 0 + [HideInInspector]_SpawnInNoiseAnimated ("Spawn Noise", Int) = 0 + [HideInInspector]_SpawnInNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_SpawnInAlphaAnimated ("Spawn Alpha", Int) = 0 + [HideInInspector]_SpawnInGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_SpawnInGradientFinishAnimated ("Gradient End", Int) = 0 + [HideInInspector]_SpawnInEmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_SpawnInEmissionOffsetAnimated ("Emission Width", Int) = 0 + [HideInInspector]_SpawnInVertOffsetAnimated ("Vertex Offset Speed", Int) = 0 + [HideInInspector]_SpawnInVertOffsetOffsetAnimated ("vert width", Int) = 0 + + // Voronoi + [HideInInspector]_VoronoiTypeAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiSpaceAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiBlendAnimated ("Blend", Int) = 0 + [HideInInspector]_EnableVoronoiAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiEffectsMaterialAlphaAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_VoronoiMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseAnimated ("Edge Noise", Int) = 0 + [HideInInspector]_VoronoiNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_VoronoiColor0Animated ("Color 0", Int) = 0 + [HideInInspector]_VoronoiEmission0Animated ("Emission 0", Int) = 0 + [HideInInspector]_VoronoiColor1Animated ("Color 1", Int) = 0 + [HideInInspector]_VoronoiEmission1Animated ("Emission 1", Int) = 0 + [HideInInspector]_VoronoiGradientAnimated ("Gradient", Int) = 0 + [HideInInspector]_VoronoiScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_VoronoiSpeedAnimated ("Speed", Int) = 0 + [HideInInspector]_VoronoiEnableRandomCellColorAnimated ("Rando Cell Col", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + + // Blacklight mask + [HideInInspector]_BlackLightMaskEnabledAnimated ("Black Light Mask Enabled", Int) = 0 + [HideInInspector]_BlackLightMaskKeysAnimated ("Mask Keys", Int) = 0 + [HideInInspector]_BlackLightMaskStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_BlackLightMaskEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_BlackLightMaskDebugAnimated ("Visualize", Int) = 0 + [HideInInspector]_BlackLightMaskMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_BlackLightMaskClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_BlackLightMaskMatcapAnimated ("Matcap 1", Int) = 0 + [HideInInspector]_BlackLightMaskMatcap2Animated ("Matcap 2", Int) = 0 + [HideInInspector]_BlackLightMaskEmissionAnimated ("Emission 1", Int) = 0 + [HideInInspector]_BlackLightMaskEmission2Animated ("Emission 2", Int) = 0 + [HideInInspector]_BlackLightMaskFlipbookAnimated ("Flipbook", Int) = 0 + [HideInInspector]_BlackLightMaskDissolveAnimated ("Dissolve", Int) = 0 + [HideInInspector]_BlackLightMaskPanosphereAnimated ("Panosphere", Int) = 0 + [HideInInspector]_BlackLightMaskGlitterAnimated ("Glitter", Int) = 0 + [HideInInspector]_BlackLightMaskIridescenceAnimated ("Iridescence", Int) = 0 + + // Outline Options + [HideInInspector]_OutlineModeAnimated ("Mode", Int) = 0 + [HideInInspector]_OutlineFixedSizeAnimated ("Fixed Size?", Int) = 0 + [HideInInspector]_OutlineUseVertexColorsAnimated ("V Color", Int) = 0 + [HideInInspector]_OutlineLitAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LineWidthAnimated ("Width", Int) = 0 + [HideInInspector]_LineColorAnimated ("Color", Int) = 0 + [HideInInspector]_OutlineTintMixAnimated ("Tint Mix", Int) = 0 + [HideInInspector]_OutlineEmissionAnimated ("Outline Emission", Int) = 0 + [HideInInspector]_OutlineTextureAnimated ("Outline Texture", Int) = 0 + [HideInInspector]_OutlineMaskAnimated ("Outline Mask", Int) = 0 + [HideInInspector]_OutlineTexturePanAnimated ("Outline Texture Pan", Int) = 0 + [HideInInspector]_OutlineShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_OutlineRimLightBlendAnimated ("Rim Light Blend", Int) = 0 + [HideInInspector]_OutlinePersonaDirectionAnimated ("directional Offset XY", Int) = 0 + [HideInInspector]_OutlineDropShadowOffsetAnimated ("Drop Direction XY", Int) = 0 + [HideInInspector]_OutlineFadeDistanceAnimated ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetFactor ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetUnits ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineCullAnimated ("Cull", Int) = 0 + + // Parallax Mapping + [HideInInspector]_ParallaxMapAnimated ("Enable Parallax FX", Int) = 0 + [HideInInspector]_ParallaxHeightMapEnabledAnimated ("Enable Parallax Height", Int) = 0 + [HideInInspector]_ParallaxInternalMapEnabledAnimated ("Enable Parallax Internal", Int) = 0 + [HideInInspector]_ParallaxHeightMapPanAnimated ("Pan", Int) = 0 + [HideInInspector]_ParallaxUVAnimated ("Parallax UV", Int) = 0 + [HideInInspector]_ParallaxHeightMapAnimated ("Height Map", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxStrengthAnimated ("Parallax Strength", Int) = 0 + [HideInInspector]_ParallaxInternalHeightmapModeAnimated ("Parallax Mode", Int) = 0 + [HideInInspector]_ParallaxInternalHeightFromAlphaAnimated ("HeightFromAlpha", Int) = 0 + [HideInInspector]_ParallaxInternalMapAnimated ("Internal Map", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxInternalIterationsAnimated ("Parallax Internal Iterations", Int) = 0 + [HideInInspector]_ParallaxInternalMinDepthAnimated ("Min Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMaxDepthAnimated ("Max Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMinFadeAnimated ("Min Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMaxFadeAnimated ("Max Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMinColorAnimated ("Min Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalMaxColorAnimated ("Max Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalPanSpeedAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_ParallaxInternalPanDepthSpeedAnimated ("Per Level Speed Multiplier", Int) = 0 + [HideInInspector]_ParallaxBiasAnimated ("Parallax Bias (0.42)", Int) = 0 + + // Rendering Options + [HideInInspector]_CullAnimated ("Cull", Int) = 0 + [HideInInspector]_ZTestAnimated ("ZTest", Int) = 0 + [HideInInspector]_ZWriteAnimated ("ZWrite", Int) = 0 + [HideInInspector]_ColorMaskAnimated ("Color Mask", Int) = 0 + [HideInInspector]_OffsetFactorAnimated ("Offset Factor", Int) = 0 + [HideInInspector]_OffsetUnitsAnimated ("Offset Units", Int) = 0 + [HideInInspector]_IgnoreFogAnimated ("Ignore Fog", Int) = 0 + + // Blending Options + [HideInInspector]_BlendOpAnimated ("RGB Blend Op", Int) = 0 + [HideInInspector]_BlendOpAlphaAnimated ("Alpha Blend Op", Int) = 0 + [HideInInspector]_SrcBlendAnimated ("RGB Source Blend", Int) = 0 + [HideInInspector]_DstBlendAnimated ("RGB Destination Blend", Int) = 0 + + // Stencils + [HideInInspector]_StencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_StencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_StencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_StencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_StencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_StencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_StencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Outline Stencil + [HideInInspector]_OutlineStencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_OutlineStencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_OutlineStencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_OutlineStencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_OutlineStencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_OutlineStencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_OutlineStencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Debug Options + [HideInInspector]_VertexUnwrapAnimated ("Unwrap", Range(0, 1)) = 0 + [HideInInspector]_DebugMeshDataAnimated ("Mesh Data", Int) = 0 + [HideInInspector]_DebugLightingDataAnimated ("Lighting Data", Int) = 0 + [HideInInspector]_DebugCameraDataAnimated ("Camera Data", Int) = 0 + } + + + //originalEditorCustomEditor "PoiToon" + CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "Opaque" "Queue" = "Geometry" } + +// //EnableOutlinePass +// Pass +// { +// Name "Outline" +// Tags { "LightMode" = "ForwardBase" } +// Stencil +// { +// Ref [_OutlineStencilRef] +// ReadMask [_OutlineStencilReadMask] +// WriteMask [_OutlineStencilWriteMask] +// Comp [_OutlineStencilCompareFunction] +// Pass [_OutlineStencilPassOp] +// Fail [_OutlineStencilFailOp] +// ZFail [_OutlineStencilZFailOp] +// } +// ZTest [_ZTest] +// ColorMask [_ColorMask] +// Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits] +// BlendOp [_BlendOp], [_BlendOpAlpha] +// Blend [_SrcBlend] [_DstBlend] +// ZWrite [_ZWrite] +// AlphaToMask [_AlphaToMask] +// Cull [_OutlineCull] +// CGPROGRAM +// +// #pragma target 5.0 +// #define FORWARD_BASE_PASS +// #define OUTLINE +// float _Mode; +// // patreon Additive +// // Black Light Mask +//// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF +// // voronoi +//// #pragma shader_feature CHROMATIC_ABERRATION +// // UV Distortion +//// #pragma shader_feature USER_LUT +// // Vertex Offsets +//// #pragma shader_feature AUTO_EXPOSURE +// // Mirror +//// #pragma shader_feature _REQUIRE_UV2 +// // Random +//// #pragma shader_feature _SUNDISK_NONE +// // Dissolve +//// #pragma shader_feature DISTORT +// // Lighting +//// #pragma shader_feature VIGNETTE_MASKED +// #pragma multi_compile_fwdbase +// #pragma fragmentoption ARB_precision_hint_fastest +// #pragma multi_compile_fog +// #pragma multi_compile_instancing +// #pragma vertex vert +// #pragma fragment frag +// #include "../Includes/CGI_PoiPassOutline.cginc" +// ENDCG +// +// } + //EnableOutlinePass + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + + ZWrite [_ZWrite] + Cull [_Cull] + AlphaToMask [_AlphaToMask] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend] + + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_BASE_PASS + float _Mode; + // Base Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + #pragma multi_compile _ VERTEXLIGHT_ON + // patreon Base + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Grab Pass Blur +// #pragma shader_feature CHROMATIC_ABERRATION_LOW + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Touch Color +// #pragma shader_feature GRAIN + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma multi_compile_instancing + #pragma multi_compile_fwdbase + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile_fog + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + + //LightingAdditiveEnable + Pass + { + Name "ForwardAddPass" + Tags { "LightMode" = "ForwardAdd" } + + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend One One + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_ADD_PASS + float _Mode; + // Add Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + // patreon Additive + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW +// #pragma shader_feature _PARALLAX_MAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Disable Directionals +// #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + + #pragma multi_compile_instancing + #pragma multi_compile_fwdadd_fullshadows + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + //LightingAdditiveEnable + + //LightingCastShadows + Pass + { + Name "ShadowCasterPass" + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + AlphaToMask Off + ZWrite [_ZWrite] + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_SHADOW + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Dissolve +// #pragma shader_feature DISTORT + #pragma multi_compile_instancing + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + #include "../Includes/CGI_PoiPassShadow.cginc" + ENDCG + + } + //LightingCastShadows + + Pass + { + Tags { "LightMode" = "Meta" } + Cull Off + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_META_PASS + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta new file mode 100644 index 00000000..60f02aac --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_Default_Face_02-14a945a8/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: efbf84fdfae9b9b4fa5dcd2a96c2d83e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0.meta new file mode 100644 index 00000000..7ad96067 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eeb1a1a41da9c184493085a1e98b4737 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets.meta new file mode 100644 index 00000000..7f8d4109 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9a1df947915424d448a46bc3d5f089b9 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources.meta new file mode 100644 index 00000000..302fb44d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe6294a41639f364599d639f1c8dbef2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi.meta new file mode 100644 index 00000000..99ca05c2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c71658d4d9feac64bbf268864aa616c4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders.meta new file mode 100644 index 00000000..2c277f1b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19ac4b48c69f5a3489e07ae6d0404f7c +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon.meta new file mode 100644 index 00000000..2cfb8617 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: eac90b0fd39013f4c9ebae7065f7c7b8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta new file mode 100644 index 00000000..d8746f09 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 571601105c7ad5e48b04bccd56814bab +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc new file mode 100644 index 00000000..7a3f6a9a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc @@ -0,0 +1,32 @@ +#ifndef POI_ALPHA_TO_COVERAGE + #define POI_ALPHA_TO_COVERAGE + + half _MainMipScale; + float _MainAlphaToCoverage; + + float CalcMipLevel(float2 texture_coord) + { + float2 dx = ddx(texture_coord); + float2 dy = ddy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + + return 0.5 * log2(delta_max_sqr); + } + + void ApplyAlphaToCoverage(inout float4 finalColor) + { + // Force Model Opacity to 1 if desired + + if (float(0) == 1) + { + + if(float(0)) + { + // rescale alpha by mip level + finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.001953125,0.001953125,512,512).zw)) * float(0.25); + // rescale alpha by partial derivative + finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta new file mode 100644 index 00000000..d7913f27 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 060c271d6f7a9b248babd2db4141b584 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc new file mode 100644 index 00000000..e529136f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc @@ -0,0 +1,32 @@ +#ifndef POI_BACKFACE + #define POI_BACKFACE + + float _BackFaceEnabled; + float _BackFaceTextureUV; + float _BackFaceDetailIntensity; + float _BackFaceEmissionStrength; + float2 _BackFacePanning; + float _BackFaceHueShift; + float4 _BackFaceColor; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST; + + float3 BackFaceColor; + void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission) + { + backFaceEmission = 0; + BackFaceColor = 0; + + if (float(0)) + { + if(!poiMesh.isFrontFace) + { + albedo = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + backFaceDetailIntensity = float(1); + BackFaceColor = albedo.rgb; + mixedHueShift = float(0); + backFaceEmission = BackFaceColor * float(0); + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta new file mode 100644 index 00000000..ff65afff --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 24047c2c9ce008e4f9e3302a6bde61b3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc new file mode 100644 index 00000000..750364ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc @@ -0,0 +1,54 @@ +#ifndef POI_BLACKLIGHT + #define POI_BLACKLIGHT + + float4 _BlackLightMaskStart; + float4 _BlackLightMaskEnd; + float4 _BlackLightMaskKeys; + float _BlackLightMaskDebug; + float _BlackLightMaskDissolve; + float _BlackLightMaskMetallic; + float _BlackLightMaskClearCoat; + float _BlackLightMaskMatcap; + float _BlackLightMaskMatcap2; + float _BlackLightMaskEmission; + float _BlackLightMaskEmission2; + float _BlackLightMaskFlipbook; + float _BlackLightMaskPanosphere; + float _BlackLightMaskIridescence; + + half _BlackLightMaskGlitter; + + half4 blackLightMask; + + void createBlackLightMask() + { + blackLightMask = 0; + #ifdef VERTEXLIGHT_ON + + for (int lightIndex = 0; lightIndex < 4; lightIndex ++) + { + float3 lightPos = float3(unity_4LightPosX0[lightIndex], unity_4LightPosY0[lightIndex], unity_4LightPosZ0[lightIndex]); + if (!distance(unity_LightColor[lightIndex].rgb, float3(0, 0, 0))) + { + for (int maskIndex = 0; maskIndex < 4; maskIndex ++) + { + float4 comparison = _BlackLightMaskKeys; + if(unity_LightColor[lightIndex].a == comparison[maskIndex]) + { + blackLightMask[maskIndex] = max(blackLightMask[maskIndex], smoothstep(_BlackLightMaskEnd[maskIndex], _BlackLightMaskStart[maskIndex], distance(poiMesh.worldPos, lightPos))); + } + } + } + } + #endif + } +#endif + +/* +#ifdef POI_BLACKLIGHT + if (_BlackLightMaskDissolve != 4) + { + blackLightMask[mask]; + } +#endif +*/ diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta new file mode 100644 index 00000000..e52b6a19 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 86ad53ee5cc6dfd43ab94c41eb1643d6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc new file mode 100644 index 00000000..f87ae6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc @@ -0,0 +1,39 @@ +#ifndef POI_BLENDING + #define POI_BLENDING + + /* + 0: Zero float4(0.0, 0.0, 0.0, 0.0), + 1: One float4(1.0, 1.0, 1.0, 1.0), + 2: DstColor destinationColor, + 3: SrcColor sourceColor, + 4: OneMinusDstColor float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + 5: SrcAlpha sourceColor.aaaa, + 6: OneMinusSrcColor float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + 7: DstAlpha destinationColor.aaaa, + 8: OneMinusDstAlpha float4(1.0, 1.0, 1.0, 1.0) - destinationColor., + 9: SrcAlphaSaturate saturate(sourceColor.aaaa), + 10: OneMinusSrcAlpha float4(1.0, 1.0, 1.0, 1.0) - sourceColor.aaaa, + */ + + float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor) + { + float4 sA = 1-blendFactor; + const float4 blendData[11] = { + float4(0.0, 0.0, 0.0, 0.0), + float4(1.0, 1.0, 1.0, 1.0), + destinationColor, + sourceColor, + float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sA, + saturate(sourceColor.aaaa), + 1 - sA, + }; + + return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor,sourceColor, sA); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta new file mode 100644 index 00000000..4ae5f3a9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2800d7b317556674b99086fb4bb56654 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc new file mode 100644 index 00000000..6e4db3fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc @@ -0,0 +1,34 @@ +#ifndef POI_BULGE + #define POI_BULGE + + + sampler2D _BulgeMask; + float _BuldgeFadeLength; + float _BuldgeHeight; + + void bulgyWolgy(inout v2f o) + { + float depth = DecodeFloatRG(tex2Dlod(_CameraDepthTexture, float4(o.grabPos.xy / o.grabPos.w, 0, 0))); + float bulgeMask = tex2Dlod(_BulgeMask, float4(o.uv0.xy, 0, 0)); + depth = Linear01Depth(depth); + + float intersect = 0; + if (depth != 1) + { + float diff = distance(depth, Linear01Depth(o.pos.z / o.pos.w)); + if(diff > 0) + { + intersect = 1 - smoothstep(0, _ProjectionParams.w * _BuldgeFadeLength, diff); + } + } + float4 offset = intersect * _BuldgeHeight * float4(o.normal, 0); + + offset = IsInMirror() ? 0: offset; + offset *= bulgeMask; + + o.worldPos = mul(unity_ObjectToWorld, o.localPos) + offset; + o.localPos = mul(unity_WorldToObject, o.worldPos); + o.pos = UnityObjectToClipPos(o.localPos); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta new file mode 100644 index 00000000..5c41a76e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 61b90255e8aa3d244963bd762a6b9b1b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc new file mode 100644 index 00000000..5adf7340 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc @@ -0,0 +1,108 @@ +#ifndef POI_CLEARCOAT + #define POI_CLEARCOAT + + samplerCUBE _ClearCoatCubeMap; + float _ClearCoatSampleWorld; + POI_TEXTURE_NOSAMPLER(_ClearCoatMask); + POI_TEXTURE_NOSAMPLER(_ClearCoatSmoothnessMap); + float _ClearCoatInvertSmoothness; + float _ClearCoat; + float _ClearCoatSmoothness; + float3 _ClearCoatTint; + float _ClearCoatNormalToUse; + float _ClearCoatForceLighting; + float lighty_clear_boy_uwu_var; + + + float3 CalculateClearCoatEnvironmentalReflections() + { + float3 reflectionColor; + + float smoothnessMap = (POI2D_SAMPLER_PAN(_ClearCoatSmoothnessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + if (float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + float roughness = 1 - smoothnessMap; + + lighty_clear_boy_uwu_var = 0; + + float3 reflectedDir = float(0) == 0 ? poiCam.vertexReflectionDir: poiCam.reflectionDir; + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + + + if(float(0) == 0 && no_probe == 0) + { + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflectionColor = lerp(probe1, probe0, interpolator); + } + else + { + reflectionColor = probe0; + } + } + else + { + lighty_clear_boy_uwu_var = 1; + reflectionColor = texCUBElod(_ClearCoatCubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + if(float(0)) + { + lighty_clear_boy_uwu_var = 1; + } + + return reflectionColor * float4(1,1,1,1); + } + + void calculateAndApplyClearCoat(inout float4 finalColor) + { + half clearCoatMap = POI2D_SAMPLER_PAN(_ClearCoatMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskClearCoat != 4) + { + clearCoatMap *= blackLightMask[_BlackLightMaskClearCoat]; + } + #endif + + half3 reflectionColor = CalculateClearCoatEnvironmentalReflections(); + + float NormalDotView = abs(dot(float(1), float(0) == 0 ? poiLight.N0DotV: poiLight.nDotV).r); + #ifdef POI_LIGHTING + finalColor.rgb = lerp(finalColor.rgb, reflectionColor * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var), clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + //finalColor.rgb += reflectionColor; + //finalColor.rgb = finalColor.rgb * (1- (reflectionColor.r + reflectionColor.g + reflectionColor.b)/3) + reflectionColor * clearCoatMap * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var); + #else + finalColor.rgb = lerp(finalColor.rgb, reflectionColor, clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta new file mode 100644 index 00000000..05bac922 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9f79172aea608ab4282793852541751a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc new file mode 100644 index 00000000..687dc443 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc @@ -0,0 +1,262 @@ +#ifndef POI_COLOR + #define POI_COLOR + + #ifndef pi + #define pi float(3.14159265359) + #endif + + static const float Epsilon = 1e-10; + // The weights of RGB contributions to luminance. + // Should sum to unity. + static const float3 HCYwts = float3(0.299, 0.587, 0.114); + static const float HCLgamma = 3; + static const float HCLy0 = 100; + static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5 + static const float3 wref = float3(1.0, 1.0, 1.0); + #define TAU 6.28318531 + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 RGBtoHCV(in float3 RGB) + { + // Based on work by Sam Hocevar and Emil Persson + float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0); + float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx); + float C = Q.x - min(Q.w, Q.y); + float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z); + return float3(H, C, Q.x); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float3 RGBtoHSV(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float S = HCV.y / (HCV.z + Epsilon); + return float3(HCV.x, S, HCV.z); + } + + float3 HSLtoRGB(in float3 HSL) + { + float3 RGB = HUEtoRGB(HSL.x); + float C = (1 - abs(2 * HSL.z - 1)) * HSL.y; + return(RGB - 0.5) * C + HSL.z; + } + + float3 RGBtoHSL(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float L = HCV.z - HCV.y * 0.5; + float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon); + return float3(HCV.x, S, L); + } + + float3 HCYtoRGB(in float3 HCY) + { + + + float3 RGB = HUEtoRGB(HCY.x); + float Z = dot(RGB, HCYwts); + if (HCY.z < Z) + { + HCY.y *= HCY.z / Z; + } + else if(Z < 1) + { + HCY.y *= (1 - HCY.z) / (1 - Z); + } + return(RGB - Z) * HCY.y + HCY.z; + } + + float3 RGBtoHCY(in float3 RGB) + { + // Corrected by David Schaeffer + float3 HCV = RGBtoHCV(RGB); + float Y = dot(RGB, HCYwts); + float Z = dot(HUEtoRGB(HCV.x), HCYwts); + if (Y < Z) + { + HCV.y *= Z / (Epsilon + Y); + } + else + { + HCV.y *= (1 - Z) / (Epsilon + 1 - Y); + } + return float3(HCV.x, HCV.y, Y); + } + + float3 HCLtoRGB(in float3 HCL) + { + float3 RGB = 0; + if(HCL.z != 0) + { + float H = HCL.x; + float C = HCL.y; + float L = HCL.z * HCLmaxL; + float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0)); + float U = (2 * L - C) / (2 * Q - 1); + float V = C / Q; + float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2; + float T; + H *= 6; + if(H <= 0.999) + { + T = tan(A); + RGB.r = 1; + RGB.g = T / (1 + T); + } + else if(H <= 1.001) + { + RGB.r = 1; + RGB.g = 1; + } + else if(H <= 2) + { + T = tan(A); + RGB.r = (1 + T) / T; + RGB.g = 1; + } + else if(H <= 3) + { + T = tan(A); + RGB.g = 1; + RGB.b = 1 + T; + } + else if(H <= 3.999) + { + T = tan(A); + RGB.g = 1 / (1 + T); + RGB.b = 1; + } + else if(H <= 4.001) + { + RGB.g = 0; + RGB.b = 1; + } + else if(H <= 5) + { + T = tan(A); + RGB.r = -1 / T; + RGB.b = 1; + } + else + { + T = tan(A); + RGB.r = 1; + RGB.b = -T; + } + RGB = RGB * V + U; + } + return RGB; + } + + float3 RGBtoHCL(in float3 RGB) + { + float3 HCL; + float H = 0; + float U = min(RGB.r, min(RGB.g, RGB.b)); + float V = max(RGB.r, max(RGB.g, RGB.b)); + float Q = HCLgamma / HCLy0; + HCL.y = V - U; + if(HCL.y != 0) + { + H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi; + Q *= U / V; + } + Q = exp(Q); + HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6); + HCL.y *= Q; + HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2); + return HCL; + } + + //HSL MODIFT + float3 ModifyViaHSL(float3 color, float3 HSLMod) + { + float3 colorHSL = RGBtoHSL(color); + colorHSL.r = frac(colorHSL.r + HSLMod.r); + colorHSL.g = saturate(colorHSL.g + HSLMod.g); + colorHSL.b = saturate(colorHSL.b + HSLMod.b); + return HSLtoRGB(colorHSL); + } + + float3 hueShift(float3 col, float hueAdjust) + { + hueAdjust *= 2 * pi; + const float3 k = float3(0.57735, 0.57735, 0.57735); + half cosAngle = cos(hueAdjust); + return col * cosAngle + cross(k, col) * sin(hueAdjust) + k * dot(k, col) * (1.0 - cosAngle); + } + + float3 poiSaturation(float3 In, float Saturation) + { + float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750)); + return luma.xxx + Saturation.xxx * (In - luma.xxx); + } + // LCH + float xyzF(float t) + { + return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645)); + } + float xyzR(float t) + { + return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655)); + } + float3 rgb2lch(in float3 c) + { + c = mul(float3x3(0.4124, 0.3576, 0.1805, + 0.2126, 0.7152, 0.0722, + 0.0193, 0.1192, 0.9505), c); + c.x = xyzF(c.x / wref.x); + c.y = xyzF(c.y / wref.y); + c.z = xyzF(c.z / wref.z); + float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z)); + return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y)); + } + + float3 lch2rgb(in float3 c) + { + c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y); + + float lg = 1. / 116. * (c.x + 16.); + float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y), + wref.y * xyzR(lg), + wref.z * xyzR(lg - 0.005 * c.z)); + + float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986, + - 0.9689, 1.8758, 0.0415, + 0.0557, -0.2040, 1.0570), xyz); + + return rgb; + } + + //cheaply lerp around a circle + float lerpAng(in float a, in float b, in float x) + { + float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi; + return ang * x + b; + } + + //Linear interpolation between two colors in Lch space + float3 lerpLch(in float3 a, in float3 b, in float x) + { + float hue = lerpAng(a.z, b.z, x); + return float3(lerp(b.xy, a.xy, x), hue); + } + + float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha) + { + return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha)); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta new file mode 100644 index 00000000..a6873b1a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ef1d5432d10e53540a7376ce169dc974 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc new file mode 100644 index 00000000..cd354f85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc @@ -0,0 +1,249 @@ +#ifndef POI_DATA + #define POI_DATA + + float _ParallaxBias; + float _LightingAdditiveLimitIntensity; + float _LightingAdditiveMaxIntensity; + POI_TEXTURE_NOSAMPLER(_BumpMap); + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailMask); + POI_TEXTURE_NOSAMPLER(_DetailNormalMap); + float _DetailNormalMapScale; + #endif + float _BumpScale; + + void calculateAttenuation(v2f i) + { + #ifdef FORWARD_ADD_PASS + #if defined(POINT) || defined(SPOT) + POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz) + poiLight.additiveShadow = shadow; + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + poiLight.additiveShadow == 0; + #endif + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + // fix for rare bug where light atten is 0 when there is no directional light in the scene + #ifdef FORWARD_BASE_PASS + if (all(_LightColor0.rgb == 0.0)) + { + attenuation = 1.0; + } + #endif + #endif + poiLight.attenuation = attenuation; + } + + void calculateVertexLightingData(in v2f i) + { + #ifdef VERTEXLIGHT_ON + float4 toLightX = unity_4LightPosX0 - i.worldPos.x; + float4 toLightY = unity_4LightPosY0 - i.worldPos.y; + float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z; + float4 lengthSq = 0; + lengthSq += toLightX * toLightX; + lengthSq += toLightY * toLightY; + lengthSq += toLightZ * toLightZ; + + float4 lightAttenSq = unity_4LightAtten0; + float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq); + float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25)); + poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight); + + poiLight.vDotNL = 0; + poiLight.vDotNL += toLightX * poiMesh.normals[1].x; + poiLight.vDotNL += toLightY * poiMesh.normals[1].y; + poiLight.vDotNL += toLightZ * poiMesh.normals[1].z; + + float4 corr = rsqrt(lengthSq); + poiLight.vDotNL = max(0, poiLight.vDotNL * corr); + poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL; + + for (int index = 0; index < 4; index ++) + { + poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]); + + float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos; + poiLight.vDirection[index] = normalize(vertexToLightSource); + //poiLight.vAttenuationDotNL[index] = 1.0 / (1.0 + unity_4LightAtten0[index] * poiLight.vDotNL[index]); + poiLight.vColor[index] = unity_LightColor[index].rgb; + + if (float(0) == 1) + { + float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b)); + poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1))); + } + poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir); + poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]); + poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1); + + #ifdef POI_VAR_DOTLH + poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index])); + #endif + + #ifdef POI_VAR_DOTNH + poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index])); + #endif + } + #endif + } + + void calculateLightingData(in v2f i) + { + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb; + poiLight.color = magic + normalLight; + #else + #ifdef FORWARD_ADD_PASS + poiLight.color = _LightColor0.rgb; + + + if (float(0) == 1) + { + float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b)); + poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1))); + } + #endif + #endif + + #ifdef FORWARD_BASE_PASS + poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + #else + #if defined(POINT) || defined(SPOT) + poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #else + poiLight.direction = _WorldSpaceLightPos0; + #endif + #endif + + poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); + + #ifdef POI_VAR_DOTNH + poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir)); + #endif + + #ifdef POI_VAR_DOTLH + poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir)); + #endif + + poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir); + poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir); + poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); + poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); + poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); + poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); + } + + float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) + { + return cross(normal, tangent.xyz) * (binormalSign * unity_WorldTransformParams.w); + } + + void InitializeMeshData(inout v2f i, uint facing) + { + poiMesh.isFrontFace = facing; + poiMesh.normals[0] = normalize(i.normal); + poiMesh.binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + poiMesh.tangent = i.tangent.xyz; + + #ifndef OUTLINE + if(!poiMesh.isFrontFace) + { + poiMesh.normals[0] *= -1; + poiMesh.tangent *= -1; + poiMesh.binormal *= -1; + } + #endif + + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + poiMesh.barycentricCoordinates = i.barycentricCoordinates; + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + #ifdef POI_UV_DISTORTION + poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy); + #else + poiMesh.uv[4] = poiMesh.uv[0]; + #endif + + poiMesh.vertexColor = i.vertexColor; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + poiMesh.lightmapUV = i.lightmapUV; + #endif + poiMesh.modelPos = i.modelPos; + + #ifdef FUR + poiMesh.furAlpha = i.furAlpha; + #endif + } + + void initializeCamera(v2f i) + { + poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); + poiCam.forwardDir = getCameraForward(); + poiCam.worldPos = _WorldSpaceCameraPos; + poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos); + poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); + poiCam.grabPos = i.grabPos; + poiCam.screenUV = calcScreenUVs(i.grabPos); + poiCam.clipPos = i.pos; + #if defined(GRAIN) + poiCam.worldDirection = i.worldDirection; + #endif + + poiCam.tangentViewDir = normalize(i.tangentViewDir); + poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42)); + } + + void calculateTangentData() + { + poiTData.tangentTransform = float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0]); + poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0])); + } + + void CalculateReflectionData() + { + #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON) + poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); + poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); + #endif + } + + void calculateNormals(inout half3 detailMask) + { + half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + #ifdef FINALPASS + detailMask = POI2D_SAMPLER_PAN(_DetailMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(1) > 0) + { + half3 detailNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_DetailNormalMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1) * detailMask.g); + poiMesh.tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + } + else + { + poiMesh.tangentSpaceNormal = mainNormal; + } + #else + poiMesh.tangentSpaceNormal = mainNormal; + #endif + + #ifdef POI_RGBMASK + calculateRGBNormals(poiMesh.tangentSpaceNormal); + #endif + + poiMesh.normals[1] = normalize( + poiMesh.tangentSpaceNormal.x * poiMesh.tangent + + poiMesh.tangentSpaceNormal.y * poiMesh.binormal + + poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] + ); + + poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1])); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta new file mode 100644 index 00000000..0868f3c6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f8bd5654b0b9bb041bb4b1b1027fd5d8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc new file mode 100644 index 00000000..125d2cd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc @@ -0,0 +1,107 @@ +#ifndef POI_DEBUG + #define POI_DEBUG + + float _DebugEnabled; + float _DebugMeshData; + float _DebugLightingData; + float _DebugCameraData; + + void displayDebugInfo(inout float4 finalColor) + { + + if (float(0) != 0) + { + //Mesh Data + if (float(0) == 1) + { + finalColor.rgb = poiMesh.normals[0]; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiMesh.normals[1]; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiMesh.tangent; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiMesh.binormal; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiMesh.localPos; + return; + } + + #ifdef POI_LIGHTING + if(float(0) == 1) + { + finalColor.rgb = poiLight.attenuation; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiLight.directLighting; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiLight.indirectLighting; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiLight.lightMap; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiLight.rampedLightMap; + return; + } + else if(float(0) == 6) + { + finalColor.rgb = poiLight.finalLighting; + return; + } + else if(float(0) == 7) + { + finalColor.rgb = poiLight.nDotL; + return; + } + #endif + + if(float(0) == 1) + { + finalColor.rgb = poiCam.viewDir; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiCam.tangentViewDir; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiCam.forwardDir; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiCam.worldPos; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiCam.viewDotNormal; + return; + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta new file mode 100644 index 00000000..e4b9e3ef --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0456e9e0e9cf1f74bb9968bdeae5ec53 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc new file mode 100644 index 00000000..280fcbc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc @@ -0,0 +1,58 @@ +#ifndef POI_DECAL + #define POI_DECAL + + POI_TEXTURE_NOSAMPLER(_DecalTexture); + POI_TEXTURE_NOSAMPLER(_DecalMask); + float4 _DecalColor; + fixed _DecalTiled; + fixed _DecalBlendAdd; + fixed _DecalBlendMultiply; + fixed _DecalBlendReplace; + half _DecalRotation; + half2 _DecalScale; + half2 _DecalPosition; + half _DecalRotationSpeed; + float _DecalEmissionStrength; + + void applyDecal(inout float4 albedo, inout float3 decalEmission) + { + float2 uv = poiMesh.uv[float(0)]; + float2 decalCenter = float4(0.5,0.5,0,0); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); + uv = remap(uv, float2(0, 0) - float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float2(0, 0), float2(1, 1)); + + half decalAlpha = 1; + //float2 uv = TRANSFORM_TEX(poiMesh.uv[float(0)], _DecalTexture) + _Time.x * float4(0,0,0,0); + float4 decalColor = POI2D_SAMPLER_PAN(_DecalTexture, _MainTex, uv, float4(0,0,0,0)) * float4(1,1,1,1); + decalAlpha *= POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if (!float(0)) + { + if(uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) + { + decalAlpha = 0; + } + } + + if(float(0)) + { + albedo.rgb = lerp(albedo.rgb, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb *= lerp(1, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb += decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + albedo = saturate(albedo); + decalEmission = decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta new file mode 100644 index 00000000..bfe6fe2b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bb82289e0e6307b40a6b2c8d6453f680 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc new file mode 100644 index 00000000..9b70067a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc @@ -0,0 +1,21 @@ +#ifndef POI_DEFINES + #define POI_DEFINES + + #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) + + #ifdef _SPECGLOSSMAP // Specular + #ifndef POI_VAR_DOTNH + #define POI_VAR_DOTNH + #endif + #ifndef POI_VAR_DOTLH + #define POI_VAR_DOTLH + #endif + #endif + + #ifdef VIGNETTE_MASKED // Lighting + #ifndef POI_VAR_DOTNL + #define POI_VAR_DOTNL + #endif + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta new file mode 100644 index 00000000..4508647b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 04b75f48aac5f414cbedd92d6d5a643d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc new file mode 100644 index 00000000..828460bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc @@ -0,0 +1,112 @@ +#ifndef POI_DEPTH_COLOR + #define POI_DEPTH_COLOR + + float4 _DepthGlowColor; + float _DepthGlowEmission; + float _FadeLength; + float _DepthAlphaMin; + float _DepthAlphaMax; + POI_TEXTURE_NOSAMPLER(_DepthGradient); + POI_TEXTURE_NOSAMPLER(_DepthMask); + float _DepthGradientTextureUV; + float _DepthGradientBlend; + + /* + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, float4 worldDirection, float4 clipPos) + { + float3 touchEmission = 0; + if (!IsInMirror()) + { + float fadeLength = _FadeLength; + fadeLength *= 0.01; + float depth = DecodeFloatRG(tex2Dproj(_CameraDepthTexture, worldDirection)); + depth = Linear01Depth(depth); + if(depth != 1) + { + float diff = distance(depth, Linear01Depth(clipPos.z)); + float intersect = 0; + if(diff > 0) + { + intersect = clamp(1 - smoothstep(0, _ProjectionParams.w * fadeLength, diff), 0, 1); + } + half4 depthGradient = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthGradient, _MainTex, intersect); + half3 depthMask = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthMask, _MainTex, poiMesh.uv[0]); + half3 depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + } + } + depthTouchEmission = touchEmission; + } + */ + + inline float CorrectedLinearEyeDepth(float z, float B) + { + return 1.0 / (z / PM._34 + B); + } + + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, in float4 worldDirection) + { + float3 touchEmission = 0; + float fadeLength = _FadeLength; + fadeLength *= 0.01; + + float perspectiveDivide = 1.0f / poiCam.clipPos.w; + float4 direction = worldDirection * perspectiveDivide; + float2 screenPos = poiCam.grabPos.xy * perspectiveDivide; + float z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenPos); + + #if UNITY_REVERSED_Z + if (z == 0) + #else + if(z == 1) + #endif + return; + + float depth = CorrectedLinearEyeDepth(z, direction.w); + float3 worldpos = direction * depth + _WorldSpaceCameraPos.xyz; + /* + finalColor.rgb = frac(worldpos); + return; + */ + + float diff = distance(worldpos, poiMesh.worldPos); + float intersect = 0; + intersect = clamp(1 - smoothstep(0, fadeLength, diff), 0, 1); + half3 depthMask = POI2D_SAMPLER_PAN(_DepthMask, _MainTex, poiMesh.uv[_DepthMaskUV], _DepthMaskPan); + + half4 depthGradient = 0; + half3 depthColor = 0; + + + if (_DepthGradientTextureUV == 0) + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, float2(intersect, intersect), _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + } + else + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, poiMesh.uv[_DepthGradientUV], _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb * intersect; + } + + + if(_DepthGradientBlend == 0) // rpelace + { + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + } + else if(_DepthGradientBlend == 1) // add + { + finalColor.rgb += depthColor * intersect * depthMask; + } + else if(_DepthGradientBlend == 2) // multiply + { + finalColor.rgb *= lerp(1, depthColor, intersect * depthMask); + } + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect * depthMask); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + + depthTouchEmission = touchEmission; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta new file mode 100644 index 00000000..a95d7a54 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 23f3b002326bf4a4caca86b1921902f6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc new file mode 100644 index 00000000..13175f00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc @@ -0,0 +1,171 @@ +#ifndef POI_DISSOLVE + #define POI_DISSOLVE + + float _DissolveType; + float _DissolveEdgeWidth; + float4 _DissolveEdgeColor; + sampler2D _DissolveEdgeGradient; float4 _DissolveEdgeGradient_ST; + float _DissolveEdgeEmission; + float4 _DissolveTextureColor; + + POI_TEXTURE_NOSAMPLER(_DissolveToTexture); + POI_TEXTURE_NOSAMPLER(_DissolveNoiseTexture); + POI_TEXTURE_NOSAMPLER(_DissolveDetailNoise); + POI_TEXTURE_NOSAMPLER(_DissolveMask); + + float _DissolveMaskInvert; + float _DissolveAlpha; + float _ContinuousDissolve; + float _DissolveDetailStrength; + float _DissolveEdgeHardness; + float _DissolveInvertNoise; + float _DissolveInvertDetailNoise; + float _DissolveToEmissionStrength; + + // Point to Point + float _DissolveP2PWorldLocal; + float _DissolveP2PEdgeLength; + float4 _DissolveStartPoint; + float4 _DissolveEndPoint; + + // World Dissolve + float _DissolveWorldShape; + float4 _DissolveShapePosition; + float4 _DissolveShapeRotation; + float _DissolveShapeScale; + float _DissolveInvertShape; + float _DissolveShapeEdgeLength; + + float _DissolveAlpha0; + float _DissolveAlpha1; + float _DissolveAlpha2; + float _DissolveAlpha3; + float _DissolveAlpha4; + float _DissolveAlpha5; + float _DissolveAlpha6; + float _DissolveAlpha7; + float _DissolveAlpha8; + float _DissolveAlpha9; + + // Masking + float _DissolveEmissionSide; + float _DissolveEmission1Side; + float _DissolveUseVertexColors; + + float4 edgeColor; + float edgeAlpha; + float dissolveAlpha; + float4 dissolveToTexture; + //Globals + + + void calculateDissolve(inout float4 albedo, inout float3 dissolveEmission) + { + + float dissolveMask = POI2D_SAMPLER_PAN(_DissolveMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + + if (float(0)) + { + // Vertex Color Imprecision hype + dissolveMask = ceil(poiMesh.vertexColor.g * 100000) / 100000; + } + + dissolveToTexture = POI2D_SAMPLER_PAN(_DissolveToTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + float dissolveNoiseTexture = POI2D_SAMPLER_PAN(_DissolveNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + float da = float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0); + da = saturate(da); + + float dds = float(0.1); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskDissolve != 4) + { + dissolveMask *= blackLightMask[_BlackLightMaskDissolve]; + } + #endif + + if(float(0)) + { + dissolveMask = 1 - dissolveMask; + } + + float dissolveDetailNoise = POI2D_SAMPLER_PAN(_DissolveDetailNoise, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(0)) + { + dissolveNoiseTexture = 1 - dissolveNoiseTexture; + } + if(float(0)) + { + dissolveDetailNoise = 1 - dissolveDetailNoise; + } + if(float(0) != 0) + { + da = sin(_Time.y * float(0)) * .5 + .5; + } + da *= dissolveMask; + dissolveAlpha = da; + edgeAlpha = 0; + + + if(float(1) == 1) // Basic + { + da = remap(da, 0, 1, -float(0.025), 1); + dissolveAlpha = da; + //Adjust detail strength to avoid artifacts + dds *= smoothstep(1, .99, da); + float noise = saturate(dissolveNoiseTexture - dissolveDetailNoise * dds); + + noise = saturate(noise + 0.001); + //noise = remap(noise, 0, 1, float(0.025), 1 - float(0.025)); + dissolveAlpha = dissolveAlpha >= noise; + edgeAlpha = remapClamped(noise, da + float(0.025), da, 0, 1) * (1 - dissolveAlpha); + } + else if (float(1) == 2) // Point to Point + { + float3 direction; + float3 currentPos; + float distanceTo = 0; + direction = normalize(float4(0,1,0,0) - float4(0,-1,0,0)); + currentPos = lerp(float4(0,-1,0,0), float4(0,1,0,0), dissolveAlpha); + if (float(0) == 0) + { + distanceTo = dot(poiMesh.localPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + else + { + distanceTo = dot(poiMesh.worldPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + } + + albedo = lerp(albedo, dissolveToTexture, dissolveAlpha); + + + if(float(0.025)) + { + edgeColor = tex2D(_DissolveEdgeGradient, TRANSFORM_TEX(float2(edgeAlpha, edgeAlpha), _DissolveEdgeGradient)) * float4(1,1,1,1); + albedo.rgb = lerp(albedo.rgb, edgeColor.rgb, smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + dissolveEmission = lerp(0, dissolveToTexture * float(0), dissolveAlpha) + lerp(0, edgeColor.rgb * float(0), smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta new file mode 100644 index 00000000..04266196 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6efd94f0950a6bc498ba539581eebd1c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc new file mode 100644 index 00000000..91efad39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc @@ -0,0 +1,34 @@ +#ifndef POI_DITHERING + #define POI_DITHERING + fixed _DitheringEnabled; + fixed _DitherGradient; + + half calcDither(half2 grabPos) + { + half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8)); + return dither; + } + + #ifndef POI_SHADOW + void applyDithering(inout float4 finalColor) + { + + if (float(0)) + { + half dither = calcDither(poiCam.screenUV.xy); + finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1)); + } + } + #else + void applyShadowDithering(inout float alpha, float2 screenUV) + { + + if(float(0)) + { + half dither = calcDither(screenUV); + alpha = alpha - (dither * (1 - alpha) * float(0.1)); + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta new file mode 100644 index 00000000..9c481400 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0e01bd353e1c70b49b3c29202dcd1e83 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc new file mode 100644 index 00000000..cff31fe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc @@ -0,0 +1,240 @@ +#ifndef POI_EMISSION + #define POI_EMISSION + + float4 _EmissionColor; + POI_TEXTURE_NOSAMPLER(_EmissionMap); + POI_TEXTURE_NOSAMPLER(_EmissionMask); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve); float4 _EmissionScrollingCurve_ST; + float _EmissionBaseColorAsMap; + float _EmissionStrength; + float _EnableEmission; + float _EmissionHueShift; + float4 _EmissiveScroll_Direction; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissionBlinkingEnabled; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + float _EnableGITDEmission; + float _GITDEMinEmissionMultiplier; + float _GITDEMaxEmissionMultiplier; + float _GITDEMinLight; + float _GITDEMaxLight; + float _GITDEWorldOrMesh; + float _EmissionCenterOutEnabled; + float _EmissionCenterOutSpeed; + float _EmissionHueShiftEnabled; + float _EmissionBlinkingOffset; + float _EmissionScrollingOffset; + + float4 _EmissionColor1; + #ifdef EFFECT_HUE_VARIATION + POI_TEXTURE_NOSAMPLER(_EmissionMap1); + POI_TEXTURE_NOSAMPLER(_EmissionMask1); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve1); float4 _EmissionScrollingCurve1_ST; + #endif + float _EmissionBaseColorAsMap1; + float _EmissionStrength1; + float _EnableEmission1; + float _EmissionHueShift1; + float4 _EmissiveScroll_Direction1; + float _EmissiveScroll_Width1; + float _EmissiveScroll_Velocity1; + float _EmissiveScroll_Interval1; + float _EmissionBlinkingEnabled1; + float _EmissiveBlink_Min1; + float _EmissiveBlink_Max1; + float _EmissiveBlink_Velocity1; + float _ScrollingEmission1; + float _EnableGITDEmission1; + float _GITDEMinEmissionMultiplier1; + float _GITDEMaxEmissionMultiplier1; + float _GITDEMinLight1; + float _GITDEMaxLight1; + float _GITDEWorldOrMesh1; + float _EmissionCenterOutEnabled1; + float _EmissionCenterOutSpeed1; + float _EmissionHueShiftEnabled1; + float _EmissionBlinkingOffset1; + float _EmissionScrollingOffset1; + + float _EmissionReplace; + + float _EmissionScrollingVertexColor; + float _EmissionScrollingVertexColor1; + + float _EmissionScrollingUseCurve; + float _EmissionScrollingUseCurve1; + + float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled) + { + float glowInTheDarkMultiplier = 1; + + if (enabled) + { + #ifdef POI_LIGHTING + float3 lightValue = float(0) ? poiLight.finalLighting.rgb: poiLight.directLighting.rgb; + float gitdeAlpha = (clamp(poiMax(lightValue), minLight, maxLight) - minLight) / (maxLight - minLight); + glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); + #endif + } + return glowInTheDarkMultiplier; + } + + float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) + { + float phase = 0; + phase = dot(position, direction); + phase -= (_Time.y + offset) * velocity; + phase /= interval; + phase -= floor(phase); + phase = saturate(phase); + return(pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; + } + + float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) + { + float amplitude = (blinkMax - blinkMin) * 0.5f; + float base = blinkMin + amplitude; + return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; + } + + float3 calculateEmissionNew(in float4 baseColor, inout float4 finalColor) + { + // First Emission + float3 emission0 = 0; + float emissionStrength0 = float(0); + float3 emissionColor0 = 0; + + float glowInTheDarkMultiplier0 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + else + { + emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + + + if(float(0)) + { + float3 pos = poiMesh.localPos; + + if(float(0)) + { + pos = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve) + (dot(pos, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos); + } + } + + + if(float(0)) + { + emissionStrength0 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor0 = hueShift(emissionColor0, float(0) * float(0)); + float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask) + _Time.x * float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission != 4) + { + emissionMask0 *= blackLightMask[_BlackLightMaskEmission]; + } + #endif + + emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; + emission0 = emissionStrength0 * emissionColor0; + + #ifdef POI_DISSOLVE + + if(float(2) != 2) + { + emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + + // Second Emission + float3 emission1 = 0; + float emissionStrength1 = 0; + float3 emissionColor1 = 0; + + #ifdef EFFECT_HUE_VARIATION + emissionStrength1 = float(0); + float glowInTheDarkMultiplier1 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor1 = POI2D_SAMPLER_PAN(_EmissionMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + else + { + emissionColor1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap1, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)).rgb * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + + + if(float(0)) + { + float3 pos1 = poiMesh.localPos; + + if(float(0)) + { + pos1 = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength1 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve1) + (dot(pos1, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength1 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos1); + } + } + + if(float(0)) + { + emissionStrength1 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor1 = hueShift(emissionColor1, float(0) * float(0)); + float emissionMask1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask1) + _Time.x * float4(0,0,0,0)); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission2 != 4) + { + emissionMask1 *= blackLightMask[_BlackLightMaskEmission2]; + } + #endif + emissionStrength1 *= glowInTheDarkMultiplier1 * emissionMask1; + emission1 = emissionStrength1 * emissionColor1; + + #ifdef POI_DISSOLVE + if(float(2) != 2) + { + emission1 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + #endif + finalColor.rgb = lerp(finalColor.rgb, saturate(emissionColor0 + emissionColor1), saturate(emissionStrength0 + emissionStrength1) * float(0) * poiMax(emission0 + emission1)); + + return emission0 + emission1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta new file mode 100644 index 00000000..9f308cd6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fa54e3d744b3de34d8eb2f3ac43c19e3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc new file mode 100644 index 00000000..1e9188ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc @@ -0,0 +1,43 @@ +#ifndef POI_ENVIRONMENTAL_RIM + #define POI_ENVIRONMENTAL_RIM + + //enviro rim + float _EnableEnvironmentalRim; + POI_TEXTURE_NOSAMPLER(_RimEnviroMask); + float _RimEnviroBlur; + float _RimEnviroMinBrightness; + float _RimEnviroWidth; + float _RimEnviroSharpness; + float _RimEnviroIntensity; + + float3 calculateEnvironmentalRimLighting(in float4 albedo) + { + float enviroRimAlpha = saturate(1 - smoothstep(min(float(0), float(0.45)), float(0.45), poiCam.viewDotNormal)); + float(0.7) *= 1.7 - 0.7 * float(0.7); + + float3 enviroRimColor = 0; + float interpolator = unity_SpecCube0_BoxMin.w; + + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + enviroRimColor = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + enviroRimColor = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + half enviroMask = poiMax(POI2D_SAMPLER_PAN(_RimEnviroMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb); + return lerp(0, max(0, (enviroRimColor - float(0)) * albedo.rgb), enviroRimAlpha).rgb * enviroMask * float(1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta new file mode 100644 index 00000000..4c584d4b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8e5abe673850a7a4981c7a5993863811 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc new file mode 100644 index 00000000..0ed89b59 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc @@ -0,0 +1,153 @@ +#ifndef POI_FLIPBOOK + #define POI_FLIPBOOK + + UNITY_DECLARE_TEX2DARRAY(_FlipbookTexArray); float4 _FlipbookTexArray_ST; + float4 _FlipbookColor; + float _FlipbookFPS; + float _FlipbookTotalFrames; + float4 _FlipbookScaleOffset; + float _FlipbookTiled; + float _FlipbookCurrentFrame; + float _FlipbookEmissionStrength; + float _FlipbookRotation; + float _EnableFlipbook; + float _FlipbookTexArrayUV; + float _FlipbookAlphaControlsFinalAlpha; + float _FlipbookRotationSpeed; + float _FlipbookIntensityControlsAlpha; + float _FlipbookColorReplaces; + float2 _FlipbookTexArrayPan; + + // blending + float _FlipbookReplace; + float _FlipbookMultiply; + float _FlipbookAdd; + POI_TEXTURE_NOSAMPLER(_FlipbookMask); + + // anim + float _FlipbookMovementType; + float4 _FlipbookStartEndOffset; + float _FlipbookMovementSpeed; + + // Global + float4 flipBookPixel; + float4 flipBookPixelMultiply; + float flipBookMask; + + #ifndef POI_SHADOW + + void applyFlipbook(inout float4 finalColor, inout float3 flipbookEmission) + { + flipBookMask = POI2D_SAMPLER_PAN(_FlipbookMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float2 uv = frac(poiMesh.uv[float(0)]); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + // 2d rotation + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + if (float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipBookPixel = 0; + return; + } + } + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + flipBookPixel = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipBookPixel.a = poiMax(flipBookPixel.rgb); + } + + if(float(0)) + { + flipBookPixel.rgb = float4(1,1,1,1).rgb; + } + else + { + flipBookPixel.rgb *= float4(1,1,1,1).rgb; + } + + #ifdef POI_BLACKLIGHT + + if(_BlackLightMaskFlipbook != 4) + { + flipBookMask *= blackLightMask[_BlackLightMaskFlipbook]; + } + #endif + + finalColor.rgb = lerp(finalColor, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * float(1) * flipBookMask); + finalColor.rgb = finalColor + flipBookPixel.rgb * float(0) * flipBookMask; + finalColor.rgb = finalColor * lerp(1, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * flipBookMask * float(0)); + + + if(float(0)) + { + finalColor.a = lerp(finalColor.a, flipBookPixel.a * float4(1,1,1,1).a, flipBookMask); + } + flipbookEmission = lerp(0, flipBookPixel.rgb * float(0), flipBookPixel.a * float4(1,1,1,1).a * flipBookMask); + } + + #else + + float applyFlipbookAlphaToShadow(float2 uv) + { + + if(float(0)) + { + float flipbookShadowAlpha = 0; + + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float theta = radians(float(0)); + + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + half4 flipbookColor = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipbookColor.a = poiMax(flipbookColor.rgb); + } + + + if(float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipbookColor.a = 0; + } + } + return flipbookColor.a * float4(1,1,1,1).a; + } + return 1; + } + + #endif +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta new file mode 100644 index 00000000..abee3952 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 233983690ce9cf842ae0ce61ad258719 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc new file mode 100644 index 00000000..aa950e7d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc @@ -0,0 +1,376 @@ +#ifndef POIFRAG + #define POIFRAG + + float _MainEmissionStrength; + float _IgnoreFog; + half _GIEmissionMultiplier; + float _IridescenceTime; + float _AlphaToMask; + float _ForceOpaque; + float _commentIfZero_EnableGrabpass; + float _AlphaPremultiply; + float2 _MainTexPan; + float _MainTextureUV; + float _commentIfZero_LightingAdditiveEnable; + + float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target + { + #ifdef FORWARD_ADD_PASS + #if !defined(POI_LIGHTING) + return 0; + #endif + #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL) + return 0; + #endif + #endif + #ifdef FORWARD_ADD_PASS + + if (float(1) == 0) + { + return 0; + } + #endif + UNITY_SETUP_INSTANCE_ID(i); + // Color + float4 albedo = 1; + float4 finalColor = 1; + + // Lighting + float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication + float3 finalSpecular0 = 0; + float3 finalSpecular1 = 0; + float3 finalSSS = 0; + fixed lightingAlpha = 1; + float3 finalEnvironmentalRim = 0; + + // Emissions + float3 finalEmission = 0; + float3 finalLighting = 1; + float3 IridescenceEmission = 0; + float3 spawnInEmission = 0; + float3 voronoiEmission = 0; + float3 matcapEmission = 0; + float3 depthTouchEmission = 0; + float3 decalEmission = 0; + float3 glitterEmission = 0; + float3 panosphereEmission = 0; + float3 backFaceEmission = 0; + float3 dissolveEmission = 0; + float3 rimLightEmission = 0; + float3 flipbookEmission = 0; + float3 textOverlayEmission = 0; + float3 videoEmission = 0; + /********************************************************************** + Initialize the base data that's needed everywhere else in the shader + **********************************************************************/ + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + + #ifdef POI_BLACKLIGHT + createBlackLightMask(); + + if (_BlackLightMaskDebug) + { + return float4(blackLightMask.rgb, 1); + } + #endif + + // This has to happen in the initializbecause it alters UV data globally + #ifdef POI_PARALLAX + calculateandApplyParallax(); + #endif + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + calculateVertexLightingData(i); + /********************************************************************** + Calculate Light Maps + **********************************************************************/ + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + /********************************************************************** + Calculate Color Data + **********************************************************************/ + + initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask); + + #ifdef POI_DECAL + applyDecal(albedo, decalEmission); + #endif + + + #ifdef POI_IRIDESCENCE + + if (_IridescenceTime == 0) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VORONOI + applyVoronoi(albedo, voronoiEmission); + #endif + + #ifdef POI_MSDF + ApplyTextOverlayColor(albedo, textOverlayEmission); + #endif + + #ifdef POI_ENVIRONMENTAL_RIM + finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo); + #endif + + #if defined(POI_METAL) || defined(POI_CLEARCOAT) + CalculateReflectionData(); + #endif + + #ifdef POI_DATA + distanceFade(albedo); + #endif + + #ifdef POI_RANDOM + albedo.a *= i.angleAlpha; + #endif + + #ifdef MATCAP + applyMatcap(albedo, matcapEmission); + #endif + + #ifdef PANOSPHERE + applyPanosphereColor(albedo, panosphereEmission); + #endif + + #ifdef POI_FLIPBOOK + applyFlipbook(albedo, flipbookEmission); + #endif + + #ifdef POI_GLITTER + applyGlitter(albedo, glitterEmission); + #endif + + #ifdef POI_RIM + applyRimLighting(albedo, rimLightEmission); + #endif + + #ifdef POI_DEPTH_COLOR + applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection); + #endif + + #ifdef POI_IRIDESCENCE + + if(_IridescenceTime == 1) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VIDEO + applyScreenEffect(albedo, videoEmission); + #endif + + applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos); + + /********************************************************************** + Handle a few alpha options + **********************************************************************/ + + if (float(0) == 1) + { + + if(float(0) == 0) + { + applyDithering(albedo); + } + } + + albedo.a = max(float(0), albedo.a); + + + if(float(0) >= 1) + { + clip(albedo.a - float(0.5)); + } + + + if(float(0)) + { + albedo.rgb *= saturate(albedo.a + 0.0000000001); + } + + /********************************************************************** + Lighting Time :) + **********************************************************************/ + + #ifdef POI_LIGHTING + finalLighting = calculateFinalLighting(albedo.rgb, finalColor); + + #ifdef SUBSURFACE + finalSSS = calculateSubsurfaceScattering(); + #endif + #endif + + float4 finalColorBeforeLighting = albedo; + finalColor = finalColorBeforeLighting; + + #ifdef POI_SPECULAR + finalSpecular0 = calculateSpecular(finalColorBeforeLighting); + #endif + #ifdef POI_PARALLAX + calculateAndApplyInternalParallax(finalColor); + #endif + + #ifdef POI_ALPHA_TO_COVERAGE + ApplyAlphaToCoverage(finalColor); + #endif + + + if (float(0) == 1) + { + + if(float(0) == 1) + { + applyDithering(finalColor); + } + } + + #ifdef POI_METAL + calculateMetallicness(); + bool probeExists = shouldMetalHappenBeforeLighting(); + + if(!probeExists) + { + ApplyMetallicsFake(finalColor, albedo); + } + #endif + + #ifdef POI_LIGHTING + #if defined(FORWARD_ADD_PASS) && defined(POI_METAL) + finalLighting *= 1 - metalicMap; + #endif + #endif + + #ifdef VERTEXLIGHT_ON + finalColor.rgb *= finalLighting + poiLight.vFinalLighting; + #else + finalColor.rgb *= finalLighting; + #endif + + #ifdef POI_METAL + + if(probeExists) + { + ApplyMetallics(finalColor, albedo); + } + #endif + + finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS; + + #ifdef FORWARD_BASE_PASS + #ifdef POI_CLEARCOAT + calculateAndApplyClearCoat(finalColor); + #endif + #endif + + finalColor.a = saturate(finalColor.a); + + /********************************************************************** + Add Up all the emission values :D + **********************************************************************/ + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a; + finalEmission += wireframeEmission; + finalEmission += IridescenceEmission; + finalEmission += spawnInEmission; + finalEmission += voronoiEmission; + finalEmission += matcapEmission; + finalEmission += depthTouchEmission; + finalEmission += decalEmission; + finalEmission += glitterEmission; + finalEmission += panosphereEmission; + finalEmission += backFaceEmission; + finalEmission += rimLightEmission; + finalEmission += flipbookEmission; + finalEmission += videoEmission; + finalEmission += textOverlayEmission; + finalEmission += dissolveEmission; + #ifdef POI_EMISSION + finalEmission += calculateEmissionNew(finalColorBeforeLighting, finalColor); + #endif + #endif + + /********************************************************************** + Meta Pass Hype :D + **********************************************************************/ + #ifdef POI_META_PASS + UnityMetaInput meta; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta); + meta.Emission = finalEmission * float(1); + meta.Albedo = saturate(finalColor.rgb); + #ifdef POI_SPECULAR + meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a; + #else + meta.SpecularColor = poiLight.color.rgb * albedo.rgb; + #endif + return UnityMetaFragment(meta); + #endif + + /********************************************************************** + Apply Emission to finalColor + **********************************************************************/ + finalColor.rgb += finalEmission; + + /********************************************************************** + Grabpass features + **********************************************************************/ + + + if (_commentIfZero_EnableGrabpass) + { + applyGrabEffects(finalColor); + } + + /********************************************************************** + Unity Fog + **********************************************************************/ + #ifdef FORWARD_BASE_PASS + + if (float(0) == 0) + { + UNITY_APPLY_FOG(i.fogCoord, finalColor); + } + #endif + + #ifdef FORWARD_ADD_PASS + if(float(0) > 0) + { + finalColor.rgb *= finalColor.a; + } + #endif + + + if(float(0) == 0) + { + finalColor.a = 1; + } + + #ifdef FORWARD_ADD_PASS + //finalColor.rgb = smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5)); + #endif + + #ifdef POI_DEBUG + displayDebugInfo(finalColor); + #endif + + //finalColor.rgb = frac(finalColor.rgb); + return finalColor; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta new file mode 100644 index 00000000..3ecb2f45 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 267c12ea9b6b8674496710885fb3797b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc new file mode 100644 index 00000000..8d260cdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc @@ -0,0 +1,41 @@ +#ifndef POI_FUR + #define POI_FUR + + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurTexture); float4 _FurTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurHeightMap); float4 _FurHeightMap_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurMask); float4 _FurMask_ST; + float _FurAO; + float4 _FurColor; + float _FurLayers; + float _FurMinDistance; + float _FurMaxDistance; + float _FurHeightMapMin; + float _FurHeightMapMax; + float _FurDebug; + float _AoRampMin; + float _AoRampMax; + float _FurTipAlpha; + float _FurFadeStart; + + //globals + half furHeightMap; + half furMask; + + void calculateFur() + { + + furHeightMap = UNITY_SAMPLE_TEX2D_SAMPLER(_FurHeightMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurHeightMap)).x; + furHeightMap = remap(furHeightMap, 0, _FurHeightMapMax, _FurHeightMapMin, 1); + furMask = poiMax(UNITY_SAMPLE_TEX2D_SAMPLER(_FurMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurMask)).xyz); + half3 furTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_FurTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurTexture)); + clip(furHeightMap - poiMesh.furAlpha); + clip(furMask - poiMesh.furAlpha); + + albedo.rgb = lerp(mainTexture.rgb, furTexture.rgb * _FurColor.rgb, ceil(poiMesh.furAlpha)); + float aoRampMax = _AoRampMax - (1 - furMask); + albedo.rgb *= lerp(1, smoothstep(_AoRampMin, aoRampMax, furHeightMap), _FurAO); + + albedo.a *= smoothstep(1.01, _FurTipAlpha, remapClamped(poiMesh.furAlpha, _FurFadeStart, 1, 0, 1)) + float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta new file mode 100644 index 00000000..ec668848 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2160520e47629fa4cbe711dcd658027b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc new file mode 100644 index 00000000..032f3b08 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc @@ -0,0 +1,37 @@ +float _FurLength; +float _FurGravityStrength; + +[instance(4)] +[maxvertexcount(20)] +void geomFur(triangle v2f IN[3], inout TriangleStream < v2f > tristream, uint InstanceID : SV_GSInstanceID) +{ + float4 fur_worldPos[3]; + v2f o_fur[3]; + float3 offset = (float3(0, -1, 0) * (_FurLength*.9) *_FurGravityStrength); + + for (int i = 0; i < 3; i++) + { + if (InstanceID == 0) { + IN[i].furAlpha = 0; + tristream.Append(IN[i]); + } + o_fur[i] = IN[i]; + fur_worldPos[i] = float4(IN[i].worldPos + IN[i].normal * _FurLength, 1); + } + if (InstanceID == 0) { + tristream.RestartStrip(); + } + int Total_FurLayers = clamp(floor(_FurLayers * (1 - smoothstep(_FurMinDistance, _FurMaxDistance, distance(IN[0].worldPos, getCameraPosition())))), min(1, _FurLayers), _FurLayers); + + int startLayer = max(int(InstanceID) * 6 - 1, 0); + for (int layer = startLayer; layer < Total_FurLayers; layer++) { + for (int i = 0; i < 3; i++) { + o_fur[i].furAlpha = float(layer) / Total_FurLayers; + o_fur[i].worldPos = float4(lerp(IN[i].worldPos, fur_worldPos[i] + offset * o_fur[i].furAlpha, o_fur[i].furAlpha),1); + o_fur[i].pos = UnityWorldToClipPos(o_fur[i].worldPos); + o_fur[i].furAlpha += .01; + tristream.Append(o_fur[i]); + } + tristream.RestartStrip(); + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta new file mode 100644 index 00000000..83bee1f6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e333588fa5bf1cd44835d07f17ddc885 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc new file mode 100644 index 00000000..e31b6498 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc @@ -0,0 +1,232 @@ +#ifndef POI_GLITTER + #define POI_GLITTER + + half3 _GlitterColor; + POI_TEXTURE_NOSAMPLER(_GlitterMask); + float2 _GlitterPan; + POI_TEXTURE_NOSAMPLER(_GlitterColorMap); + POI_TEXTURE_NOSAMPLER(_GlitterTexture); + half _GlitterSpeed; + half _GlitterBrightness; + float _GlitterFrequency; + float _GlitterJitter; + half _GlitterSize; + half _GlitterContrast; + half _GlitterAngleRange; + half _GlitterMinBrightness; + half _GlitterBias; + float _GlitterRandomColors; + float2 _GlitterMinMaxSaturation; + float2 _GlitterMinMaxBrightness; + fixed _GlitterUseSurfaceColor; + float _GlitterBlendType; + float _GlitterMode; + float _GlitterShape; + float _GlitterCenterSize; + float _glitterFrequencyLinearEmissive; + float _GlitterJaggyFix; + float _GlitterRandomRotation; + float _GlitterTextureRotation; + float4 _GlitterMinMaxSize; + float _GlitterRandomSize; + + + float3 randomFloat3(float2 Seed, float maximum) + { + return(.5 + float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) + ) * .5) * (maximum); + } + + float3 randomFloat3Range(float2 Seed, float Range) + { + return(float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1) * Range; + } + + float3 randomFloat3WiggleRange(float2 Seed, float Range) + { + float3 rando = (float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1); + float speed = 1 + float(10); + return float3(sin((_Time.x + rando.x * pi) * speed), sin((_Time.x + rando.y * pi) * speed), sin((_Time.x + rando.z * pi) * speed)) * Range; + } + + void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out) + { + float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233))) * 43758.5453); + Out = lerp(Min, Max, randomno); + } + + float3 RandomColorFromPoint(float2 rando) + { + fixed hue = random2(rando.x + rando.y).x; + fixed saturation = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.x); + fixed value = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.y); + float3 hsv = float3(hue, saturation, value); + return HSVtoRGB(hsv); + } + + void applyGlitter(inout float4 albedo, inout float3 glitterEmission) + { + + + // Scale + float2 st = poiMesh.uv[0] * float(300); + + // Tile the space + float2 i_st = floor(st); + float2 f_st = frac(st); + + float m_dist = 10.; // minimun distance + float2 m_point = 0; // minimum point + float2 randoPoint = 0; + float2 dank; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 neighbor = float2(i, j); + float2 pos = random2(i_st + neighbor); + float2 rando = pos; + pos = 0.5 + 0.5 * sin(float(1) * 6.2831 * pos); + float2 diff = neighbor + pos - f_st; + float dist = length(diff); + + if (dist < m_dist) + { + dank = diff; + m_dist = dist; + m_point = pos; + randoPoint = rando; + } + } + } + + float randomFromPoint = random(randoPoint); + + float size = float(0.3); + + if(float(0)) + { + size = remapClamped(randomFromPoint, 0, 1, float4(0.1,0.5,0,1).x, float4(0.1,0.5,0,1).y); + } + + + // Assign a color using the closest point position + //color += dot(m_point, float2(.3, .6)); + + // Add distance field to closest point center + // color.g = m_dist; + + // Show isolines + //color -= abs(sin(40.0 * m_dist)) * 0.07; + + // Draw cell center + half glitterAlpha = 1; + switch(float(0)) + { + case 0: //circle + glitterAlpha = (1. - step(size, m_dist)); + break; + case 1: //sqaure + float jaggyFix = pow(poiCam.distanceToVert, 2) * float(0); + + + if (float(0)) + { + float2 center = float2(0, 0); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + dank = float2((dank.x - center.x) * cs - (dank.y - center.y) * sn + center.x, (dank.x - center.x) * sn + (dank.y - center.y) * cs + center.y); + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + else + { + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + break; + } + + float3 finalGlitter = 0; + + switch(float(0)) + { + case 0: + float3 randomRotation = 0; + + if(float(10) > 0) + { + randomRotation = randomFloat3WiggleRange(randoPoint, float(90)); + } + else + { + randomRotation = randomFloat3Range(randoPoint, float(90)); + } + float3 norm = poiMesh.normals[0]; + + float3 glitterReflectionDirection = normalize(mul(poiRotationMatrixFromAngles(randomRotation), norm)); + finalGlitter = lerp(0, float(0) * glitterAlpha, glitterAlpha) + max(pow(saturate(dot(lerp(glitterReflectionDirection, poiCam.viewDir, float(0.8)), poiCam.viewDir)), float(300)), 0); + finalGlitter *= glitterAlpha; + break; + case 1: + float offset = random(randoPoint); + float brightness = sin((_Time.x + offset) * float(10)) * float(20) - (float(20) - 1); + finalGlitter = max(float(0) * glitterAlpha, brightness * glitterAlpha * smoothstep(0, 1, 1 - m_dist * float(0.08) * 10)); + break; + } + + + half3 glitterColor = float4(1,1,1,1); + glitterColor *= lerp(1, albedo, float(0)); + glitterColor *= POI2D_SAMPLER_PAN(_GlitterColorMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + + float2 uv = remapClamped(dank, -size, size, 0, 1); + + if(float(0) && !float(0)) + { + float2 fakeUVCenter = float2(.5, .5); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - fakeUVCenter.x) * cs - (uv.y - fakeUVCenter.y) * sn + fakeUVCenter.x, (uv.x - fakeUVCenter.x) * sn + (uv.y - fakeUVCenter.y) * cs + fakeUVCenter.y); + } + float4 glitterTexture = POI2D_SAMPLER_PAN(_GlitterTexture, _MainTex, uv, float4(0,0,0,0)); + //float4 glitterTexture = _GlitterTexture.SampleGrad(sampler_MainTex, frac(uv), ddx(uv), ddy(uv)); + glitterColor *= glitterTexture.rgb; + float glitterMask = POI2D_SAMPLER_PAN(_GlitterMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskGlitter != 4) + { + glitterMask *= blackLightMask[_BlackLightMaskGlitter]; + } + #endif + + if(float(0)) + { + glitterColor *= RandomColorFromPoint(random2(randoPoint.x + randoPoint.y)); + } + + + if(float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, finalGlitter * glitterColor * float(3), finalGlitter * glitterTexture.a * glitterMask); + glitterEmission = finalGlitter * glitterColor * max(0, (float(3) - 1) * glitterTexture.a) * glitterMask; + } + else + { + glitterEmission = finalGlitter * glitterColor * float(3) * glitterTexture.a * glitterMask; + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta new file mode 100644 index 00000000..e3ee3bf2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5e9345cb4d03bde4985f2230da0e0c44 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc new file mode 100644 index 00000000..060cb720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc @@ -0,0 +1,127 @@ +#ifndef POI_GRAB + #define POI_GRAB + + float _RefractionIndex; + float _RefractionOpacity; + float _RefractionChromaticAberattion; + float _RefractionEnabled; + float _GrabSrcBlend; + float _GrabDstBlend; + float _GrabPassUseAlpha; + float _GrabPassBlendFactor; + float _GrabBlurDistance; + float _GrabBlurQuality; + float _GrabBlurDirections; + POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap); + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RefractionOpacityMask); float4 _RefractionOpacityMask_ST; + + float4 blur(float2 uv) + { + float two_pi = 6.28318530718; + + float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur + float quality = floor(_GrabBlurQuality); + float directions = floor(_GrabBlurDirections); + + // Pixel colour + float4 color = tex2D(_PoiGrab, uv); + + float deltaAngle = two_pi / directions; + float deltaQuality = 1.0 / quality; + for (int i = 0; i < directions; i ++) + { + for (int j = 0; j < quality; j ++) + { + float angle = deltaAngle * i + j; + float offset = deltaQuality * (j + 1); + color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset); + } + } + + // Output to screen + color /= quality * directions + 1; + return color; + } + + inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos) + { + float4 refractionColor; + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos)); + float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0))) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir))); + float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x)); + + + if (_RefractionChromaticAberattion > 0) + { + float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction)); + float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g; + float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b; + refractionColor = float4(redAlpha.r, green, blue, redAlpha.a); + } + else + { + float2 refractedGrab = projectedGrabPos + cameraRefraction; + + #ifdef CHROMATIC_ABERRATION_LOW + refractionColor = blur(refractedGrab); + #else + refractionColor = tex2D(_PoiGrab, (refractedGrab)); + #endif + } + return refractionColor; + } + + void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor) + { + float3 refraction = 1; + + if(_RefractionEnabled == 1) + { + refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb; + } + else + { + #ifdef CHROMATIC_ABERRATION_LOW + refraction = blur(projectedGrabPos); + #else + refraction = tex2Dproj(_PoiGrab, poiCam.grabPos); + #endif + } + + float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r; + + if(_GrabPassUseAlpha) + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a)); + finalColor.a = 1; + } + else + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor); + } + } + + float2 calculateGrabPosition() + { + float4 grabPos = poiCam.grabPos; + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + float halfPosW = grabPos.w * 0.5; + grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW; + #if SHADER_API_D3D9 || SHADER_API_D3D11 + grabPos.w += 0.00000000001; + #endif + return(grabPos / grabPos.w).xy; + } + + void applyGrabEffects(inout float4 finalColor) + { + float2 projectedGrabPos = calculateGrabPosition(); + calculateRefraction(projectedGrabPos, finalColor); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta new file mode 100644 index 00000000..7011df76 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4a85e028c25cc634daff2bdd2499cdb8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc new file mode 100644 index 00000000..9ae9e754 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc @@ -0,0 +1,338 @@ +#ifndef POI_HELPER + #define POI_HELPER + + #include "CGI_PoiColors.cginc" + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float linearSin(float x) + { + return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0); + } + + float random(float2 p) + { + return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123); + } + + float2 random2(float2 p) + { + return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453); + } + + float3 random3(float3 p) + { + return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453); + } + + float3 mod(float3 x, float y) + { + return x - y * floor(x / y); + } + float2 mod(float2 x, float y) + { + return x - y * floor(x / y); + } + + //1/7 + #define K 0.142857142857 + //3/7 + #define Ko 0.428571428571 + + // Permutation polynomial: (34x^2 + x) mod 289 + float3 Permutation(float3 x) + { + return mod((34.0 * x + 1.0) * x, 289.0); + } + + bool IsInMirror() + { + return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; + } + + float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax) + { + #if UNITY_SPECCUBE_BOX_PROJECTION + + if (cubemapPosition.w > 0) + { + float3 factors = ((direction > 0 ? boxMax: boxMin) - position) / direction; + float scalar = min(min(factors.x, factors.y), factors.z); + direction = direction * scalar + (position - cubemapPosition); + } + #endif + return direction; + } + + // Camera + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + float3 grayscale_vector_node() + { + return float3(0, 0.3823529, 0.01845836); + } + + float3 grayscale_for_light() + { + return float3(0.298912, 0.586611, 0.114478); + } + + //Math Operators + + float remap(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float poiMax(float2 i) + { + return max(i.x, i.y); + } + + float poiMax(float3 i) + { + return max(max(i.x, i.y), i.z); + } + + float poiMax(float4 i) + { + return max(max(max(i.x, i.y), i.z), i.w); + } + + float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis) + { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, + 0.0, 0.0, 0.0, 1.0); + } + + float4x4 poiRotationMatrixFromAngles(float x, float y, float z) + { + float angleX = radians(x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + + float4x4 poiRotationMatrixFromAngles(float3 angles) + { + float angleX = radians(angles.x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(angles.y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(angles.z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + +#endif + +half2 calcScreenUVs(half4 grabPos) +{ + half2 uv = grabPos / (grabPos.w + 0.0000000001); + #if UNITY_SINGLE_PASS_STEREO + uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y); + #else + uv.xy *= _ScreenParams.xy; + #endif + + return uv; +} + +float inverseLerp(float A, float B, float T) +{ + return(T - A) / (B - A); +} + +float inverseLerp2(float2 a, float2 b, float2 value) +{ + float2 AB = b - a; + float2 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp3(float3 a, float3 b, float3 value) +{ + float3 AB = b - a; + float3 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp4(float4 a, float4 b, float4 value) +{ + float4 AB = b - a; + float4 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +// Dithering +inline half Dither8x8Bayer(int x, int y) +{ + const half dither[ 64 ] = { + 1, 49, 13, 61, 4, 52, 16, 64, + 33, 17, 45, 29, 36, 20, 48, 32, + 9, 57, 5, 53, 12, 60, 8, 56, + 41, 25, 37, 21, 44, 28, 40, 24, + 3, 51, 15, 63, 2, 50, 14, 62, + 35, 19, 47, 31, 34, 18, 46, 30, + 11, 59, 7, 55, 10, 58, 6, 54, + 43, 27, 39, 23, 42, 26, 38, 22 + }; + int r = y * 8 + x; + return dither[r] / 64; +} + +// UV Manipulation +float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv) +{ + float theta = radians(rotation); + scale = 1 - scale; + float cs = cos(theta); + float sn = sin(theta); + float2 centerPoint = offset + .5; + uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y); + + return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1)); +} + +bool isVR() +{ + // USING_STEREO_MATRICES + #if UNITY_SINGLE_PASS_STEREO + return true; + #else + return false; + #endif +} + +bool isVRHandCamera() +{ + return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005; +} + +bool isDesktop() +{ + return !isVRHandCamera(); +} + +bool isVRHandCameraPreview() +{ + return isVRHandCamera() && _ScreenParams.y == 720; +} + +bool isVRHandCameraPicture() +{ + return isVRHandCamera() && _ScreenParams.y == 1080; +} + +bool isPanorama() +{ + // Crude method + // FOV=90=camproj=[1][1] + return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025; +} + +float3 calculateluminance(float3 color) +{ + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta new file mode 100644 index 00000000..7d711d2d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 01d919c9a164af846966982284ddc090 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc new file mode 100644 index 00000000..6ee66d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc @@ -0,0 +1,36 @@ +#ifndef POI_HOLOGRAM + #define POI_HOLOGRAM + + UNITY_DECLARE_TEX2D_NOSAMPLER(_HoloAlphaMap); float4 _HoloAlphaMap_ST; + float _HoloCoordinateSpace; // 0 World, 1 Local, 2 UV + float3 _HoloDirection; + float _HoloScrollSpeed; + float _HoloLineDensity; + + fixed _HoloFresnelAlpha; + fixed _HoloRimSharpness; + fixed _HoloRimWidth; + void ApplyHoloAlpha(inout float4 color) + { + float uv = 0; + + if (_HoloCoordinateSpace == 0) + { + uv = dot(normalize(_HoloDirection), poiMesh.worldPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 1) + { + uv = dot(normalize(_HoloDirection), poiMesh.localPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 2) + { + uv = dot(_HoloDirection, poiMesh.uv[0] * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + float holoRim = saturate(1 - smoothstep(min(_HoloRimSharpness, _HoloRimWidth), _HoloRimWidth, poiCam.viewDotNormal)); + holoRim = abs(lerp(1, holoRim, _HoloFresnelAlpha)); + color.a *= UNITY_SAMPLE_TEX2D_SAMPLER(_HoloAlphaMap, _MainTex, uv).r * holoRim; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta new file mode 100644 index 00000000..fe5aaa4b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d6ef9e1df2ca0ba40a1772302b2c67db +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc new file mode 100644 index 00000000..bcea8ccc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc @@ -0,0 +1,61 @@ +#ifndef POI_IRIDESCENCE + #define POI_IRIDESCENCE + + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceRamp); float4 _IridescenceRamp_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceMask); float4 _IridescenceMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceNormalMap); float4 _IridescenceNormalMap_ST; + float _IridescenceNormalUV; + float _IridescenceMaskUV; + float _IridescenceNormalSelection; + float _IridescenceNormalIntensity; + float _IridescenceNormalToggle; + float _IridescenceIntensity; + fixed _IridescenceAddBlend; + fixed _IridescenceReplaceBlend; + fixed _IridescenceMultiplyBlend; + float _IridescenceEmissionStrength; + + //global + + float3 calculateNormal(float3 baseNormal) + { + float3 normal = UnpackScaleNormal(UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceNormalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceNormalUV], _IridescenceNormalMap)), _IridescenceNormalIntensity); + return normalize( + normal.x * poiMesh.tangent + + normal.y * poiMesh.binormal + + normal.z * baseNormal + ); + } + + void applyIridescence(inout float4 albedo, inout float3 IridescenceEmission) + { + float3 normal = poiMesh.normals[_IridescenceNormalSelection]; + + // Use custom normal map + + if (_IridescenceNormalToggle) + { + normal = calculateNormal(normal); + } + + float ndotv = dot(normal, poiCam.viewDir); + + float4 iridescenceColor = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceRamp, _MainTex, 1 - abs(ndotv)); + float4 iridescenceMask = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceMaskUV], _IridescenceMask)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskIridescence != 4) + { + iridescenceMask *= blackLightMask[_BlackLightMaskIridescence]; + } + #endif + + + albedo.rgb = lerp(albedo.rgb, saturate(iridescenceColor.rgb * _IridescenceIntensity), iridescenceColor.a * _IridescenceReplaceBlend * iridescenceMask); + albedo.rgb += saturate(iridescenceColor.rgb * _IridescenceIntensity * iridescenceColor.a * _IridescenceAddBlend * iridescenceMask); + albedo.rgb *= saturate(lerp(1, iridescenceColor.rgb * _IridescenceIntensity, iridescenceColor.a * _IridescenceMultiplyBlend * iridescenceMask)); + + IridescenceEmission = saturate(iridescenceColor.rgb * _IridescenceIntensity) * iridescenceColor.a * iridescenceMask * _IridescenceEmissionStrength; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta new file mode 100644 index 00000000..93249f71 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3e28525424a07ec41b1ca8242ff1107c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc new file mode 100644 index 00000000..8f35cb62 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc @@ -0,0 +1,668 @@ + +#ifndef POI_LIGHTING + #define POI_LIGHTING + + float _LightingShadingEnabled; + float _LightingRampType; + float _LightingIgnoreAmbientColor; + float _UseShadowTexture; + float _LightingEnableAO; + float _LightingDetailShadowsEnabled; + + float _LightingOnlyUnityShadows; + float _LightingMode; + float _ForceLightDirection; + float _ShadowStrength; + float _OutlineShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _CastedShadowSmoothing; + float _AttenuationMultiplier; + float _EnableLighting; + float _LightingControlledUseLightColor; + fixed _LightingStandardSmoothness; + fixed _LightingStandardControlsToon; + fixed _LightingMinLightBrightness; + float _LightingUseShadowRamp; + float _LightingMinShadowBrightnessRatio; + UNITY_DECLARE_TEX2D(_ToonRamp); + fixed _LightingMonochromatic; + + fixed _LightingGradientStart; + fixed _LightingGradientEnd; + float3 _LightingShadowColor; + POI_TEXTURE_NOSAMPLER(_LightingShadowTexture); + float _AOStrength; + fixed _LightingDetailStrength; + fixed _LightingAdditiveDetailStrength; + fixed _LightingNoIndirectMultiplier; + fixed _LightingNoIndirectThreshold; + float _LightingUncapped; + + float _LightingDirectColorMode; + float _LightingIndirectColorMode; + float _LightingAdditiveType; + fixed _LightingAdditiveGradientStart; + fixed _LightingAdditiveGradientEnd; + fixed _LightingAdditivePassthrough; + float _LightingDirectAdjustment; + float _LightingIndirect; + // HSL JUNK + float _LightingEnableHSL; + float _LightingShadowHue; + float _LightingShadowSaturation; + float _LightingShadowLightness; + float _LightingHSLIntensity; + /* + UNITY_DECLARE_TEX2D_NOSAMPLER(_ToonRamp3); + half _LightingShadowStrength3; + half _ShadowOffset3; + */ + + half4 shadowStrength; + + POI_TEXTURE_NOSAMPLER(_LightingDetailShadows); + POI_TEXTURE_NOSAMPLER(_LightingAOTex); + POI_TEXTURE_NOSAMPLER(_LightingShadowMask); + + /* + * MIT License + * + * Copyright (c) 2018 s-ilent + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + /* + * Silent's code starts here + */ + + float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n) + { + // average energy + float R0 = max(0, L0); + + // avg direction of incoming light + float3 R1 = 0.5f * L1; + + // directional brightness + float lenR1 = length(R1); + + // linear angle between normal and direction 0-1 + //float q = 0.5f * (1.0f + dot(R1 / lenR1, n)); + //float q = dot(R1 / lenR1, n) * 0.5 + 0.5; + float q = dot(normalize(R1), n) * 0.5 + 0.5; + q = saturate(q); // Thanks to ScruffyRuffles for the bug identity. + + // power for q + // lerps from 1 (linear) to 3 (cubic) based on directionality + float p = 1.0f + 2.0f * lenR1 / R0; + + // dynamic range constant + // should vary between 4 (highly directional) and 0 (ambient) + float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0); + + return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p)); + } + + half3 BetterSH9(half4 normal) + { + float3 indirect; + float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0; + indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal); + indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal); + indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal); + indirect = max(0, indirect); + indirect += SHEvalLinearL2(normal); + return indirect; + } + + float3 BetterSH9(float3 normal) + { + return BetterSH9(float4(normal, 1)); + } + + /* + * Standard stuff starts here + */ + UnityLight CreateLight(float3 normal, fixed detailShadowMap) + { + UnityLight light; + light.dir = poiLight.direction; + light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap); + light.ndotl = DotClamped(normal, poiLight.direction); + return light; + } + + float FadeShadows(float attenuation) + { + #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + // UNITY_LIGHT_ATTENUATION doesn't fade shadows for us. + + #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + attenuation = lerp(1, poiLight.attenuation, float(0)); + #endif + + float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); + float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ); + float shadowFade = UnityComputeShadowFade(shadowFadeDistance); + float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); + attenuation = UnityMixRealtimeAndBakedShadows( + attenuation, bakedAttenuation, shadowFade + ); + #endif + + return attenuation; + } + + void ApplySubtractiveLighting(inout UnityIndirect indirectLight) + { + #if SUBTRACTIVE_LIGHTING + poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0))); + + float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz)); + float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb; + float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate; + subtractedLight = max(subtractedLight, unity_ShadowColor.rgb); + subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x); + indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse); + #endif + } + + float3 weightedBlend(float3 layer1, float3 layer2, float2 weights) + { + return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y); + } + + UnityIndirect CreateIndirectLight(float3 normal) + { + UnityIndirect indirectLight; + indirectLight.diffuse = 0; + indirectLight.specular = 0; + + #if defined(FORWARD_BASE_PASS) + #if defined(LIGHTMAP_ON) + indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy)); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy + ); + indirectLight.diffuse = DecodeDirectionalLightmap( + indirectLight.diffuse, lightmapDirection, normal + ); + #endif + ApplySubtractiveLighting(indirectLight); + #endif + + #if defined(DYNAMICLIGHTMAP_ON) + float3 dynamicLightDiffuse = DecodeRealtimeLightmap( + UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw) + ); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_DynamicDirectionality, unity_DynamicLightmap, + poiMesh.lightmapUV.zw + ); + indirectLight.diffuse += DecodeDirectionalLightmap( + dynamicLightDiffuse, dynamicLightmapDirection, normal + ); + #else + indirectLight.diffuse += dynamicLightDiffuse; + #endif + #endif + + #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON) + #if UNITY_LIGHT_PROBE_PROXY_VOLUME + if (unity_ProbeVolumeParams.x == 1) + { + indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume( + float4(normal, 1), poiMesh.worldPos + ); + indirectLight.diffuse = max(0, indirectLight.diffuse); + #if defined(UNITY_COLORSPACE_GAMMA) + indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse); + #endif + } + else + { + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + } + #else + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + #endif + #endif + + float3 reflectionDir = reflect(-poiCam.viewDir, normal); + Unity_GlossyEnvironmentData envData; + envData.roughness = 1 - float(0); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + #if UNITY_SPECCUBE_BLENDING + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + indirectLight.specular = lerp(probe1, probe0, interpolator); + } + else + { + indirectLight.specular = probe0; + } + #else + indirectLight.specular = probe0; + #endif + float occlusion = 1; + + if(float(0)) + { + occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + } + + indirectLight.diffuse *= occlusion; + indirectLight.diffuse = max(indirectLight.diffuse, float(0)); + indirectLight.specular *= occlusion; + #endif + + return indirectLight; + } + + /* + * Poiyomi's cool as heck code starts here :smug: + */ + + half PoiDiffuse(half NdotV, half NdotL, half LdotH) + { + half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5); + // Two schlick fresnel term + half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL)); + half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV)); + + return lightScatter * viewScatter; + } + + float3 ShadeSH9Indirect() + { + return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Direct() + { + return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Normal(float3 normalDirection) + { + return ShadeSH9(half4(normalDirection, 1.0)); + } + + half3 GetSHLength() + { + half3 x, x1; + x.r = length(unity_SHAr); + x.g = length(unity_SHAg); + x.b = length(unity_SHAb); + x1.r = length(unity_SHBr); + x1.g = length(unity_SHBg); + x1.b = length(unity_SHBb); + return x + x1; + } + + float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap) + { + return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])); + } + + void calculateBasePassLightMaps() + { + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + float AOMap = 1; + float AOStrength = 1; + float3 lightColor = poiLight.color; + /* + * Generate Basic Light Maps + */ + + bool lightExists = false; + if (all(_LightColor0.rgb >= 0.002)) + { + lightExists = true; + } + #ifndef OUTLINE + + if(float(0)) + { + AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + AOStrength = float(1); + } + + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + if (lightExists) + { + lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + } + else + { + lightColor = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + } + + //lightColor = magic * magiratio + normalLight * normaRatio; + //lightColor = magic + normalLight; + #endif + #endif + + float3 grayscale_vector = float3(.33333, .33333, .33333); + float3 ShadeSH9Plus = GetSHLength(); + float3 ShadeSH9Minus = BetterSH9(float4(0, 0, 0, 1)); + + shadowStrength = 1; + #ifndef OUTLINE + shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(1); + #else + shadowStrength = float(1); + #endif + + float bw_lightColor = dot(lightColor, grayscale_vector); + float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector)); + float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector); + float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector); + float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); + + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(0)) + { + poiLight.lightMap = poiLight.attenuation; + } + else + { + poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); + } + poiLight.lightMap *= detailShadow; + + /* + * Decide on light colors + */ + + float3 indirectLighting = 0; + float3 directLighting = 0; + + + + + if (float(0) == 1) + { + indirectLighting = BetterSH9(float4(poiMesh.normals[0], 1)); + } + else + { + indirectLighting = ShadeSH9Minus; + } + + poiLight.directLighting = lightColor; + poiLight.indirectLighting = indirectLighting; + + + if(float(0) == 0) + { + float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + + float magiLumi = calculateluminance(magic); + float normaLumi = calculateluminance(normalLight); + float maginormalumi = magiLumi + normaLumi; + + float magiratio = magiLumi / maginormalumi; + float normaRatio = normaLumi / maginormalumi; + + float target = calculateluminance(magic * magiratio + normalLight * normaRatio); + float3 properLightColor = magic + normalLight; + float properLuminance = calculateluminance(magic + normalLight); + directLighting = properLightColor * max(0.0001, (target / properLuminance)); + } + else + { + directLighting = lightColor; + } + + + if(!float(0)) + { + float directluminance = calculateluminance(directLighting); + float indirectluminance = calculateluminance(indirectLighting); + directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1))); + indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1))); + } + + directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0)); + indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0)); + + if(max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0) + { + indirectLighting = directLighting * _LightingNoIndirectMultiplier; + } + + + if(float(0)) + { + float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1); + if(directluminance > 0) + { + indirectLighting = max(0.001, indirectLighting); + } + float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1); + float targetluminance = directluminance * float(0); + if(indirectluminance < targetluminance) + { + indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance); + } + } + + /* + * Create Shade Maps + */ + + if (float(0)) + { + switch(float(0)) + { + case 0: // Ramp Texture + { + poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)), shadowStrength.r); + + if (float(0)) + { + poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + else + { + poiLight.finalLighting = lerp(indirectLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + } + break; + case 1: // Math Gradient + { + poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)); + float3 shadowColor = float4(1,1,1,1); + + if (float(0)) + { + shadowColor = 1; + } + + if(float(0)) + { + poiLight.finalLighting = lerp((directLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + else + { + poiLight.finalLighting = lerp((indirectLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + } + break; + } + } + else + { + poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap); + poiLight.finalLighting = directLighting; + } + + if(!float(0)) + { + poiLight.finalLighting = saturate(poiLight.finalLighting); + } + //poiLight.finalLighting *= .8; + #endif + } + + void applyShadowTexture(inout float4 albedo) + { + + if (float(0) && float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, POI2D_SAMPLER_PAN(_LightingShadowTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1), (1 - poiLight.rampedLightMap) * shadowStrength); + } + } + + float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL) + { + fixed detailShadow = 1; + + if(float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + return lightColor * attenuationDotNL * detailShadow; + } + else + { + return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow; + } + } + + + float3 calculateFinalLighting(inout float3 albedo, float4 finalColor) + { + float3 finalLighting = 1; + // Additive Lighting + #ifdef FORWARD_ADD_PASS + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow; + } + else + { + #if defined(POINT) || defined(SPOT) + finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow; + #else + finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow; + #endif + } + #endif + + // Base and Meta Lighting + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + #ifdef VERTEXLIGHT_ON + poiLight.vFinalLighting = 0; + + for (int index = 0; index < 4; index ++) + { + poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vCorrectedDotNL[index]); + } + #endif + + switch(float(0)) + { + case 0: // Toon Lighting + { + // HSL Shading + + if (float(0)) + { + float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap); + albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1)); + } + + // Normal Shading + + if (float(0) > 0) + { + poiLight.finalLighting = max(0.001, poiLight.finalLighting); + float finalluminance = calculateluminance(poiLight.finalLighting); + finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0)))); + } + else + { + finalLighting = poiLight.finalLighting; + } + } + break; + case 1: // realistic + { + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb; + finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0)); + } + break; + } + #endif + return finalLighting; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta new file mode 100644 index 00000000..d94700e8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5e1f06d3e0671a949b193f004b16c805 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc new file mode 100644 index 00000000..c23736df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc @@ -0,0 +1,243 @@ +#ifndef POI_MSDF + #define POI_MSDF + + sampler2D _TextGlyphs; + float4 _TextGlyphs_ST; + float4 _TextGlyphs_TexelSize; + float _TextFPSUV; + float _TextTimeUV; + float _TextPositionUV; + float _TextPixelRange; + + float _TextFPSEnabled; + float _TextPositionEnabled; + float _TextTimeEnabled; + + + float4 _TextFPSColor; + half _TextFPSEmissionStrength; + fixed4 _TextFPSPadding; + half2 _TextFPSOffset; + half2 _TextFPSScale; + half _TextFPSRotation; + + fixed _TextPositionVertical; + float4 _TextPositionColor; + half _TextPositionEmissionStrength; + fixed4 _TextPositionPadding; + half2 _TextPositionOffset; + half2 _TextPositionScale; + half _TextPositionRotation; + + float4 _TextTimeColor; + half _TextTimeEmissionStrength; + fixed4 _TextTimePadding; + half2 _TextTimeOffset; + half2 _TextTimeScale; + half _TextTimeRotation; + + #define glyphWidth 0.0625 + + #define ASCII_LEFT_PARENTHESIS 40 + #define ASCII_RIGHT_PARENTHESIS 41 + #define ASCII_POSITIVE 43 + #define ASCII_PERIOD 46 + #define ASCII_NEGATIVE 45 + #define ASCII_COMMA 44 + #define ASCII_E 69 + #define ASCII_F 70 + #define ASCII_I 73 + #define ASCII_M 77 + #define ASCII_O 79 + #define ASCII_P 80 + #define ASCII_S 83 + #define ASCII_T 54 + #define ASCII_SEMICOLON 58 + + float3 globalTextEmission; + + half2 getAsciiCoordinate(float index) + { + return half2((index - 1) / 16, 1 - ((floor(index / 16 - glyphWidth)) / 16)); + } + + float median(float r, float g, float b) + { + return max(min(r, g), min(max(r, g), b)); + } + + void ApplyPositionText(inout float4 albedo, float2 uv) + { + float3 cameraPos = clamp(getCameraPosition(), -999, 999); + float3 absCameraPos = abs(cameraPos); + float totalCharacters = 20; + float positionArray[20]; + positionArray[0] = cameraPos.x >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[1] = floor((absCameraPos.x * .01) % 10) + 48; + positionArray[2] = floor((absCameraPos.x * .1) % 10) + 48; + positionArray[3] = floor(absCameraPos.x % 10) + 48; + positionArray[4] = ASCII_PERIOD; + positionArray[5] = floor((absCameraPos.x * 10) % 10) + 48; + positionArray[6] = ASCII_COMMA; + positionArray[7] = cameraPos.y >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[8] = floor((absCameraPos.y * .01) % 10) + 48; + positionArray[9] = floor((absCameraPos.y * .1) % 10) + 48; + positionArray[10] = floor(absCameraPos.y % 10) + 48; + positionArray[11] = ASCII_PERIOD; + positionArray[12] = floor((absCameraPos.y * 10) % 10) + 48; + positionArray[13] = ASCII_COMMA; + positionArray[14] = cameraPos.z >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[15] = floor((absCameraPos.z * .01) % 10) + 48; + positionArray[16] = floor((absCameraPos.z * .1) % 10) + 48; + positionArray[17] = floor(absCameraPos.z % 10) + 48; + positionArray[18] = ASCII_PERIOD; + positionArray[19] = floor((absCameraPos.z * 10) % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if (uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(positionArray[currentCharacter]); + + float2 startUV = float2(1 / totalCharacters * currentCharacter, 0); + float2 endUV = float2(1 / totalCharacters * (currentCharacter + 1), 1); + + fixed4 textPositionPadding = float4(0,0,0,0); + textPositionPadding *= 1 / totalCharacters; + uv = remapClamped(uv, startUV, endUV, float2(glyphPos.x + textPositionPadding.x, glyphPos.y - glyphWidth + textPositionPadding.y), float2(glyphPos.x + glyphWidth - textPositionPadding.z, glyphPos.y - textPositionPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textPositionPadding.z - .001 || uv.x < glyphPos.x + textPositionPadding.x + .001 || uv.y > glyphPos.y - textPositionPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textPositionPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyTimeText(inout float4 albedo, float2 uv) + { + float instanceTime = _Time.y; + float hours = instanceTime / 3600; + float minutes = (instanceTime / 60) % 60; + float seconds = instanceTime % 60; + float totalCharacters = 8; + float timeArray[8]; + timeArray[0] = floor((hours * .1) % 10) + 48; + timeArray[1] = floor(hours % 10) + 48; + timeArray[2] = ASCII_SEMICOLON; + timeArray[3] = floor((minutes * .1) % 10) + 48; + timeArray[4] = floor(minutes % 10) + 48; + timeArray[5] = ASCII_SEMICOLON; + timeArray[6] = floor((seconds * .1) % 10) + 48; + timeArray[7] = floor(seconds % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(timeArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + fixed4 textTimePadding = float4(0,0,0,0); + textTimePadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textTimePadding.x, glyphPos.y - glyphWidth + textTimePadding.y), float2(glyphPos.x + glyphWidth - textTimePadding.z, glyphPos.y - textTimePadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textTimePadding.z - .001 || uv.x < glyphPos.x + textTimePadding.x + .001 || uv.y > glyphPos.y - textTimePadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textTimePadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyFPSText(inout float4 albedo, float2 uv) + { + float smoothDeltaTime = clamp(unity_DeltaTime.w, 0, 999); + float totalCharacters = 7; + float fpsArray[7]; + fpsArray[0] = ASCII_F; + fpsArray[1] = ASCII_P; + fpsArray[2] = ASCII_S; + fpsArray[3] = ASCII_SEMICOLON; + fpsArray[4] = floor((smoothDeltaTime * .01) % 10) + 48; + fpsArray[5] = floor((smoothDeltaTime * .1) % 10) + 48; + fpsArray[6] = floor(smoothDeltaTime % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(fpsArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + + fixed4 textFPSPadding = float4(0,0,0,0); + textFPSPadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textFPSPadding.x, glyphPos.y - glyphWidth + textFPSPadding.y), float2(glyphPos.x + glyphWidth - textFPSPadding.z, glyphPos.y - textFPSPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textFPSPadding.z - .001 || uv.x < glyphPos.x + textFPSPadding.x + .001 || uv.y > glyphPos.y - textFPSPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textFPSPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,1,1,1).rgb, opacity * float4(1,1,1,1).a); + globalTextEmission += float4(1,1,1,1).rgb * opacity * float(0); + } + + void ApplyTextOverlayColor(inout float4 albedo, inout float3 textOverlayEmission) + { + globalTextEmission = 0; + half positionalOpacity = 0; + #ifdef EFFECT_BUMP + + if(float(0)) + { + ApplyFPSText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyPositionText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyTimeText(albedo, poiMesh.uv[float(0)]); + } + + textOverlayEmission = globalTextEmission; + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta new file mode 100644 index 00000000..a7fc7af3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ef48038f16c58db4aaeb2be45372fcc8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc new file mode 100644 index 00000000..ecac0805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc @@ -0,0 +1,33 @@ +#ifndef POI_MACROS + #define POI_MACROS + + #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale + + #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex))) + #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + + #ifdef POINT + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; + #endif + + #ifdef SPOT + #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)) + #else + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord + #endif + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + DECLARE_LIGHT_COORD(input, worldPos); \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta new file mode 100644 index 00000000..547fe101 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 00b71a3aea1ebc7478d2afc2c0ee281a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc new file mode 100644 index 00000000..270384af --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc @@ -0,0 +1,147 @@ +#ifndef POI_MAINTEXTURE + #define POI_MAINTEXTURE + + + + POI_TEXTURE_NOSAMPLER(_AlphaMask); + POI_TEXTURE_NOSAMPLER(_MainFadeTexture); + float4 _Color; + float _MainVertexColoring; + float _MainUseVertexColorAlpha; + float _Saturation; + float2 _MainDistanceFade; + half _MainMinAlpha; + float _MainHueShift; + #ifdef COLOR_GRADING_HDR + POI_TEXTURE_NOSAMPLER(_MainHueShiftMask); + float _MainHueShiftToggle; + float _MainHueShiftSpeed; + float _MainHueShiftReplace; + #endif + + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailTex); + half _DetailTexIntensity; + half3 _DetailTint; + float _DetailBrightness; + #endif + //globals + float alphaMask; + half3 diffColor; + + #include "CGI_PoiBackFace.cginc" + + float3 wireframeEmission; + + inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo) + { + half4 specGloss = 0; + half3 specColor = specGloss.rgb; + half smoothness = specGloss.a; + + half oneMinusReflectivity; + diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specColor, /*out*/ oneMinusReflectivity); + + FragmentCommonData o = (FragmentCommonData)0; + o.diffColor = diffColor; + o.specColor = specColor; + o.oneMinusReflectivity = oneMinusReflectivity; + o.smoothness = smoothness; + return o; + } + + inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo) + { + i_tex = i_tex; + + FragmentCommonData o = SpecularSetup(i_tex, albedo); + o.normalWorld = float4(0, 0, 0, 1); + o.eyeVec = poiCam.viewDir; + o.posWorld = i_posWorld; + + // NOTE: shader relies on pre-multiply alpha-blend (float(1) = One, float(0) = OneMinusSrcAlpha) + o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha); + return o; + } + + void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask) + { + dissolveEmission = 0; + + #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + #endif + + alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + mainTexture.a *= alphaMask; + + #ifndef POI_SHADOW + albedo = float4(lerp(mainTexture.rgb, dot(mainTexture.rgb, float3(0.3, 0.59, 0.11)), -float(0)) * max(float4(1,1,1,1).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, GammaToLinearSpace(poiMesh.vertexColor.rgb), float(0)), mainTexture.a * max(float4(1,1,1,1).a, 0.0000001)); + + #ifdef POI_LIGHTING + applyShadowTexture(albedo); + #endif + + albedo *= lerp(1, poiMesh.vertexColor.a, float(0)); + #ifdef POI_RGBMASK + albedo.rgb = calculateRGBMask(albedo.rgb); + #endif + + albedo.a = saturate(float(0) + albedo.a); + + wireframeEmission = 0; + #ifdef POI_WIREFRAME + applyWireframe(wireframeEmission, albedo); + #endif + float backFaceDetailIntensity = 1; + + float mixedHueShift = float(0); + applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission); + + #ifdef POI_FUR + calculateFur(); + #endif + + #ifdef COLOR_GRADING_HDR + float hueShiftAlpha = POI2D_SAMPLER_PAN(_MainHueShiftMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if(float(1)) + { + albedo.rgb = lerp(albedo.rgb, hueShift(albedo.rgb, mixedHueShift + float(0) * _Time.x), hueShiftAlpha); + } + else + { + albedo.rgb = hueShift(albedo.rgb, frac((mixedHueShift - (1 - hueShiftAlpha) + float(0) * _Time.x))); + } + #endif + #ifdef FINALPASS + half3 detailTexture = POI2D_SAMPLER_PAN(_DetailTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb * float4(1,1,1,1).rgb; + albedo.rgb *= LerpWhiteTo(detailTexture * float(1) * unity_ColorSpaceDouble.rgb, detailMask.r * float(1) * backFaceDetailIntensity); + #endif + albedo.rgb = saturate(albedo.rgb); + + #ifdef POI_HOLOGRAM + ApplyHoloAlpha(albedo); + #endif + + s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo); + #endif + + #ifdef DISTORT + calculateDissolve(albedo, dissolveEmission); + #endif + } + + void distanceFade(inout float4 albedo) + { + half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(fadeMap) + { + half fadeValue = max(smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, poiCam.distanceToVert), float(0)); + albedo.a *= fadeValue; + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta new file mode 100644 index 00000000..b36f2d8c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1b7dfac326e555b4684d89026b659700 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc new file mode 100644 index 00000000..3aa6d6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc @@ -0,0 +1,115 @@ +#ifndef MATCAP + #define MATCAP + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap); float4 _Matcap_ST; + POI_TEXTURE_NOSAMPLER(_MatcapMask); + float _MatcapMaskInvert; + float _MatcapBorder; + float4 _MatcapColor; + float _MatcapIntensity; + float _MatcapReplace; + float _MatcapMultiply; + float _MatcapAdd; + float _MatcapEnable; + float _MatcapLightMask; + float _MatcapEmissionStrength; + float _MatcapNormal; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap2);float4 _Matcap2_ST; + POI_TEXTURE_NOSAMPLER(_Matcap2Mask); + float _Matcap2MaskInvert; + float _Matcap2Border; + float4 _Matcap2Color; + float _Matcap2Intensity; + float _Matcap2Replace; + float _Matcap2Multiply; + float _Matcap2Add; + float _Matcap2Enable; + float _Matcap2LightMask; + float _Matcap2EmissionStrength; + float _Matcap2Normal; + + void blendMatcap(inout float4 finalColor, float add, float multiply, float replace, float4 matcapColor, float matcapMask, inout float3 matcapEmission, float emissionStrength + #ifdef POI_LIGHTING + , float matcapLightMask + #endif + #ifdef POI_BLACKLIGHT + , uint blackLightMaskIndex + #endif + ) + { + #ifdef POI_LIGHTING + if (matcapLightMask) + { + matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); + } + #endif + #ifdef POI_BLACKLIGHT + if(blackLightMaskIndex != 4) + { + matcapMask *= blackLightMask[blackLightMaskIndex]; + } + #endif + + finalColor.rgb = lerp(finalColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a); + finalColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); + finalColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; + matcapEmission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; + } + + void applyMatcap(inout float4 finalColor, inout float3 matcapEmission) + { + float4 matcap = 0; + float matcapMask = 0; + float4 matcap2 = 0; + float matcap2Mask = 0; + + // Both matcaps use the same coordinates + half3 worldViewUp = normalize(half3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); + + // Matcap 1 + half2 matcapUV = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + + matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(1,1,1,1); + matcap.rgb *= float(1); + matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if (float(0)) + { + matcapMask = 1 - matcapMask; + } + + blendMatcap(finalColor, float(0), float(0), float(1), matcap, matcapMask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap + #endif + ); + + // Matcap 2 + + if (float(0)) + { + half2 matcapUV2 = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + matcap2 = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap2, _MainTex, TRANSFORM_TEX(matcapUV2, _Matcap2)) * float4(1,1,1,1); + matcap2.rgb *= float(1); + matcap2Mask = POI2D_SAMPLER_PAN(_Matcap2Mask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(float(0)) + { + matcap2Mask = 1 - matcap2Mask; + } + blendMatcap(finalColor, float(0), float(0), float(0), matcap2, matcap2Mask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap2 + #endif + ); + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta new file mode 100644 index 00000000..cdc7e716 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 579d29fa36f0e3f4a950aefe9a71cc1b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc new file mode 100644 index 00000000..b2d07a38 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc @@ -0,0 +1,104 @@ +/* +MIT License + +Copyright (c) 2019 wraikny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +VertexTransformShader is dependent on: +*/ + +#ifndef POI_MATH + #define POI_MATH + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float4 quaternion_conjugate(float4 v) + { + return float4( + v.x, -v.yzw + ); + } + + float4 quaternion_mul(float4 v1, float4 v2) + { + float4 result1 = (v1.x * v2 + v1 * v2.x); + + float4 result2 = float4( + - dot(v1.yzw, v2.yzw), + cross(v1.yzw, v2.yzw) + ); + + return float4(result1 + result2); + } + + // angle : radians + float4 get_quaternion_from_angle(float3 axis, float angle) + { + return float4( + cos(angle / 2.0), + normalize(axis) * sin(angle / 2.0) + ); + } + + float4 quaternion_from_vector(float3 inVec) + { + return float4(0.0, inVec); + } + + float degree_to_radius(float degree) + { + return( + degree / 180.0 * pi + ); + } + + float3 rotate_with_quaternion(float3 inVec, float3 rotation) + { + float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x)); + float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y)); + float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z)); + + #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C)) + float4 quaternion = normalize(MUL3(qx, qy, qz)); + float4 conjugate = quaternion_conjugate(quaternion); + + float4 inVecQ = quaternion_from_vector(inVec); + + float3 rotated = ( + MUL3(quaternion, inVecQ, conjugate) + ).yzw; + + return rotated; + } + + float4 transform(float4 input, float4 pos, float4 rotation, float4 scale) + { + input.rgb *= (scale.xyz * scale.w); + input = float4( + rotate_with_quaternion(input.xyz, rotation.xyz * rotation.w) + + (pos.xyz * pos.w), + input.w + ); + return input; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta new file mode 100644 index 00000000..d7e53c00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a26ecb8b1ff50ed45934c28c965923a1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc new file mode 100644 index 00000000..916f65eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc @@ -0,0 +1,130 @@ +#ifndef POI_METAL + #define POI_METAL + + samplerCUBE _CubeMap; + float _SampleWorld; + POI_TEXTURE_NOSAMPLER(_MetallicMask); + POI_TEXTURE_NOSAMPLER(_SmoothnessMask); + float _Metallic; + float _InvertSmoothness; + float _Smoothness; + float _EnableMetallic; + float3 _MetalReflectionTint; + POI_TEXTURE_NOSAMPLER(_MetallicTintMap); + + float3 finalreflections; + float metalicMap; + float3 reflection; + float roughness; + float lighty_boy_uwu_var; + + bool shouldMetalHappenBeforeLighting() + { + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool probeExists = !(unity_SpecCube0_HDR.a == 0 && envSample.a == 0); + return probeExists && !float(0); + } + + float3 fresnelRelflection(in float4 albedo) + { + half3 dotNV = 1 - abs(poiLight.nDotV); + half f = dotNV * dotNV * dotNV * dotNV; + //f *= i_sold.fresnel; + return lerp(lerp(DielectricSpec.rgb, albedo.rgb, metalicMap), saturate(1 - roughness + metalicMap), f); + } + + void calculateMetallicness() + { + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + } + + void ApplyMetallics(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflection = lerp(probe1, probe0, interpolator); + } + else + { + reflection = probe0; + } + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } + + void ApplyMetallicsFake(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + reflection = texCUBElod(_CubeMap, float4(poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta new file mode 100644 index 00000000..fdb3eb5c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 172ec035ab45c834199ff9faa4565349 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc new file mode 100644 index 00000000..8bb16398 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc @@ -0,0 +1,77 @@ +#ifndef POI_MIRROR + #define POI_MIRROR + + float _Mirror; + float _EnableMirrorTexture; + POI_TEXTURE_NOSAMPLER(_MirrorTexture); + + + void applyMirrorRenderVert(inout float4 vertex) + { + + if (float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + void applyMirrorRenderFrag() + { + + if(float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + void applyMirrorTexture(inout float4 mainTexture) + { + + if(float(0)) + { + if(IsInMirror()) + { + mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + } + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta new file mode 100644 index 00000000..3ddc9083 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d958dc8110940724e96097e69919928f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc new file mode 100644 index 00000000..62e63c91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc @@ -0,0 +1,107 @@ +float _OutlineRimLightBlend; +float _OutlineLit; +float _OutlineTintMix; +float2 _MainTexPan; +float _MainTextureUV; + +float4 frag(v2f i, uint facing: SV_IsFrontFace): COLOR +{ + float4 finalColor = 1; + + if (float(0)) + { + UNITY_SETUP_INSTANCE_ID(i); + + float3 finalEmission = 0; + float4 albedo = 1; + + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + float3 uselessData0; + float3 uselessData1; + initTextureData(albedo, mainTexture, uselessData0, uselessData1, detailMask); + + + fixed4 col = mainTexture; + float alphaMultiplier = smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(getCameraPosition(), i.worldPos)); + float OutlineMask = tex2D(_OutlineMask, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0)).r; + clip(OutlineMask * float(0) - 0.001); + + col = col * 0.00000000001 + tex2D(_OutlineTexture, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineTexture) + _Time.x * float4(0,0,0,0) ); + col.a *= albedo.a; + col.a *= alphaMultiplier; + + #ifdef POI_RANDOM + col.a *= i.angleAlpha; + #endif + + poiCam.screenUV = calcScreenUVs(i.grabPos); + col.a *= float4(1,1,1,1).a; + + + if(float(0) == 1) + { + applyDithering(col); + } + + clip(col.a - float(0.5)); + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + + if(float(0) == 1) + { + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + col.rgb = mainTexture.rgb; + } + else if(float(0) == 2) + { + col.rgb = lerp(col.rgb, poiLight.color, float(0)); + } + col.rgb *= float4(1,1,1,1).rgb; + + if(float(0) == 1) + { + col.rgb = lerp(col.rgb, mainTexture.rgb, float(0)); + } + + finalColor = col; + + #ifdef POI_LIGHTING + + if(float(1)) + { + finalColor.rgb *= calculateFinalLighting(finalColor.rgb, finalColor); + } + #endif + finalColor.rgb += (col.rgb * float(0)); + } + else + { + clip(-1); + } + return finalColor; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta new file mode 100644 index 00000000..fc4b016c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 04f5e4f647786f748b1450d57ea1a22b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc new file mode 100644 index 00000000..900e9e43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc @@ -0,0 +1,105 @@ +#ifndef OutlineVert + #define OutlineVert + + #include "CGI_PoiV2F.cginc" + + float _OutlineMode; + float4 _OutlinePersonaDirection; + float4 _OutlineDropShadowOffset; + float _OutlineUseVertexColors; + float _OutlineFixedSize; + float _commentIfZero_EnableOutlinePass; + + sampler2D _OutlineMask; float4 _OutlineMask_ST; float2 _OutlineMaskPan; float _OutlineMaskUV; + v2f vert(appdata v) + { + + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + + float2 uvArray[4]; + uvArray[0] = o.uv0.xy; + uvArray[1] = o.uv0.zw; + uvArray[2] = o.uv1.xy; + uvArray[3] = o.uv1.zw; + + #ifdef POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + o.uv0.xy = v.uv0 + _OutlineGlobalPan.xy * _Time.y; + float outlineMask = 1; + + outlineMask = poiMax(tex2Dlod(_OutlineMask, float4(TRANSFORM_TEX(uvArray[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0), 0, 0)).rgb); + + if (float(0) == 2) + { + outlineMask *= v.color.r; + } + + + if(float(0) != 1) + { + o.normal = UnityObjectToWorldNormal(v.normal); + } + else + { + o.normal = UnityObjectToWorldNormal(v.color); + } + + + half offsetMultiplier = 1; + half distanceOffset = 1; + + if(float(0)) + { + distanceOffset *= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex).xyz); + } + + float3 offset = o.normal * (float(0) * float(0) / 100) * outlineMask * distanceOffset; + + + if(float(0) == 2) + { + float3 lightDirection = poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + offsetMultiplier = saturate(dot(lightDirection, o.normal)); + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 3) + { + half3 viewNormal = mul((float3x3)UNITY_MATRIX_V, o.normal); + offsetMultiplier = saturate(dot(viewNormal.xy, normalize(float4(1,0,0,0).xy))); + + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 4) + { + offset = mul((float3x3)transpose(UNITY_MATRIX_V), float4(1,0,0,0)); + offset *= distanceOffset; + } + + o.worldPos = mul(unity_ObjectToWorld, v.vertex) + float4(offset, 0); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.pos = UnityWorldToClipPos(o.worldPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0); + UNITY_TRANSFER_FOG(o, o.pos); + return o; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta new file mode 100644 index 00000000..e863b48c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: de4ad84ed7334524b9c97f206936011e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc new file mode 100644 index 00000000..da64a89d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc @@ -0,0 +1,63 @@ +#ifndef PANOSPHERE + #define PANOSPHERE + + sampler2D _PanosphereTexture; float4 _PanosphereTexture_ST; + POI_TEXTURE_NOSAMPLER(_PanoMask); + float _PanoEmission; + float _PanoBlend; + float4 _PanosphereColor; + float3 _PanospherePan; + float _PanoToggle; + float _PanoCubeMapToggle; + float _PanoInfiniteStereoToggle; + samplerCUBE _PanoCubeMap; half4 _PanoCubeMap_HDR; + + float3 panoColor; + float panoMask; + + float2 projectIt(float3 coords) + { + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude + _Time.y * float4(0,0,0,0).x, latitude + _Time.y * float4(0,0,0,0).y) * float2(1.0 / UNITY_PI, 1.0 / UNITY_PI); + sphereCoords = float2(1.0, 1.0) - sphereCoords; + return(sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; + } + + void applyPanosphereColor(inout float4 albedo, inout float3 panosphereEmission) + { + panoMask = POI2D_SAMPLER_PAN(_PanoMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskPanosphere != 4) + { + panoMask *= blackLightMask[_BlackLightMaskPanosphere]; + } + #endif + + + if(float(0)) + { + float3 cubeUV = mul(poiRotationMatrixFromAngles(float4(0,0,0,0).xyz * _Time.y), float4(-poiCam.viewDir, 1)); + half4 cubemap = texCUBE(_PanoCubeMap, cubeUV); + panoColor = DecodeHDR(cubemap, _PanoCubeMap_HDR); + } + else + { + float2 uv = projectIt(normalize(lerp(getCameraPosition().xyz, poiCam.worldPos.xyz, float(0)) - poiMesh.worldPos.xyz) * - 1); + + float2 ddxuv = ddx(uv); + float2 ddyuv = ddy(uv); + if(any(fwidth(uv) > .5)) + { + ddxuv = ddyuv = 0.001; + } + panoColor = tex2D(_PanosphereTexture, TRANSFORM_TEX(uv, _PanosphereTexture), ddxuv, ddyuv).rgb * float4(1,1,1,1).rgb; + } + panosphereEmission = panoColor * float(0) * panoMask * float(0); + albedo.rgb = lerp(albedo.rgb, panoColor, float(0) * panoMask); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta new file mode 100644 index 00000000..27d7147d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 46f037f7129d8484da24e617d00e8e3b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc new file mode 100644 index 00000000..6cd94900 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc @@ -0,0 +1,143 @@ +#ifndef POI_PARALLAX + #define POI_PARALLAX + + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxHeightMap); float4 _ParallaxHeightMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxHeightMapMask); + float2 _ParallaxHeightMapPan; + float _ParallaxStrength; + float _ParallaxHeightMapEnabled; + float _ParallaxUV; + + //Internal + float _ParallaxInternalMapEnabled; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxInternalMap); float4 _ParallaxInternalMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxInternalMapMask); + float _ParallaxInternalIterations; + float _ParallaxInternalMinDepth; + float _ParallaxInternalMaxDepth; + float _ParallaxInternalMinFade; + float _ParallaxInternalMaxFade; + float4 _ParallaxInternalMinColor; + float4 _ParallaxInternalMaxColor; + float4 _ParallaxInternalPanSpeed; + float4 _ParallaxInternalPanDepthSpeed; + float _ParallaxInternalHeightmapMode; + float _ParallaxInternalHeightFromAlpha; + + float GetParallaxHeight(float2 uv) + { + return clamp(UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxHeightMap, _MainTex, TRANSFORM_TEX(uv, _ParallaxHeightMap) + _Time.x * float4(0,0,0,0)).g, 0, .99999); + } + /* + float2 ParallaxOffset(float2 viewDir) + { + float height = GetParallaxHeight(); + height -= 0.5; + height *= float(0); + return viewDir * height; + } + */ + float2 ParallaxRaymarching(float2 viewDir) + { + float2 uvOffset = 0; + float stepSize = 0.1; + float2 uvDelta = viewDir * (stepSize * float(0)); + + float stepHeight = 1; + float surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)]); + + + float2 prevUVOffset = uvOffset; + float prevStepHeight = stepHeight; + float prevSurfaceHeight = surfaceHeight; + + for (int i = 1; i < 10 && stepHeight > surfaceHeight; i ++) + { + prevUVOffset = uvOffset; + prevStepHeight = stepHeight; + prevSurfaceHeight = surfaceHeight; + + uvOffset -= uvDelta; + stepHeight -= stepSize; + surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)] + uvOffset); + } + + float prevDifference = prevStepHeight - prevSurfaceHeight; + float difference = surfaceHeight - stepHeight; + float t = prevDifference / (prevDifference + difference); + uvOffset = prevUVOffset -uvDelta * t; + + return uvOffset *= POI2D_SAMPLER_PAN(_ParallaxHeightMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + + void calculateandApplyParallax() + { + + if (float(0)) + { + float2 parallaxOffset = ParallaxRaymarching(poiCam.tangentViewDir.xy); + + if(float(0) == 0) + { + poiMesh.uv[0] += parallaxOffset; + } + + if(float(0) == 1) + { + poiMesh.uv[1] += parallaxOffset; + } + + if(float(0) == 2) + { + poiMesh.uv[2] += parallaxOffset; + } + + if(float(0) == 3) + { + poiMesh.uv[3] += parallaxOffset; + } + } + } + + void calculateAndApplyInternalParallax(inout float4 finalColor) + { + #if defined(_PARALLAXMAP) + + if(float(0)) + { + float3 parallax = 0; + + for (int j = float(1); j > 0; j --) + { + float ratio = (float)j / float(1); + float2 parallaxOffset = _Time.y * (float4(0,0,0,0) + (1 - ratio) * float4(0,0,0,0)); + float fade = lerp(float(0), float(1), ratio); + float4 parallaxColor = UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxInternalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _ParallaxInternalMap) + lerp(float(0), float(1), ratio) * - poiCam.tangentViewDir.xy + parallaxOffset); + float3 parallaxTint = lerp(float4(1,1,1,1), float4(1,1,1,1), ratio); + float parallaxHeight; + if(float(0)) + { + parallaxTint *= parallaxColor.rgb; + parallaxHeight = parallaxColor.a; + } + else + { + parallaxHeight = parallaxColor.r; + } + //float parallaxColor *= lerp(float4(1,1,1,1), float4(1,1,1,1), 1 - ratio); + + if (float(0) == 1) + { + parallax = lerp(parallax, parallaxTint * fade, parallaxHeight >= 1 - ratio); + } + else + { + parallax += parallaxTint * parallaxHeight * fade; + } + } + //parallax /= float(1); + finalColor.rgb += parallax * POI2D_SAMPLER_PAN(_ParallaxInternalMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta new file mode 100644 index 00000000..9205edc4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bff996981af56934a951f434b56499b5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc new file mode 100644 index 00000000..81230e8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc @@ -0,0 +1,233 @@ +/* +USED--------------------------------------------- +"_PARALLAXMAP", +"_REQUIRE_UV2", +"_SUNDISK_NONE", +"_DETAIL_MULX2", +"_GLOSSYREFLECTIONS_OFF", +"_METALLICGLOSSMAP", +"_COLORADDSUBDIFF_ON", +"_SPECGLOSSMAP", +"_TERRAIN_NORMAL_MAP", +"_SUNDISK_SIMPLE", +"_EMISSION", +"_COLORCOLOR_ON", +"_COLOROVERLAY_ON", +"_ALPHAMODULATE_ON", +"_SUNDISK_HIGH_QUALITY", +"_MAPPING_6_FRAMES_LAYOUT", +"_NORMALMAP" +"EFFECT_BUMP", +"BLOOM", +"BLOOM_LOW", +"GRAIN", +"DEPTH_OF_FIELD", +"USER_LUT", +"CHROMATIC_ABERRATION_LOW", +"BLOOM_LENS_DIRT", +"_FADING_ON", +"CHROMATIC_ABERRATION", +"DISTORT", +"GEOM_TYPE_BRANCH", +"_SPECULARHIGHLIGHTS_OFF", +"_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", +"EFFECT_HUE_VARIATION", +"GEOM_TYPE_LEAF", +"GEOM_TYPE_MESH", +"FINALPASS", +"AUTO_EXPOSURE" +"VIGNETTE", +"VIGNETTE_MASKED", +"COLOR_GRADING_HDR", + +UNUSED------------------------------------------- +"_ALPHABLEND_ON", +"_ALPHAPREMULTIPLY_ON", +"_ALPHATEST_ON", +"GEOM_TYPE_BRANCH_DETAIL", +"GEOM_TYPE_FROND", +"PIXELSNAP_ON", +"SOFTPARTICLES_ON", +"DITHERING", +"TONEMAPPING_NEUTRAL", +"TONEMAPPING_FILMIC", +"TONEMAPPING_ACES", +"TONEMAPPING_CUSTOM", +"DEPTH_OF_FIELD_COC_VIEW", +"COLOR_GRADING", +"COLOR_GRADING_LOG_VIEW", +"VIGNETTE_CLASSIC", +"COLOR_GRADING_HDR_3D", + +DO NOT USE ----------------------------------------- +"BILLBOARD_FACE_CAMERA_POS", +*/ + + +#ifndef POI_PASS + #define POI_PASS + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #ifdef POI_META_PASS + #include "UnityMetaPass.cginc" + #endif + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + + #include "CGI_PoiSpawnInVert.cginc" + + #include "CGI_PoiV2F.cginc" + + #ifdef BLOOM_LOW + #include "CGI_PoiBulge.cginc" + #endif + + #include "CGI_PoiVert.cginc" + + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + + #include "CGI_PoiDithering.cginc" + + #ifdef _PARALLAXMAP + #include "CGI_PoiParallax.cginc" + #endif + + #ifdef USER_LUT + #include "CGI_PoiUVDistortion.cginc" + #endif + + #ifdef VIGNETTE + #include "CGI_PoiRGBMask.cginc" + #endif + + #include "CGI_PoiData.cginc" + + #ifdef _SPECULARHIGHLIGHTS_OFF + #include "CGI_PoiBlackLight.cginc" + #endif + + #include "CGI_PoiSpawnInFrag.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + + #ifdef DEPTH_OF_FIELD + #include "CGI_PoiHologram.cginc" + #endif + + #ifdef BLOOM_LENS_DIRT + #include "CGI_PoiIridescence.cginc" + #endif + + + #ifdef FUR + #include "CGI_PoiFur.cginc" + #include "CGI_PoiGeomFur.cginc" + #endif + + #ifdef VIGNETTE_MASKED + #include "CGI_PoiLighting.cginc" + #endif + + #include "CGI_PoiMainTex.cginc" + + #ifdef GEOM_TYPE_BRANCH + #include "CGI_PoiDecal.cginc" + #endif + + #ifdef CHROMATIC_ABERRATION + #include "CGI_PoiVoronoi.cginc" + #endif + + #ifdef _DETAIL_MULX2 + #include "CGI_PoiPanosphere.cginc" + #endif + + #ifdef EFFECT_BUMP + #include "CGI_PoiMSDF.cginc" + #endif + + #ifdef GRAIN + #include "CGI_PoiDepthColor.cginc" + #endif + + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _GLOSSYREFLECTIONS_OFF + #include "CGI_PoiRimLighting.cginc" + #endif + + #ifdef _MAPPING_6_FRAMES_LAYOUT + #include "CGI_PoiEnvironmentalRimLighting.cginc" + #endif + + #ifdef _METALLICGLOSSMAP + #include "CGI_PoiMetal.cginc" + #endif + + #ifdef _COLORADDSUBDIFF_ON + #include "CGI_PoiMatcap.cginc" + #endif + + #ifdef _SPECGLOSSMAP + #include "CGI_PoiSpecular.cginc" + #endif + + #ifdef BLOOM + #include "CGI_PoiVideo.cginc" + #endif + + #ifdef _TERRAIN_NORMAL_MAP + #include "CGI_PoiSubsurfaceScattering.cginc" + #endif + + #include "CGI_PoiBlending.cginc" + #include "CGI_PoiGrab.cginc" + + #ifdef _SUNDISK_SIMPLE + #include "CGI_PoiGlitter.cginc" + #endif + + #ifdef _EMISSION + #include "CGI_PoiEmission.cginc" + #endif + + #ifdef _COLORCOLOR_ON + #include "CGI_PoiClearCoat.cginc" + #endif + + #include "CGI_PoiAlphaToCoverage.cginc" + + #ifdef _COLOROVERLAY_ON + #include "CGI_PoiDebug.cginc" + #endif + #include "CGI_PoiFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta new file mode 100644 index 00000000..d8ea329f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dea8d33c1887ee34f9b179aaba99353b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc new file mode 100644 index 00000000..5e365972 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc @@ -0,0 +1,26 @@ +#ifndef POI_PASS_OUTLINE + #define POI_PASS_OUTLINE + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "CGI_PoiMacros.cginc" + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiOutlineVert.cginc" + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiLighting.cginc" + #include "CGI_PoiMainTex.cginc" + #include "CGI_PoiData.cginc" + #include "CGI_PoiDithering.cginc" + #include "CGI_PoiOutlineFrag.cginc" +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta new file mode 100644 index 00000000..31feec3e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: deabc9bc7ace0df498665091f45cd474 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc new file mode 100644 index 00000000..d21a5d4d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc @@ -0,0 +1,44 @@ +#ifndef POI_PASS_SHADOW + #define POI_PASS_SHADOW + + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiShadowIncludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiMirror.cginc" + #include "CGI_PoiSpawnInFrag.cginc" + + #include "CGI_PoiV2F.cginc" + #include "CGI_PoiData.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + #include "CGI_PoiDithering.cginc" + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + #include "CGI_PoiSpawnInVert.cginc" + #include "CGI_PoiShadowVert.cginc" + #include "CGI_PoiShadowFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta new file mode 100644 index 00000000..efa9a761 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7d7e847a396b8c344814d7c4ae7a4674 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc new file mode 100644 index 00000000..d4cd1697 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc @@ -0,0 +1,131 @@ +#ifndef POI_RGBMASK + #define POI_RGBMASK + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RGBMask); float4 _RGBMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RedTexure); float4 _RedTexure_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GreenTexture); float4 _GreenTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlueTexture); float4 _BlueTexture_ST; + + #ifdef GEOM_TYPE_MESH + POI_NORMAL_NOSAMPLER(_RgbNormalR); + POI_NORMAL_NOSAMPLER(_RgbNormalG); + POI_NORMAL_NOSAMPLER(_RgbNormalB); + float _RgbNormalsEnabled; + #endif + + float4 _RedColor; + float4 _GreenColor; + float4 _BlueColor; + + float4 _RGBMaskPanning; + float4 _RGBRedPanning; + float4 _RGBGreenPanning; + float4 _RGBBluePanning; + + float _RGBBlendMultiplicative; + + float _RGBMaskUV; + float _RGBRed_UV; + float _RGBGreen_UV; + float _RGBBlue_UV; + float _RGBUseVertexColors; + float _RGBNormalBlend; + + static float3 rgbMask; + + void calculateRGBNormals(inout half3 mainTangentSpaceNormal) + { + #ifdef GEOM_TYPE_MESH + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + + if(float(0)) + { + + if(float(0) == 0) + { + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.r); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.g); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.b); + } + return; + } + else + { + half3 newNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0) * rgbMask.r); + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.g); + normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.b); + mainTangentSpaceNormal = BlendNormals(newNormal, mainTangentSpaceNormal); + return; + } + } + #endif + } + + float3 calculateRGBMask(float3 baseColor) + { + //If RGB normals are in use this data will already exist + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + float4 red = POI2D_SAMPLER_PAN(_RedTexure, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 green = POI2D_SAMPLER_PAN(_GreenTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 blue = POI2D_SAMPLER_PAN(_BlueTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + + if(float(0)) + { + float3 RGBColor = 1; + RGBColor = lerp(RGBColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + baseColor *= RGBColor; + } + else + { + baseColor = lerp(baseColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + } + + return baseColor; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta new file mode 100644 index 00000000..969e67c3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 74a43a23dc6bf1a4c8b3378d11ca91ae +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc new file mode 100644 index 00000000..137ef6de --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc @@ -0,0 +1,4 @@ +#ifndef POI_RNG + #define POI_RNG + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta new file mode 100644 index 00000000..ce22d3d6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f6da9392458d78b4884270150cb0727e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..11f3eea2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,41 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + float _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin; + float _CameraAngleMax; + float _ModelAngleMin; + float _ModelAngleMax; + float _AngleMinAlpha; + float _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = float(45) / 180; + half cameraAngleMax = float(90) / 180; + half modelAngleMin = float(45) / 180; + half modelAngleMax = float(90) / 180; + float3 pos = float(0) == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(float4(0,0,1,0)))); + half cameraLookAtModel = remapClamped(.5 * dot(cameraToModelDirection, getCameraForward()) + .5, cameraAngleMax, cameraAngleMin, 0, 1); + half modelLookAtCamera = remapClamped(.5 * dot(-cameraToModelDirection, modelForwardDirection) + .5, modelAngleMax, modelAngleMin, 0, 1); + if (float(0) == 0) + { + return max(cameraLookAtModel, float(0)); + } + else if(float(0) == 1) + { + return max(modelLookAtCamera, float(0)); + } + else if(float(0) == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, float(0)); + } + return 1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta new file mode 100644 index 00000000..f1dc7807 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 07bc78c37d7a7354bb818db1eba318fa +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc new file mode 100644 index 00000000..d4571c0c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc @@ -0,0 +1,47 @@ +#ifndef POI_RIM + #define POI_RIM + + float4 _RimLightColor; + float _RimLightingInvert; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float _ShadowMix; + float _ShadowMixThreshold; + float _ShadowMixWidthMod; + float _EnableRimLighting; + float _RimBrighten; + float _RimLightNormal; + + POI_TEXTURE_NOSAMPLER(_RimTex); + POI_TEXTURE_NOSAMPLER(_RimMask); + POI_TEXTURE_NOSAMPLER(_RimWidthNoiseTexture); + + float _RimWidthNoiseStrength; + + float4 rimColor = float4(0, 0, 0, 0); + float rim = 0; + + void applyRimLighting(inout float4 albedo, inout float3 rimLightEmission) + { + float rimNoise = POI2D_SAMPLER_PAN(_RimWidthNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimNoise = (rimNoise - .5) * float(0.1); + + float viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + + if (float(0)) + { + viewDotNormal = 1 - abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + } + float rimWidth = float(0.8); + rimWidth -= rimNoise; + float rimMask = POI2D_SAMPLER_PAN(_RimMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimColor = POI2D_SAMPLER_PAN(_RimTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + rimWidth = max(lerp(rimWidth, rimWidth * lerp(0, 1, poiLight.lightMap - float(0.5)) * float(0.5), float(0)),0); + rim = 1 - smoothstep(min(float(0.25), rimWidth), rimWidth, viewDotNormal); + rim *= float4(1,1,1,1).a * rimColor.a * rimMask; + rimLightEmission = rim * lerp(albedo, rimColor, float(0)) * float(0); + albedo.rgb = lerp(albedo.rgb, lerp(albedo.rgb, rimColor, float(0)) + lerp(albedo.rgb, rimColor, float(0)) * float(0), rim); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta new file mode 100644 index 00000000..7ab30ffd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5bbf56f483ffd7c49bf3763ccdfe5dd4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc new file mode 100644 index 00000000..16701f61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc @@ -0,0 +1,116 @@ +#ifndef SHADOW_FRAG + #define SHADOW_FRAG + + float2 _MainDistanceFade; + float _ForceOpaque; + float _MainShadowClipMod; + float2 _AlphaMaskPan; + float _AlphaMaskUV; + sampler3D _DitherMaskLOD; + float2 _MainTexPan; + float _MainTextureUV; + + half4 fragShadowCaster( + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + V2FShadow i, uint facing: SV_IsFrontFace + #endif + ): SV_Target + { + poiMesh.uv[0] = i.uv; + poiMesh.uv[1] = i.uv1; + poiMesh.uv[2] = i.uv2; + poiMesh.uv[3] = i.uv3; + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + + + //Possible Bug with clip + float clipValue = clamp(float(0.5) + float(0), - .001, 1.001); + + poiMesh.vertexColor = saturate(i.vertexColor); + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + #if defined(UNITY_STANDARD_USE_SHADOW_UVS) + + half4 alpha = mainTexture; + + + if (float(0)) + { + if(IsInMirror()) + { + alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a; + } + } + + + alpha.a *= smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(i.modelPos, _WorldSpaceCameraPos)); + half alphaMask = POI2D_PAN(_AlphaMask, poiMesh.uv[float(0)], float4(0,0,0,0)); + alpha.a *= alphaMask; + alpha.a *= float4(1,1,1,1).a + .0001; + alpha.a += float(0); + alpha.a = saturate(alpha.a); + + + if(float(0) == 0) + { + alpha.a = 1; + } + + + if(float(0) == 1) + { + applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy); + } + + #ifdef POI_DISSOLVE + float3 fakeEmission = 1; + calculateDissolve(alpha, fakeEmission); + #endif + + if(float(0) == 1) + { + clip(alpha.a - 0.001); + } + + /* + return poiMesh.vertexColor.g; + + #ifdef POI_RANDOM + alpha.a *= i.angleAlpha; + #endif + + + if(float(0) >= 1) + { + applySpawnInShadow(uv[0], i.localPos); + + #if defined(POI_FLIPBOOK) + alpha.a *= applyFlipbookAlphaToShadow(uv[float(0)]); + #endif + } + */ + + if (float(0) == 1) + { + clip(alpha.a - clipValue); + } + + + if(float(0) > 1) + { + float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a; + clip(dither - 0.01); + } + + #endif + SHADOW_CASTER_FRAGMENT(i) + } + + #endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta new file mode 100644 index 00000000..fa2c17fb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: abaee1dc104958b44ba0fbbcadbe5f76 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc new file mode 100644 index 00000000..fd8f19a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc @@ -0,0 +1,41 @@ +#ifndef SHADOW_INCLUDES + #define SHADOW_INCLUDES + + #define UNITY_STANDARD_USE_SHADOW_UVS 1 + + float4 _Color; + sampler2D _AlphaMask; float4 _AlphaMask_ST; + + struct VertexInputShadow + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + struct V2FShadow + { + V2F_SHADOW_CASTER_NOPOS + float4 pos: SV_POSITION; + float2 uv: TEXCOORD1; + float2 uv1: TEXCOORD2; + float2 uv2: TEXCOORD3; + float2 uv3: TEXCOORD4; + float3 modelPos: TEXCOORD5; + float4 worldPos: TEXCOORD6; + float4 localPos: TEXCOORD7; + float3 angleAlpha: TEXCOORD8; + float4 grabPos: TEXCOORD9; + fixed3 barycentricCoordinates: TEXCOORD10; + float4 vertexColor: TEXCOORD11; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta new file mode 100644 index 00000000..91869b68 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3306147d8e5c45b4eb0e776e4087da92 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc new file mode 100644 index 00000000..f0b7184a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc @@ -0,0 +1,80 @@ +float _EnableTouchGlow; +float _EnableBulge; +float _VertexManipulationHeightUV; + +V2FShadow vertShadowCaster(VertexInputShadow v) +{ + V2FShadow o; + UNITY_SETUP_INSTANCE_ID(v); + + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(V2FShadow, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.uv = v.uv0; + o.uv1 = v.uv1; + o.uv2 = v.uv2; + o.uv3 = v.uv3; + + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, v.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.vertexColor = v.color; + + + if(_EnableTouchGlow || _EnableBulge) + { + o.pos = UnityObjectToClipPos(float3(0, 0, -5)); + o.localPos.xyz = float3(0, 0, -5); + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + } + + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + + o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal); + o.pos = UnityApplyLinearShadowBias(o.pos); + + return o; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta new file mode 100644 index 00000000..888d201b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4d9a34fa2949d4b43aac604e553846ec +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc new file mode 100644 index 00000000..0c18d1ad --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc @@ -0,0 +1,58 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + #endif + + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST; + + float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos) + { + + if (_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + spawnInEmission = saturate(inverseGradient + _SpawnInAlpha + _SpawnInEmissionOffset +noise - 1) * _SpawnInEmissionColor; + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } + + void applySpawnInShadow(float2 uv, float3 localPos) + { + + if(_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float alpha = gradient - _SpawnInAlpha - noise + length(_SpawnInVertOffset); + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta new file mode 100644 index 00000000..d767b372 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0212a1505abe9f14b91d9a621ccfae68 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc new file mode 100644 index 00000000..fdcc457f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc @@ -0,0 +1,40 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + + #endif + //sampler2D _SpawnInNoiseVert; float4 _SpawnInNoiseVert_ST; + + float calculateGradientValueVert(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv) + { + + if (_EnableScifiSpawnIn) + { + float noise = 0; + float gradient = calculateGradientValueVert(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + worldPos.xyz += saturate(inverseGradient + _SpawnInAlpha + _SpawnInVertOffsetOffset -1) * float3(0, _SpawnInVertOffset, 0); + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + //float noise = tex2Dlod(_SpawnInNoise, float4(TRANSFORM_TEX(uv, _SpawnInNoise))).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta new file mode 100644 index 00000000..706cb3c6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 306f3bcc9ee8df54c854fc07d1981d77 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc new file mode 100644 index 00000000..f5287465 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc @@ -0,0 +1,488 @@ +#ifndef POI_SPECULAR + #define POI_SPECULAR + float _SpecWhatTangent; + float _SpecularType; + float _SmoothnessFrom; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap); + POI_TEXTURE_NOSAMPLER(_SpecularMap); + fixed _CenterOutSpecColor; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro); + float _SpecularAnisoJitterMirrored; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoFakeUV); + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap); + POI_TEXTURE_NOSAMPLER(_SpecularMask); + float _SpecularAnisoJitterMicroMultiplier; + float _SpecularAnisoJitterMacroMultiplier; + float4 _SpecularTint; + float _SpecularSmoothness; + float _Spec1Offset; + float _Spec1JitterStrength; + float _Spec2Smoothness; + float _Spec2Offset; + float _Spec2JitterStrength; + float _AnisoUseTangentMap; + float _AnisoSpec1Alpha; + float _AnisoSpec2Alpha; + float _SpecularInvertSmoothness; + half _SpecularMetallic; + float _SpecularNormal; + float _SpecularNormal1; + // Toon + fixed _SpecularToonStart; + fixed _SpecularToonEnd; + half4 _SpecularToonInnerOuter; + + float _EnableSpecular1; + float _SpecWhatTangent1; + float _SpecularType1; + float _SmoothnessFrom1; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMap1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro1); + float _SpecularAnisoJitterMirrored1; + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMask1); + float _SpecularAnisoJitterMicroMultiplier1; + float _SpecularAnisoJitterMacroMultiplier1; + float4 _SpecularTint1; + float _SpecularSmoothness1; + float _Spec1Offset1; + float _Spec1JitterStrength1; + float _Spec2Smoothness1; + float _Spec2Offset1; + float _Spec2JitterStrength1; + float _AnisoUseTangentMap1; + float _AnisoSpec1Alpha1; + float _AnisoSpec2Alpha1; + float _SpecularInvertSmoothness1; + half _SpecularMetallic1; + // Toon + half4 _SpecularToonInnerOuter1; + fixed _SpecularToonStart1; + fixed _SpecularToonEnd1; + + UnityIndirect ZeroIndirect() + { + UnityIndirect ind; + ind.diffuse = 0; + ind.specular = 0; + return ind; + } + + // From unity just putting it here in case I want to mod it + half4 poiRealisticSpecular(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, + float3 normal, float3 halfDir, + UnityLight light, UnityIndirect gi) + { + float perceptualRoughness = SmoothnessToPerceptualRoughness(smoothness); + #define UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV 0 + + #if UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV + half shiftAmount = dot(normal, poiCam.viewDir); + normal = shiftAmount < 0.0f ? normal + poiCam.viewDir * (-shiftAmount + 1e-5f): normal; + float nv = saturate(dot(normal, poiCam.viewDir)); + #else + half nv = abs(dot(normal, poiCam.viewDir)); + #endif + + float nl = saturate(dot(normal, light.dir)); + float nh = saturate(dot(normal, halfDir)); + + half lv = saturate(dot(light.dir, poiCam.viewDir)); + half lh = saturate(dot(light.dir, halfDir)); + + half diffuseTerm = DisneyDiffuse(nv, nl, lh, perceptualRoughness) * nl; + + float roughness = PerceptualRoughnessToRoughness(perceptualRoughness); + + roughness = max(roughness, 0.002); + float V = SmithJointGGXVisibilityTerm(nl, nv, roughness); + float D = GGXTerm(nh, roughness); + + float specularTerm = V * D * UNITY_PI; + + #ifdef UNITY_COLORSPACE_GAMMA + specularTerm = sqrt(max(1e-4h, specularTerm)); + #endif + + specularTerm = max(0, specularTerm * nl); + #if defined(_POI_SPECULARHIGHLIGHTS_OFF) + specularTerm = 0.0; + #endif + + half surfaceReduction; + #ifdef UNITY_COLORSPACE_GAMMA + surfaceReduction = 1.0 - 0.28 * roughness * perceptualRoughness; + #else + surfaceReduction = 1.0 / (roughness * roughness + 1.0); + #endif + + specularTerm *= any(specColor) ? 1.0: 0.0; + + half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); + half3 color = diffColor * (gi.diffuse + light.color * diffuseTerm) + + specularTerm * light.color * FresnelTerm(specColor, lh) + + surfaceReduction * gi.specular * FresnelLerp(specColor, grazingTerm, nv); + + return half4(color, 1); + } + + half3 calculateRealisticSpecular(float4 albedo, float2 uv, float4 specularTint, float specularSmoothness, float invertSmoothness, float mixAlbedoWithTint, float4 specularMap, float3 specularLight, float3 normal, float attenuation, float3 lightDirection, float nDotL, float3 halfDir) + { + half oneMinusReflectivity; + half3 finalSpecular; + UnityLight unityLight; + unityLight.color = specularLight; + unityLight.dir = lightDirection; + unityLight.ndotl = nDotL; + + + if (float(1) == 0) + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularMap.rgb * specularTint.rgb, /*out*/ oneMinusReflectivity); + finalSpecular = poiRealisticSpecular(diffColor, specularMap.rgb, oneMinusReflectivity, specularMap.a * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + else + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularTint.rgb, /*out*/ oneMinusReflectivity); + float smoothness = max(max(specularMap.r, specularMap.g), specularMap.b); + finalSpecular = poiRealisticSpecular(diffColor, 1, oneMinusReflectivity, smoothness * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + finalSpecular *= lerp(1, albedo.rgb, mixAlbedoWithTint); + return finalSpecular; + } + + half3 calculateToonSpecular(float4 albedo, float2 uv, float2 specularToonInnerOuter, float specularMixAlbedoIntoTint, float smoothnessFrom, float4 specularMap, float3 specularLight, float3 normal, float3 halfDir, float attenuation) + { + half3 finalSpecular = smoothstep(1 - specularToonInnerOuter.y, 1 - specularToonInnerOuter.x, dot(halfDir, normal)) * specularLight; + + if (smoothnessFrom == 0) + { + finalSpecular.rgb *= specularMap.rgb * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + finalSpecular *= specularMap.a; + } + else + { + finalSpecular *= specularMap.r * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + return finalSpecular; + } + + float3 strandSpecular(float TdotL, float TdotV, float specPower, float nDotL) + { + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + float Specular = saturate(nDotL) * pow(saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV), specPower); + half normalization = sqrt((specPower + 1) * ((specPower) + 1)) / (8 * pi); + Specular *= normalization; + return Specular; + } + + half3 AnisotropicSpecular( + float specWhatTangent, float anisoUseTangentMap, float specularSmoothness, float spec2Smoothness, + float anisoSpec1Alpha, float anisoSpec2Alpha, float4 specularTint, float specularMixAlbedoIntoTint, float4 specularMap, float3 specularLight, float3 lightDirection, float3 halfDir, float nDotL, float jitter, float4 packedTangentMap, in float4 albedo) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + tangentDirectionMap += float(0) +jitter; + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + half specPower = RoughnessToSpecPower(1.0 - specularSmoothness * specularMap.a); + half spec2Power = RoughnessToSpecPower(1.0 - spec2Smoothness * specularMap.a); + half Specular = 0; + + float3 spec = strandSpecular(TdotL, TdotV, specPower, nDotL) * anisoSpec1Alpha; + float3 spec2 = strandSpecular(TdotL, TdotV, spec2Power, nDotL) * anisoSpec2Alpha; + + return max(spec, spec2) * specularMap.rgb * specularTint.a * specularLight * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + + inline float3 toonAnisoSpecular(float specWhatTangent, float anisoUseTangentMap, float3 lightDirection, float halfDir, float4 specularMap, float nDotL, fixed gradientStart, fixed gradientEnd, float4 specColor, float4 finalColor, fixed metallic, float jitter, float mirrored, float4 packedTangentMap) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + if (!mirrored) + { + tangentDirectionMap += jitter; + } + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + + float specular = saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV); + + fixed smoothAlpha = specular; + if(mirrored) + { + smoothAlpha = max(specular - jitter, 0); + } + + specular = smoothstep(gradientStart, gradientEnd, smoothAlpha); + + /* + + if(_CenterOutSpecColor) + { + specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, clamp(float2(specular, specular), 0.01, .99), float4(0,0,0,0)); + } + */ + + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + + return saturate(nDotL) * specular * poiLight.color * specColor * specularMap.rgb * lerp(1, finalColor, metallic) * specularMap.a; + } + + inline float SpecularHQ(half roughness, half dotNH, half dotLH) + { + roughness = saturate(roughness); + roughness = max((roughness * roughness), 0.002); + half roughnessX2 = roughness * roughness; + + half denom = dotNH * dotNH * (roughnessX2 - 1.0) + 1.0f; + half D = roughnessX2 / (3.14159 * denom * denom); + + half k = roughness / 2.0f; + half k2 = k * k; + half invK2 = 1.0f - k2; + + half vis = rcp(dotLH * dotLH * invK2 + k2); + + float specTerm = vis * D; + + return specTerm; + } + + float3 calculateNewSpecular(in float3 specularMap, uint colorFrom, in float4 albedo, in float3 specularTint, in float specularMetallic, in float specularSmoothness, in half dotNH, in half dotLH, in float3 lightColor, in float attenuation) + { + float3 specColor = specularTint; + float metallic = specularMetallic; + float roughness = 1 - specularSmoothness; + float perceptualRoughness = roughness; + //float reflectInverse = DielectricSpec.a - metallic * DielectricSpec.a; + //float reflectivity = 1.0h - reflectInverse; + float3 specMapColor = lerp(specularMap, 1, colorFrom); + float3 specularColor = lerp(DielectricSpec.rgb * specMapColor, lerp(specularMap, albedo.rgb, colorFrom), metallic); + //albedo.rgb *= reflectInverse; + return clamp(specularColor * lightColor * attenuation * specularTint * SpecularHQ(perceptualRoughness, dotNH, dotLH), 0, lightColor * specularTint); + } + + float3 calculateSpecular(in float4 albedo) + { + half3 finalSpecular = 0; + half3 finalSpecular1 = 0; + float4 realisticAlbedo = albedo; + float4 realisticAlbedo1 = albedo; + float4 specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half metallic = POI2D_SAMPLER_PAN(_SpecularMetallicMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + half specularMask = POI2D_SAMPLER_PAN(_SpecularMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float attenuation = saturate(poiLight.nDotL); + #ifdef POI_LIGHTING + + if (float(0) && float(0) == 0 && float(0) == 1) + { + attenuation = poiLight.rampedLightMap; + } + #endif + + + if(float(1) == 1) // Realistic + { + if (float(1) == 1) + { + specularMap.a = specularMap.r; + specularMap.rgb = 1; + } + + if(float(0)) + { + specularMap.a = 1 - specularMap.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, attenuation); + #else + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic, jitter, float(0), packedTangentMap); + finalSpecular *= attenuation; + } + + #ifdef FORWARD_BASE_PASS + + if(float(1) == 2) // Toon + { + finalSpecular += calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic, float(1), specularMap, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += AnisotropicSpecular(float(0), float(0), float(1), float(0), float(1), float(1), float4(1,1,1,1), metallic, specularMap, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular *= float4(1,1,1,1); + finalSpecular *= attenuation; + } + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + + finalSpecular *= float4(1,1,1,1).a; + finalSpecular = finalSpecular.rgb; + finalSpecular *= specularMask; + + + if (float(0)) + { + float4 specularMap1 = POI2D_SAMPLER_PAN(_SpecularMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half specularMask1 = POI2D_SAMPLER_PAN(_SpecularMask1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + half metallic1 = POI2D_SAMPLER_PAN(_SpecularMetallicMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + float attenuation = poiLight.attenuation; + + if(float(1) == 1) // Realistic + { + + if (float(1) == 1) + { + specularMap1.a = specularMap1.r; + specularMap1.rgb = 1; + } + else + { + realisticAlbedo1.rgb = specularMap1.rgb; + } + + + if(float(0)) + { + specularMap1.a = 1 - specularMap1.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, saturate(poiLight.nDotL)); + #else + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap1, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic1, jitter, float(0), packedTangentMap); + finalSpecular1 *= poiLight.attenuation; + } + + + if(float(1) == 2) // Toon + { + finalSpecular1 = calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic1, float(1), specularMap1, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular1 *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 = AnisotropicSpecular(float(0), float(0), float(0.75), float(0), float(1), float(1), float4(1,1,1,1), metallic1, specularMap1, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular1 *= float4(1,1,1,1); + finalSpecular1 *= poiLight.attenuation; + } + + #ifdef FORWARD_BASE_PASS + // Non Important Lights + #ifdef VERTEXLIGHT_ON + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular1 += calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + #endif + + finalSpecular1 *= float4(1,1,1,1).a; + finalSpecular1 = finalSpecular1.rgb; + finalSpecular1 *= specularMask1; + } + return finalSpecular + finalSpecular1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta new file mode 100644 index 00000000..64d20390 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ac4ea398ad4dffb4a9acd48d8ae4ed5d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc new file mode 100644 index 00000000..b7c21c01 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc @@ -0,0 +1,28 @@ +#ifndef SUBSURFACE + #define SUBSURFACE + + float _SSSThicknessMod; + float _SSSSCale; + float _SSSPower; + float _SSSDistortion; + float4 _SSSColor; + float _EnableSSS; + + POI_TEXTURE_NOSAMPLER(_SSSThicknessMap); + + float3 calculateSubsurfaceScattering() + { + float SSS = 1 - POI2D_SAMPLER_PAN(_SSSThicknessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + half3 vLTLight = poiLight.direction + poiMesh.normals[0] * float(1); + half flTDot = pow(saturate(dot(poiCam.viewDir, -vLTLight)), float(5)) * float(0.25); + #ifdef FORWARD_BASE_PASS + half3 fLT = (flTDot) * saturate(SSS + - 1 * float(0)); + #else + half3 fLT = poiLight.attenuation * (flTDot) * saturate(SSS + - 1 * float(0)); + #endif + + return fLT * poiLight.color * float4(1,0,0,1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta new file mode 100644 index 00000000..a4daba57 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ccd5e58947ba2dc469d9a8892fed59a9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc new file mode 100644 index 00000000..4912473d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc @@ -0,0 +1,117 @@ +#ifndef POI_TESSELLATION + #define POI_TESSELLATION + + float _TessellationPhongStrength; + float _TessellationEdgeLength; + float _TessellationExtrusionAmount; + float _TessellationUniform; + + struct TessellationControlPoint + { + float4 vertex: INTERNALTESSPOS; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + }; + + struct TessellationFactors + { + float edge[3]: SV_TessFactor; + float inside: SV_InsideTessFactor; + }; + + TessellationControlPoint poiTessellationVert(appdata v) + { + TessellationControlPoint p; + p.vertex = v.vertex; + p.normal = v.normal; + p.tangent = v.tangent; + p.color = v.color; + p.uv0 = v.uv0; + p.uv1 = v.uv1; + p.uv2 = v.uv2; + p.uv3 = v.uv3; + return p; + } + + float TessellationEdgeFactor(float3 p0, float3 p1) + { + #ifndef _FADING_ON + float edgeLength = distance(p0, p1); + + float3 edgeCenter = (p0 + p1) * 0.5; + float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos); + + return edgeLength * _ScreenParams.y / + (_TessellationEdgeLength * viewDistance); + #else + return _TessellationUniform; + #endif + } + + TessellationFactors poiPatchConst( + InputPatch < TessellationControlPoint, 3 > patch + ) + { + + TessellationFactors f; + float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz; + float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz; + float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz; + f.edge[0] = TessellationEdgeFactor(p1, p2); + f.edge[1] = TessellationEdgeFactor(p2, p0); + f.edge[2] = TessellationEdgeFactor(p0, p1); + f.inside = (TessellationEdgeFactor(p1, p2) + + TessellationEdgeFactor(p2, p0) + + TessellationEdgeFactor(p0, p1)) * (1 / 3.0); + return f; + } + + [UNITY_domain("tri")] + [UNITY_outputcontrolpoints(3)] + [UNITY_outputtopology("triangle_cw")] + [UNITY_partitioning("fractional_odd")] + [UNITY_patchconstantfunc("poiPatchConst")] + TessellationControlPoint poiHull( + InputPatch < TessellationControlPoint, 3 > patch, + uint id: SV_OutputControlPointID + ) + { + return patch[id]; + } + + [UNITY_domain("tri")] + v2f poiDomain( + TessellationFactors factors, + OutputPatch < TessellationControlPoint, 3 > patch, + float3 barycentricCoordinates: SV_DomainLocation + ) + { + appdata data; + + #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z; + + MY_DOMAIN_PROGRAM_INTERPOLATE(vertex) + float3 pp[3]; + for (int i = 0; i < 3; ++ i) + { + pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + } + data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz; + MY_DOMAIN_PROGRAM_INTERPOLATE(normal) + data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount; + MY_DOMAIN_PROGRAM_INTERPOLATE(tangent) + MY_DOMAIN_PROGRAM_INTERPOLATE(color) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv0) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv1) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv2) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv3) + + return vert(data); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta new file mode 100644 index 00000000..84c8bf6f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 475a14e2dd679d948a3f29496628ee51 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc new file mode 100644 index 00000000..38d5fd75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc @@ -0,0 +1,34 @@ +#ifndef POI_UV_DISTORTION + #define POI_UV_DISTORTION + + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture); float4 _DistortionFlowTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture1); float4 _DistortionFlowTexture1_ST; + POI_TEXTURE_NOSAMPLER(_DistortionMask); + + float _DistortionStrength; + float _DistortionStrength1; + float2 _DistortionSpeed; + float2 _DistortionSpeed1; + + float2 getTorusUv(float2 uv) + { + // translated to hlsl from https://www.shadertoy.com/view/Md3Bz7 + // http://web.cs.ucdavis.edu/~amenta/s12/findnorm.pdf + float phi = 6.28318530718f * uv.x; + float theta = 6.28318530718f * uv.y; + float3 c = cos(float3(phi, phi + 1.57079632679f, theta)); + float2 result = float2(c.x * c.z, -c.y * c.z); + return result * 0.5 + 0.5; + } + + float2 calculateDistortionUV(float2 uv) + { + half distortionMask = POI2D_SAMPLER_PAN(_DistortionMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flowVector = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + float4 flowVector1 = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture1, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture1) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + flowVector *= float(0.5); + flowVector1 *= float(0.5); + return uv + ((flowVector.xy + flowVector1.xy) / 2) * distortionMask; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta new file mode 100644 index 00000000..b6d300eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 19115d3e80ad7844386ec94a25207dc3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc new file mode 100644 index 00000000..0e29a179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc @@ -0,0 +1,34 @@ +#ifndef POI_V2F + #define POI_V2F + + struct v2f + { + float4 pos: SV_POSITION; + float4 uv0: TEXCOORD0; + float4 uv1: TEXCOORD1; + float3 normal: TEXCOORD2; + float3 tangentViewDir: TEXCOORD3; + float4 tangent: TEXCOORD4; + float4 worldPos: TEXCOORD5; + float4 localPos: TEXCOORD6; + float4 grabPos: TEXCOORD7; + float3 barycentricCoordinates: TEXCOORD8; + #if defined(GRAIN) + float4 worldDirection: TEXCOORD9; + #endif + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV: TEXCOORD10; + #endif + float3 modelPos: TEXCOORD11; + float angleAlpha: TEXCOORD12; + float4 vertexColor: TEXCOORD14; + #ifdef FUR + float furAlpha: TEXCOORD15; + #endif + UNITY_SHADOW_COORDS(16) + UNITY_FOG_COORDS(17) + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta new file mode 100644 index 00000000..4a720104 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9912229cc61bd794aac4d445b4072248 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc new file mode 100644 index 00000000..1558e937 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc @@ -0,0 +1,126 @@ +#ifndef POI_VERT + #define POI_VERT + + float _VertexManipulationHeightUV; + float _VertexUnwrap; + + #define PM UNITY_MATRIX_P + + inline float4 CalculateFrustumCorrection() + { + float x1 = -PM._31 / (PM._11 * PM._34); + float x2 = -PM._32 / (PM._22 * PM._34); + return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23); + } + + v2f vert(appdata v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + #ifdef _COLOROVERLAY_ON + v.vertex.xyz = lerp(v.vertex.xyz, float3(v.uv0.x - .5, v.uv0.y - .5, 0), float(0)); + #endif + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.tangent, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + #ifdef _REQUIRE_UV2 //POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.normal = UnityObjectToWorldNormal(v.normal); + //o.localPos.x *= -1; + //o.localPos.xz += sin(o.localPos.y * 100 + _Time.y * 5) * .0025; + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, o.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + o.vertexColor = v.color; + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + + #ifdef POI_BULGE + bulgyWolgy(o); + #endif + + + o.angleAlpha = 1; + #ifdef _SUNDISK_NONE //POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + #if defined(LIGHTMAP_ON) + o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0.xy); + UNITY_TRANSFER_FOG(o, o.pos); + + #if defined(_PARALLAXMAP) // POI_PARALLAX + v.tangent.xyz = normalize(v.tangent.xyz); + v.normal = normalize(v.normal); + float3x3 objectToTangent = float3x3( + v.tangent.xyz, + cross(v.normal, v.tangent.xyz) * v.tangent.w, + v.normal + ); + o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex)); + #endif + + #ifdef POI_META_PASS + o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); + #endif + + #if defined(GRAIN) + float4 worldDirection; + + worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos; + worldDirection.w = dot(o.pos, CalculateFrustumCorrection()); + o.worldDirection = worldDirection; + #endif + + return o; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta new file mode 100644 index 00000000..e93fb8e6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 68836aa3aa8e6b14597cecd022a994c2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc new file mode 100644 index 00000000..94c16148 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc @@ -0,0 +1,93 @@ +#ifndef POI_VERTEX_MANIPULATION + #define POI_VERTEX_MANIPULATION + + #include "CGI_PoiMath.cginc" + + float4 _VertexManipulationLocalTranslation; + float4 _VertexManipulationLocalRotation; + float4 _VertexManipulationLocalScale; + float4 _VertexManipulationWorldTranslation; + + float _VertexManipulationHeight; + float _VertexManipulationHeightBias; + sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST; + float2 _VertexManipulationHeightPan; + + + //Vertex Glitching + float _EnableVertexGlitch; + sampler2D _VertexGlitchMap; float4 _VertexGlitchMap_ST; + float _VertexGlitchThreshold; + float _VertexGlitchFrequency; + float _VertexGlitchStrength; + // Rounding + float _VertexRoundingDivision; + float _VertexRoundingEnabled; + + void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyVertexRounding(inout float4 worldPos, inout float4 localPos) + { + + if (float(0)) + { + worldPos.xyz = (ceil(worldPos * float(500)) / float(500)) - 1 / float(500) * .5; + localPos = mul(unity_WorldToObject, worldPos); + } + } + + void applyVertexGlitching(inout float4 worldPos, inout float4 localPos) + { + + if(_EnableVertexGlitch) + { + float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + forward.y = 0; + forward = normalize(forward); + float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward)); + float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1; + /* + float uvl = worldPos.y * _VertexGlitchDensity + _Time.x * _VertexGlitchMapPanSpeed; + float uvr = worldPos.y * _VertexGlitchDensity - _Time.x * _VertexGlitchMapPanSpeed; + float glitchAmountLeft = tex2Dlod(_VertexGlitchMap, float4(uvl, uvl, 0, 0)).r; + float glitchAmountRight = -tex2Dlod(_VertexGlitchMap, float4(uvr, uvr, 0, 0)).r; + float glitchAmount = glitchAmountLeft + glitchAmountRight; + */ + float time = _Time.y * _VertexGlitchFrequency; + float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4; + worldPos.xyz += glitchAmount * glitchDirection * (_VertexGlitchStrength * .01) * step(_VertexGlitchThreshold, randomGlitch); + localPos = mul(unity_WorldToObject, worldPos); + } + } + +#endif +// diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta new file mode 100644 index 00000000..9d7ae38b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6162d643d9b531b46a6d3b38816f5864 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc new file mode 100644 index 00000000..ec2d37e4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc @@ -0,0 +1,266 @@ +#ifndef POI_VIDEO + #define POI_VIDEO + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoPixelTexture); float4 _VideoPixelTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoMaskTexture); float4 _VideoMaskTexture_ST; + + float _VideoUVNumber; + float _VideoType; + float3 pixels; + float2 _VideoResolution; + sampler2D _VideoGameboyRamp; + half _VideoBacklight; + half _VideoCRTRefreshRate; + half _VideoCRTPixelEnergizedTime; + half _VideoEnableVideoPlayer; + half _VideoRepeatVideoTexture; + half _VideoPixelateToResolution; + float2 _VideoMaskPanning; + // Video Settings + half _VideoSaturation; + half _VideoContrast; + float2 _VideoTiling; + float2 _VideoOffset; + float2 _VideoPanning; + //Debug + half _VideoEnableDebug; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoDebugTexture); float4 _VideoDebugTexture_ST; + + + sampler2D _VRChat_VideoPlayer; + float4 _VRChat_VideoPlayer_TexelSize; + + float4 globalVideoPlayerColor; + float3 globalColorToDisplayOnScreen; + float globalVideoOn; + + float3 applyBacklight(float3 albedo, half backlightStrength) + { + return max(backlightStrength, albedo.rgb); + } + + float3 applyViewAngleTN(float3 albedo) + { + float3 reflectionVector = normalize(reflect(poiCam.viewDir.rgb, poiMesh.normals[1].rgb)); + float upwardShift = dot(reflectionVector, poiMesh.binormal); + upwardShift = pow(upwardShift, 1); + float sideShift = dot(reflectionVector, poiMesh.tangent); + sideShift *= pow(sideShift, 3); + #if !UNITY_COLORSPACE_GAMMA + albedo = LinearToGammaSpace(albedo); + #endif + albedo = saturate(lerp(half3(0.5, 0.5, 0.5), albedo, upwardShift + 1)); + #if !UNITY_COLORSPACE_GAMMA + albedo = GammaToLinearSpace(albedo); + #endif + albedo = (lerp(albedo, albedo.gbr, sideShift)); + return albedo; + } + + float calculateCRTPixelBrightness() + { + float totalPixels = _VideoResolution.x * _VideoResolution.y; + float2 uvPixel = float2((floor((1 - poiMesh.uv[_VideoUVNumber].y) * _VideoResolution.y)) / _VideoResolution.y, (floor(poiMesh.uv[_VideoUVNumber].x * _VideoResolution.x)) / _VideoResolution.x); + float currentPixelNumber = _VideoResolution.x * (_VideoResolution.y * uvPixel.x) + _VideoResolution.y * uvPixel.y; + float currentPixelAlpha = currentPixelNumber / totalPixels; + half electronBeamAlpha = frac(_Time.y * _VideoCRTRefreshRate); + float electronBeamPixelNumber = totalPixels * electronBeamAlpha; + + float DistanceInPixelsFromCurrentElectronBeamPixel = 0; + if (electronBeamPixelNumber >= currentPixelNumber) + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber - currentPixelNumber; + } + else + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber + (totalPixels - currentPixelNumber); + } + float CRTFrameTime = 1 / _VideoCRTRefreshRate; + float timeSincecurrentPixelWasHitByElectronBeam = (DistanceInPixelsFromCurrentElectronBeamPixel / totalPixels); + + return saturate(_VideoCRTPixelEnergizedTime - timeSincecurrentPixelWasHitByElectronBeam); + } + + void applyContrastSettings(inout float3 pixel) + { + #if !UNITY_COLORSPACE_GAMMA + pixel = LinearToGammaSpace(pixel); + #endif + pixel = saturate(lerp(half3(0.5, 0.5, 0.5), pixel, _VideoContrast + 1)); + #if !UNITY_COLORSPACE_GAMMA + pixel = GammaToLinearSpace(pixel); + #endif + } + + void applySaturationSettings(inout float3 pixel) + { + pixel = lerp(pixel.rgb, dot(pixel.rgb, float3(0.3, 0.59, 0.11)), -_VideoSaturation); + } + + void applyVideoSettings(inout float3 pixel) + { + applySaturationSettings(pixel); + applyContrastSettings(pixel); + } + + void calculateLCD(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateTN(inout float4 albedo) + { + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + globalColorToDisplayOnScreen = applyViewAngleTN(globalColorToDisplayOnScreen); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateCRT(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + float brightness = calculateCRTPixelBrightness(); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * brightness * _VideoBacklight; + } + void calculateOLED(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateGameboy(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + half brightness = saturate((globalColorToDisplayOnScreen.r + globalColorToDisplayOnScreen.g + globalColorToDisplayOnScreen.b) * .3333333); + albedo.rgb = tex2D(_VideoGameboyRamp, brightness); + } + void calculateProjector(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + + float3 projectorColor = albedo * globalColorToDisplayOnScreen * _VideoBacklight; + albedo.r = clamp(projectorColor.r, albedo.r, 1000); + albedo.g = clamp(projectorColor.g, albedo.g, 1000); + albedo.b = clamp(projectorColor.b, albedo.b, 1000); + } + + void applyScreenEffect(inout float4 albedo, inout float3 videoEmission) + { + float4 albedoBeforeScreen = albedo; + + pixels = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoPixelTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoPixelTexture) * _VideoResolution); + globalVideoOn = 0; + + if(_VideoEnableVideoPlayer == 1) + { + float4 videoTexture = 0; + + if(_VideoPixelateToResolution) + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, round(TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoResolution + .5) / _VideoResolution); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, round(poiMesh.uv[_VideoUVNumber] * _VideoResolution + .5) / _VideoResolution); + } + } + else + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoTiling + _VideoOffset); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, ((poiMesh.uv[_VideoUVNumber] + _Time.x * _VideoPanning) * _VideoTiling) + _VideoOffset); + } + } + if(videoTexture.a == 1) + { + globalColorToDisplayOnScreen = videoTexture.rgb; + globalVideoOn = 1; + } + } + + + if(_VideoRepeatVideoTexture == 1) + { + if(poiMesh.uv[_VideoUVNumber].x > 1 || poiMesh.uv[_VideoUVNumber].x < 0 || poiMesh.uv[_VideoUVNumber].y > 1 || poiMesh.uv[_VideoUVNumber].y < 0) + { + return; + } + } + + switch(_VideoType) + { + case 0: // LCD + { + calculateLCD(albedo); + break; + } + case 1: // TN + { + calculateTN(albedo); + break; + } + case 2: // CRT + { + calculateCRT(albedo); + break; + } + case 3: // OLED + { + calculateOLED(albedo); + break; + } + case 4: // Gameboy + { + calculateGameboy(albedo); + break; + } + case 5: // Projector + { + calculateProjector(albedo); + break; + } + } + + float screenMask = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoMaskTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoMaskTexture) + _Time.x * _VideoMaskPanning); + albedo = lerp(albedoBeforeScreen, albedo, screenMask); + videoEmission = max(albedo.rgb * screenMask - 1, 0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta new file mode 100644 index 00000000..a026cb2e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d06f641eb1aa2464d81d6c0865692435 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc new file mode 100644 index 00000000..db3d3130 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc @@ -0,0 +1,304 @@ +#ifndef POI_VORONOI + #define POI_VORONOI + + #include "CGI_PoiRNG.cginc" + + float _VoronoiSpace; + float _VoronoiBlend; + float _VoronoiType; + float4 _VoronoiColor0; + float _VoronoiEmission0; + float4 _VoronoiColor1; + float _VoronoiEmission1; + float2 _VoronoiGradient; + float _VoronoiScale; + float3 _VoronoiSpeed; + float _VoronoiEnableRandomCellColor; + float2 _VoronoiRandomMinMaxSaturation; + float2 _VoronoiRandomMinMaxBrightness; + float3 randomPoint; + float _VoronoiEffectsMaterialAlpha; + + POI_TEXTURE_NOSAMPLER(_VoronoiMask); + POI_TEXTURE_NOSAMPLER(_VoronoiNoise); + float _VoronoiNoiseIntensity; + + float2 inoise(float3 P, float jitter) + { + float3 Pi = mod(floor(P), 289.0); + float3 Pf = frac(P); + float3 oi = float3(-1.0, 0.0, 1.0); + float3 of = float3(-0.5, 0.5, 1.5); + float3 px = Permutation(Pi.x + oi); + float3 py = Permutation(Pi.y + oi); + + float3 p, ox, oy, oz, dx, dy, dz; + float2 F = 1e6; + + for (int i = 0; i < 3; i ++) + { + for (int j = 0; j < 3; j ++) + { + p = Permutation(px[i] + py[j] + Pi.z + oi); // pij1, pij2, pij3 + + ox = frac(p * K) - Ko; + oy = mod(floor(p * K), 7.0) * K - Ko; + + p = Permutation(p); + + oz = frac(p * K) - Ko; + + dx = Pf.x - of[i] + jitter * ox; + dy = Pf.y - of[j] + jitter * oy; + dz = Pf.z - of + jitter * oz; + + float3 d = dx * dx + dy * dy + dz * dz; // dij1, dij2 and dij3, squared + + //Find lowest and second lowest distances + for (int n = 0; n < 3; n ++) + { + if (d[n] < F[0]) + { + F[1] = F[0]; + F[0] = d[n]; + randomPoint = p; + } + else if(d[n] < F[1]) + { + F[1] = d[n]; + } + } + } + } + + return F; + } + + float voronoi2D(in float2 x, float scale, float2 speed) + { + x *= scale; + x += speed * _Time.x; + float2 n = floor(x); + float2 f = frac(x); + + // first pass: regular voronoi + float2 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 g = float2(float(i), float(j)); + float2 o = random2(n + g); + float2 currentPoint = o; + + float2 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint.xy = currentPoint; + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + float2 g = mg + float2(float(q), float(r)); + float2 o = random2(n + g); + + float2 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + return md; + } + + float voronoi3D(in float3 x, float scale, float3 speed) + { + x *= scale; + x += speed * _Time.x; + float3 n = floor(x); + float3 f = frac(x); + + // first pass: regular voronoi + float3 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + for (int h = -1; h <= 1; h ++) + { + float3 g = float3(float(h), float(i), float(j)); + float3 o = random3(n + g); + float3 currentPoint = o; + + float3 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint = currentPoint; + } + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + for (int p = -2; p <= 2; p ++) + { + float3 g = mg + float3(float(p), float(q), float(r)); + float3 o = random3(n + g); + + float3 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + } + return md; + } + + + + // fracal sum, range -1.0 - 1.0 + float VoronoiNoise_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + float VoronoiNoiseDiff_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[1]) - sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + void applyVoronoi(inout float4 finalColor, inout float3 VoronoiEmission) + { + float voronoiOctaveNumber = 1; + float voronoiOctaveScale = 1; + float voronoiOctaveAttenuation = 1; + randomPoint = 0; + float4 voronoiColor1 = _VoronoiColor1; + + float voronoi = 0; + + float3 position = 0; + + + if (_VoronoiSpace == 0) + { + position = poiMesh.localPos; + } + + if(_VoronoiSpace == 1) + { + position = poiMesh.worldPos; + } + + if(_VoronoiSpace == 2) + { + position = float3(poiMesh.uv[0].x, poiMesh.uv[0].y, 0); + } + + float mask = POI2D_SAMPLER_PAN(_VoronoiMask, _MainTex, poiMesh.uv[_VoronoiMaskUV], _VoronoiMaskPan).r; + float edgeNoise = POI2D_SAMPLER_PAN(_VoronoiNoise, _MainTex, poiMesh.uv[_VoronoiNoiseUV], _VoronoiNoisePan).r * _VoronoiNoiseIntensity; + + + if(_VoronoiType == 0) // Basic + { + voronoi = voronoi2D(position.xy, _VoronoiScale, _VoronoiSpeed); + } + + if (_VoronoiType == 1) // Diff + { + voronoi = VoronoiNoiseDiff_Octaves(position, _VoronoiScale, _VoronoiSpeed, voronoiOctaveNumber, voronoiOctaveScale, voronoiOctaveAttenuation, 1, _Time.x); + } + + if (_VoronoiType == 2) // Fixed Border + { + voronoi = voronoi3D(position, _VoronoiScale, _VoronoiSpeed); + // isolines + //color = c.x * (0.5 + 0.5 * sin(64.0 * c.x)) * 1.0; + } + + if (_VoronoiEnableRandomCellColor == 1) + { + float3 rando = random3(randomPoint); + fixed hue = rando.x; + fixed saturation = lerp(_VoronoiRandomMinMaxSaturation.x, _VoronoiRandomMinMaxSaturation.y, rando.y); + fixed value = lerp(_VoronoiRandomMinMaxBrightness.x, _VoronoiRandomMinMaxBrightness.y, rando.z); + float3 hsv = float3(hue, saturation, value); + + voronoiColor1.rgb = HSVtoRGB(hsv); + } + + float2 voronoiGradient = _VoronoiGradient; + voronoiGradient.xy += edgeNoise; + float ramp = smoothstep(voronoiGradient.x, voronoiGradient.y, voronoi); + + + if(_VoronoiBlend == 0) + { + float4 voronoiColor = lerp(_VoronoiColor0, voronoiColor1, ramp); + + if(_VoronoiEffectsMaterialAlpha) + { + finalColor.rgba = lerp(finalColor, voronoiColor, mask); + } + else + { + finalColor.rgb = lerp(finalColor.rgb, voronoiColor.rgb, mask * voronoiColor.a); + } + } + float4 voronoiEmissionColor = lerp(_VoronoiColor0 * _VoronoiEmission0, voronoiColor1 * _VoronoiEmission1, ramp); + VoronoiEmission = voronoiEmissionColor.rgb * mask * voronoiEmissionColor.a; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta new file mode 100644 index 00000000..6fa8b3e0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 24897af45ec0a1b4597b1ffacd9ee995 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc new file mode 100644 index 00000000..49c602c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc @@ -0,0 +1,111 @@ +#ifndef POI_WIREFRAME + #define POI_WIREFRAME + + UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST; + float2 _WireframeTexturePan; + float _WireframeSmoothing; + float _WireframeThickness; + float4 _WireframeColor; + float _WireframeAlpha; + float _WireframeEnable; + float _WireframeWaveEnabled; + float _WireframeWaveDensity; + float _WireframeWaveSpeed; + float _WireframeEdgeOpacity; + float _WireframeFaceOpacity; + half _WireframeEmissionAlpha; + float _WireframeEmissionStrength; + float _WireframeQuad; + float _WireframeUV; + + #ifndef POI_SHADOW + void applyWireframe(inout float3 wireframeEmission, inout float4 albedo) + { + + if (_WireframeEnable) + { + float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan); + float size = _WireframeThickness; + half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates)); + half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates); + half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1; + + float4 wireframeColor = _WireframeColor * colorMap; + + albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary); + wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a; + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream) + { + + if(_WireframeQuad) + { + float e1 = length(IN[0].localPos - IN[1].localPos); + float e2 = length(IN[1].localPos - IN[2].localPos); + float e3 = length(IN[2].localPos - IN[0].localPos); + + float3 quad = 0; + if(e1 > e2 && e1 > e3) + quad.y = 1.; + else if(e2 > e3 && e2 > e1) + quad.x = 1; + else + quad.z = 1; + + IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad; + IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad; + IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad; + } + else + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + } + + + + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #else + + float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos) + { + + if(_WireframeEnable) + { + float wireframeFadeAlpha = _WireframeAlpha; + float3 finalWireframeColor = 0; + + float3 barys; + barys.xy = barycentricCoordinates; + barys.z = 1 - barys.x - barys.y; + float3 deltas = fwidth(barys); + float3 smoothing = deltas * _WireframeSmoothing; + float wireframeThickness = _WireframeThickness; + float3 thickness = deltas * wireframeThickness; + barys = smoothstep(thickness, thickness + smoothing, barys); + float minBary = min(barys.x, min(barys.y, barys.z)); + + return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream) + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta new file mode 100644 index 00000000..917ade04 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 587262deee75806459c5c4bbba31679e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc new file mode 100644 index 00000000..319de57c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc @@ -0,0 +1,171 @@ +#ifndef POICLUDES + #define POICLUDES + + UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _PoiGrab; + sampler2D _CameraDepthTexture; + float _Cutoff; + float _AlphaMod; + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #ifdef OUTLINE + float _LineWidth; + float _OutlineEmission; + float4 _LineColor; + sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV; + float4 _OutlineFadeDistance; + float4 _OutlineGlobalPan; + #endif + + struct PoiLighting + { + half3 direction; + half3 color; + fixed attenuation; + #ifdef FORWARD_ADD_PASS + fixed additiveShadow; + #endif + half3 directLighting; + half3 indirectLighting; + half lightMap; + half3 rampedLightMap; + half3 finalLighting; + half3 halfDir; + half nDotL; + half nDotH; + half lDotv; + half lDotH; + half nDotV; + half N0DotV; + half diffuseTerm; + + // World normal dot half direction + #ifdef POI_VAR_DOTNH + half dotNH; + #endif + + // Light direction dot half direction + #ifdef POI_VAR_DOTLH + half dotLH; + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + float4 vDotNL; + float3 vColor[4]; + float4 vCorrectedDotNL; + float4 vAttenuation; + float4 vAttenuationDotNL; + float3 vPosition[4]; + float3 vDirection[4]; + float3 vFinalLighting; + float3 vHalfDir[4]; + + #ifdef POI_VAR_DOTLH + half4 vDotLH; + #endif + + #ifdef POI_VAR_DOTNH + half4 vDotNH; + #endif + + #endif + }; + + struct PoiCamera + { + half3 viewDir; + half3 tangentViewDir; + half3 forwardDir; + half3 worldPos; + float viewDotNormal; + float distanceToModel; + float distanceToVert; + float3 reflectionDir; + float3 vertexReflectionDir; + float2 screenUV; + float4 clipPos; + #if defined(GRAIN) + float4 worldDirection; + #endif + float4 grabPos; + }; + + struct PoiMesh + { + float3 normals[2]; + float3 tangent; + float3 binormal; + float3 localPos; + float3 worldPos; + float3 modelPos; + float3 tangentSpaceNormal; + float2 uv[5]; + float4 vertexColor; + fixed3 barycentricCoordinates; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV; + #endif + float isFrontFace; + #ifdef FUR + float furAlpha; + #endif + }; + + struct PoiTangentData + { + float3x3 tangentTransform; + float3x3 tangentToWorld; + }; + + struct FragmentCommonData + { + half3 diffColor, specColor; + // Note: smoothness & oneMinusReflectivity for optimization purposes, mostly for DX9 SM2.0 level. + // Most of the math is being done on these (1-x) values, and that saves a few precious ALU slots. + half oneMinusReflectivity, smoothness; + float3 normalWorld; + float3 eyeVec; + half alpha; + float3 posWorld; + + #if UNITY_STANDARD_SIMPLE + half3 reflUVW; + #endif + + #if UNITY_STANDARD_SIMPLE + half3 tangentSpaceNormal; + #endif + }; + + struct Debug + { + float debug1; + float2 debug2; + float3 debug3; + float4 debug4; + }; + + static Debug debug; + static PoiLighting poiLight; + static PoiCamera poiCam; + static PoiMesh poiMesh; + static UnityGI gi; + static FragmentCommonData s; + static PoiTangentData poiTData; + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta new file mode 100644 index 00000000..646f8d45 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 20987a95bc5f13340a48de06c98c6991 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta new file mode 100644 index 00000000..04291de2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 10bd94cfa4c29044aaa437d17bae0d48 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader new file mode 100644 index 00000000..cd81f766 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader @@ -0,0 +1,7648 @@ +Shader "Hidden/.poiyomi/• Poiyomi Toon •/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 + [HideInInspector] shader_master_label ("Poiyomi Toon V7.0.100", Float) = 0 + [HideInInspector] shader_presets ("poiToonPresets", Float) = 0 + [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0 + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + // Keyword to remind users in the VRChat SDK that this material hasn't been locked. Inelegant but it works. + [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 + [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0 + [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0 + + [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7, Multiplicative Grab Pass, 8)]_Mode("Rendering Preset--{on_value_actions:[ + {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2451}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]}, + {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:RenderType=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]} + }]}]}", Int) = 0 + [HideInInspector] m_LockingInfo ("Locking Info--{button_right:{text:Tutorial,action:{type:URL,data:https://youtu.be/asWeDJb5LAo},hover:YouTube},is_hideable:true}", Float) = 0 + [Helpbox(1)] _HelpBoxLocking ("LOCKING IN THE SHADER WILL DRAMATICALLY INCREASE PERFORMANCE AND DRAMATICALLY LOWER THE FILE SIZE OF AN AVATAR PACKAGE. + + LOCKED IN MATERIALS CANNOT BE ANIMATED WITHOUT SETTING THE SPECIFIC PROPERTY TO DYNAMIC. RIGHT CLICK MATERIAL PROPERTIES YOU WISH TO ANIMATE, A CLOCK ICON WILL APPEAR BESIDE THE PROPERTY SIGNIFYING THAT IT CAN BE ANIMATED. + + FOR MORE INFORMATION ON LOCKING PLEASE WATCH THE LOCKING TUTORIAL IN THE HEADER ABOVE.", Int) = 0 + [Helpbox(2)] _HelpBoxHideLocking ("TO HIDE THIS CATEGORY SELECT CUSTOM UI AT THE TOP AND UNCHECK THE LOCKING INFO CATEGORY", Float) = 0 + // Main + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color & Alpha", Color) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("UV", Int) = 0 + _Saturation ("Saturation", Range(-1, 1)) = 0 + _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _BumpMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _AlphaMask ("Alpha Map", 2D) = "white" { } + [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AlphaMaskUV ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector] m_start_MainHueShift ("Hue Shift", Float) = 0 + [HideInInspector][Toggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0 + [ToggleUI]_MainHueShiftReplace ("Replace?", Float) = 1 + _MainHueShift ("Hue Shift", Range(0, 1)) = 0 + _MainHueShiftSpeed ("Shift Speed", Float) = 0 + _MainHueShiftMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainHueShiftMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainHueShiftMaskUV ("UV", Int) = 0 + [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0 + + // RGB Masking + [HideInInspector] m_start_RGBMask ("RGB Color Masking", Float) = 0 + [HideInInspector][Toggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0 + [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0 + [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0 + _RGBMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBMaskUV ("UV", int) = 0 + _RedColor ("R Color", Color) = (1, 1, 1, 1) + _RedTexure ("R Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBRed_UV ("UV", int) = 0 + _GreenColor ("G Color", Color) = (1, 1, 1, 1) + _GreenTexture ("G Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBGreen_UV ("UV", int) = 0 + _BlueColor ("B Color", Color) = (1, 1, 1, 1) + _BlueTexture ("B Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBBlue_UV ("UV", int) = 0 + // RGB MASKED NORMALS + [Toggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0 + [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0 + [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalRUV ("UV", int) = 0 + _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalGUV ("UV", int) = 0 + _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalBUV ("UV", int) = 0 + _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0 + + // Detail Options + [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0 + _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { } + [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailMaskUV ("UV", Int) = 0 + _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1) + _DetailTex ("Detail Texture", 2D) = "gray" { } + [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailTexUV ("UV", Int) = 0 + _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1 + _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1 + [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1 + [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailNormalMapUV ("UV", Int) = 0 + [HideInInspector] m_end_DetailOptions ("Details", Float) = 0 + + // Vertex Colors + [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0 + _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0 + _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0 + + //Vertex Manipulations + [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0 + [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1) + [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1) + _VertexManipulationHeight ("Vertex Height", Float) = 0 + _VertexManipulationHeightMask ("Height Map", 2D) = "while" { } + [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0 + _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0 + [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0 + _VertexRoundingDivision ("Division Amount", Float) = 500 + [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0 + + // Alpha Options + [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0 + _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0 + _DitherGradient ("Dither Gradient", Range(0, 1)) = .1 + [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0 + _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0 + [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0 + [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0 + _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25 + [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0 + _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 + [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 + + // Decal Texture + [HideInInspector] m_start_DecalSection ("Decal", Float) = 0 + [HideInInspector][Toggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0 + _DecalColor ("Color", Color) = (1, 1, 1, 1) + _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _DecalTexture ("Decal", 2D) = "white" { } + [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalTextureUV ("UV", Int) = 0 + _DecalMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalMaskUV ("UV", Int) = 0 + [ToggleUI]_DecalTiled ("Tiled?", Float) = 0 + [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0) + [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0) + _DecalRotation ("Rotation", Range(0, 360)) = 0 + _DecalRotationSpeed ("Rotation Speed", Float) = 0 + _DecalBlendAdd ("Add", Range(0, 1)) = 0 + _DecalBlendMultiply ("Multiply", Range(0, 1)) = 0 + _DecalBlendReplace ("Replace", Range(0, 1)) = 0 + [HideInInspector] m_end_DecalSection ("Decal", Float) = 0 + + // Back Face Textures and Emission + [HideInInspector] m_start_backFace ("Back Face", Float) = 0 + [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0 + _BackFaceColor ("Color", Color) = (1, 1, 1, 1) + _BackFaceTexture ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_BackFaceTextureUV ("UV#", Int) = 0 + _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1 + _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0 + _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [HideInInspector] m_end_backFace ("Back Face", Float) = 0 + + // Lighting + [HideInInspector] m_lightingOptions ("Lighting", Float) = 0 + [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0 + [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1 + [Enum(Toon, 0, Realistic, 1)] _LightingMode ("Lighting Type", Int) = 0 + _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0 + [ToggleUI]_LightingShadingEnabled ("Enable Shading--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0 + [Enum(Ramp Texture, 0, Math Gradient, 1)] _LightingRampType ("Ramp Type--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Int) = 0 + [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", 2D) = "white" { } + _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowMaskUV ("UV", Int) = 0 + _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0 + _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = 0 + _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = .5 + _LightingShadowColor ("Shadow Tint--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Color) = (1, 1, 1, 1) + _ShadowStrength ("Shadow Strength--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 1 + _AttenuationMultiplier ("Unity Shadows--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==1},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 0 + [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + + [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0 + [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0 + [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0 + [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0 + [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0 + _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0 + _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 + _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0 + [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0 + + [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled}", Float) = 0 + [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0 + _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingDetailShadowsUV ("UV", Int) = 0 + _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0 + + [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0 + _LightingAOTex ("AO Map", 2D) = "white" { } + [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingAOTexUV ("UV", Int) = 0 + _AOStrength ("AO Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0 + + [HideInInspector] m_start_shadowTexture ("Shadow Texture--{reference_property:_UseShadowTexture, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + [HideInInspector][ToggleUI]_UseShadowTexture ("EnableShadowTexture--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + _LightingShadowTexture ("Shadow Texture--{reference_properties:[_LightingShadowTexturePan, _LightingShadowTextureUV], condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_shadowTexture ("Shadow Texture", Float) = 0 + + // HSL Lighting + [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0 + _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1 + _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5 + _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5 + _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5 + [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0 + + // point/spot Light Settings + [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_commentIfZero_LightingAdditiveEnable,button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0 + [HideInInspector][ToggleUI]_commentIfZero_LightingAdditiveEnable ("Enable Additive", Float) = 1 + [Enum(Realistic, 0, Toon, 1)] _LightingAdditiveType ("Lighting Type", Int) = 1 + _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0 + _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5 + _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5 + _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1 + [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0 + _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1 + [Toggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1 + [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0 + [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0 + + // Subsurface Scattering + [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0 + [Toggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0 + _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1) + _SSSThicknessMap ("Thickness Map", 2D) = "black" { } + [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SSSThicknessMapUV ("UV", Int) = 0 + _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0 + _SSSSCale ("Light Strength", Range(0, 1)) = 0.25 + _SSSPower ("Light Spread", Range(1, 100)) = 5 + _SSSDistortion ("Light Distortion", Range(0, 1)) = 1 + [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0 + + // Rim Lighting + [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0 + [Toggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0 + [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1 + [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimTexUV ("UV", Int) = 0 + _RimMask ("Rim Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimMaskUV ("UV", Int) = 0 + + // Rim Noise + [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0 + _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { } + [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0 + _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1 + [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0 + + // Rim Shadow Mix + [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0 + _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0 + _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5 + _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5 + [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0 + [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0 + + // Environmental Rim Lighting + [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0 + [Toggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0 + _RimEnviroMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimEnviroMaskUV ("UV", Int) = 0 + _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7 + _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45 + _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0 + _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0 + _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1 + [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0 + + // Baked Lighting + [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0 + _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1 + [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown + [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown + [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0 + + // Metallics + [HideInInspector] m_start_Metallic ("Metallics", Float) = 0 + [Toggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1) + _MetallicTintMap ("Tint Map", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicTintMapUV ("UV", Int) = 0 + _MetallicMask ("Metallic Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicMaskUV ("UV", Int) = 0 + _Metallic ("Metallic", Range(0, 1)) = 0 + _SmoothnessMask ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SmoothnessMaskUV ("UV", Int) = 0 + [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _Smoothness ("Smoothness", Range(0, 1)) = 0 + [HideInInspector] m_end_Metallic ("Metallics", Float) = 0 + + // Clearcoat + [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0 + [Toggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0 + [Enum(Vertex, 0, Pixel, 1)] _ClearCoatNormalToUse ("What Normal?", Int) = 0 + _ClearCoatCubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_ClearCoatSampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _ClearCoatTint ("Reflection Tint", Color) = (1, 1, 1) + _ClearCoatMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatMaskUV ("UV", Int) = 0 + _ClearCoat ("Clear Coat", Range(0, 1)) = 1 + _ClearCoatSmoothnessMap ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatSmoothnessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatSmoothnessMapUV ("UV", Int) = 0 + [ToggleUI]_ClearCoatInvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _ClearCoatSmoothness ("Smoothness", Range(0, 1)) = 0 + [ToggleUI]_ClearCoatForceLighting ("Force Lighting", Float) = 0 + [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0 + + // First Matcap + [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0 + [Toggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0 + _MatcapColor ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { } + _MatcapBorder ("Border", Range(0, .5)) = 0.43 + _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MatcapMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0 + _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _MatcapIntensity ("Intensity", Range(0, 5)) = 1 + _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 + _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1 + _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0 + _MatcapAdd ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1 + [HideInInspector] m_end_matcap ("Matcap", Float) = 0 + + // Second Matcap + [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0 + [ToggleUI]_Matcap2Enable ("Enable Matcap 2", Float) = 0 + _Matcap2Color ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { } + _Matcap2Border ("Border", Range(0, .5)) = 0.43 + _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _Matcap2MaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0 + _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _Matcap2Intensity ("Intensity", Range(0, 5)) = 1 + _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0 + _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0 + _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0 + _Matcap2Add ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1 + [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0 + + // Specular + [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0 + [Toggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1 + _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMapUV ("UV", Int) = 0 + _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1 + [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMapUV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0 + _SpecularMask ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMaskUV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1 + // Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0 + _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0 + _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMapUV ("UV", Int) = 0 + //toon aniso + _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95 + _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0 + // Toon Specular + [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0 + + // Second Specular + [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0 + [ToggleUI]_EnableSpecular1 ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1 + _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0 + _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75 + _SpecularMap1 ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMap1UV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0 + _SpecularMask1 ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMask1UV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1 + // Second Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0 + _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0 + _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMap1UV ("UV", Int) = 0 + // Second toon aniso + _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95 + _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor1 ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0 + // Second Toon Specular + [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0 + + // First Emission + [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0 + [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0 + [Toggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0 + [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMapUV ("UV", Int) = 0 + _EmissionMask ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMaskUV ("UV", Int) = 0 + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0 + _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 + + // Center out emission + [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0 + + // Glow in the dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + // Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + _EmissionScrollingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0 + + // Second Enission + [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0 + [Toggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0 + [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMap1UV ("UV", Int) = 0 + _EmissionMask1 ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMask1UV ("UV", Int) = 0 + _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0 + _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0 + + // Second Center Out Enission + [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0 + + // Second Glow In The Dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Second Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + + // Scrolling Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0 + _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width1 ("Width", Float) = 10 + _EmissiveScroll_Velocity1 ("Velocity", Float) = 10 + _EmissiveScroll_Interval1 ("Interval", Float) = 20 + _EmissionScrollingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0 + + // Flipbook + [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0 + [Toggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0 + [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0 + [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookTexArrayUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookMask ("Mask", 2D) = "white" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookMaskUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1) + _FlipbookTotalFrames ("Total Frames", Int) = 1 + _FlipbookFPS ("FPS", Float) = 30.0 + _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0) + [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0 + _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _FlipbookRotation ("Rotation", Range(0, 360)) = 0 + _FlipbookRotationSpeed ("Rotation Speed", Float) = 0 + _FlipbookReplace ("Replace", Range(0, 1)) = 1 + _FlipbookMultiply ("Multiply", Range(0, 1)) = 0 + _FlipbookAdd ("Add", Range(0, 1)) = 0 + + // Flipbook Manual Control + [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0 + _FlipbookCurrentFrame ("Current Frame", Float) = -1 + [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0 + [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0 + + // Dissolve + [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0 + [Toggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0 + [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1 + _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025 + _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5 + _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1) + [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { } + _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0 + _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1) + _DissolveToTexture ("Dissolved Texture", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveToTextureUV ("UV", Int) = 0 + _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0 + _DissolveNoiseTexture ("Dissolve Noise", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0 + _DissolveDetailNoise ("Dissolve Detail Noise", 2D) = "black" { } + [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0 + _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1 + _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0 + _DissolveMask ("Dissolve Mask", 2D) = "white" { } + [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0 + [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0 + _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0 + [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2 + [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0 + + // Point to Point Dissolve + [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0 + [Enum(Local, 0, World, 1)] _DissolveP2PWorldLocal ("World/Local", Int) = 0 + _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1 + [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0) + [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0) + [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0 + + // Locked in anim sldiers + [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0 + _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0 + _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0 + _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0 + _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0 + _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0 + _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0 + _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0 + _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0 + _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0 + _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0 + [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0 + [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0 + + // Panosphere + [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + [Toggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0 + [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0 + _PanosphereColor ("Color", Color) = (1, 1, 1, 1) + _PanosphereTexture ("Texture", 2D) = "white" { } + _PanoMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _PanoMaskUV ("UV", Int) = 0 + _PanoEmission ("Emission Strength", Range(0, 10)) = 0 + _PanoBlend ("Alpha", Range(0, 1)) = 0 + [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0) + [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0 + [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { } + [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + + // Glitter + [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0 + [Toggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0 + [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0 + [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0 + [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0 + [HDR]_GlitterColor ("Color", Color) = (1, 1, 1) + _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0 + _GlitterColorMap ("Glitter Color Map", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterColorMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterMask ("Glitter Mask", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterMaskUV ("UV", Int) = 0 + _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterTextureRotation ("Rotation Speed", Float) = 0 + _GlitterFrequency ("Glitter Density", Float) = 300.0 + _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0 + _GlitterSpeed ("Glitter Speed", Float) = 10.0 + _GlitterSize ("Glitter Size", Range(0, 1)) = .3 + _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300 + _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90 + _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0 + _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3 + _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8 + _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08 + _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20 + _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0 + + // Glitter Random Colors + [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0 + [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0 + [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1) + [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1) + [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0 + [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1) + [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0 + [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0 + [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0 + + // MSDF OVERLAY + [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0 + _TextGlyphs ("Font Array", 2D) = "black" { } + _TextPixelRange ("Pixel Range", Float) = 4.0 + [Toggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0 + + // FPS + [HideInInspector] m_start_TextFPS ("FPS", Float) = 0 + [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextFPSUV ("FPS UV", Int) = 0 + _TextFPSColor ("Color", Color) = (1, 1, 1, 1) + _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextFPSRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1) + _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextFPS ("FPS", Float) = 0 + + // POSITION + [HideInInspector] m_start_TextPosition ("Position", Float) = 0 + [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextPositionUV ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVertical ("Vertical?", Float) = 0 + _TextPositionColor ("Color", Color) = (1, 0, 1, 1) + _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextPositionRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1) + _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextPosition ("Position", Float) = 0 + + // INSTANCE TIME + [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0 + [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextTimeUV ("Time UV", Int) = 0 + _TextTimeColor ("Color", Color) = (1, 0, 1, 1) + _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextTimeRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1) + _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0 + [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0 + + // Mirror Rendering + [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0 + [Toggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0 + [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0 + [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0 + _MirrorTexture ("Mirror Tex", 2D) = "white" { } + [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MirrorTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0 + + // Distance Fade + [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0 + _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0 + _MainFadeTexture ("Fade Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainFadeTextureUV ("UV", Int) = 0 + [Vector2]_MainDistanceFade ("Distance Fade X to Y", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0 + + // Angular Fade + [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0 + [Toggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0 + [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0 + [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0 + [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0) + _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45 + _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90 + _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45 + _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90 + _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0 + + // UV Distortion + [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0 + [Toggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0 + _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0 + _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { } + _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { } + _DistortionStrength ("Strength1", Float) = 0.5 + _DistortionStrength1 ("Strength2", Float) = 0.5 + [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0) + [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0) + [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0 + + // Outline Options + [HideInInspector] m_outlineOptions ("Outlines", Float) = 0 + [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0 + [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0 + _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0 + _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0 + _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0) + _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0) + [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0 + [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0 + [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1 + _LineWidth ("Width", Float) = 0 + _LineColor ("Color", Color) = (1, 1, 1, 1) + _OutlineEmission ("Outline Emission", Float) = 0 + _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineTextureUV ("UV", Int) = 0 + _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineMaskUV ("UV", Int) = 0 + _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0 + [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0) + [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1 + _OutlineOffsetFactor("Offset Factor", Float) = 0 + _OutlineOffsetUnits("Offset Units", Float) = 0 + [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0 + + // Parallax Mapping + [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0 + [Toggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0 + [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0 + [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0 + [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0 + [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0) + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0 + _ParallaxHeightMap ("Height Map", 2D) = "black" { } + _ParallaxHeightMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0 + _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0 + [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0 + [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0 + [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0 + [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0 + _ParallaxInternalMap ("Internal Map", 2D) = "black" { } + _ParallaxInternalMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0 + _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1 + _ParallaxInternalMinDepth ("Min Depth", Float) = 0 + _ParallaxInternalMaxDepth ("Max Depth", Float) = 1 + _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0 + _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1 + _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1) + _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1) + [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0) + [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0 + [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0 + _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42 + [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0 + + // Rendering Options + [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1 + [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15 + _OffsetFactor ("Offset Factor", Float) = 0.0 + _OffsetUnits ("Offset Units", Float) = 0.0 + [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 + [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown + + // Blending Options + [HideInInspector] m_start_blending ("Blending", Float) = 0 + [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 + [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1 + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0 + [HideInInspector] m_end_blending ("Blending", Float) = 0 + + // Stencils + [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 + + // Outline Stencil + [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{is_hideable:true, condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + // Debug Options + [HideInInspector] m_start_debugOptions ("Debug", Float) = 0 + [HideInInspector][Toggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0 + _VertexUnwrap ("Unwrap", Range(0, 1)) = 0 + [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0 + [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0 + [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0 + [HideInInspector] m_end_debugOptions ("Debug", Float) = 0 + + //[HideInInspector] m_animationToggles ("Animation Support Toggles", Float) = 0 + //[HelpBox(1)] _AnimationToggleHelp ("You don't need to search through this list. You can enable animation support on any property by right clicking it", Int) = 0 + + // Main + [HideInInspector]_ColorAnimated ("Color & Alpha", Int) = 0 + [HideInInspector]_MainTexAnimated ("Texture", Int) = 0 + [HideInInspector]_MainTex_STAnimated ("Texture Offset/Scale", Int) = 0 + [HideInInspector]_MainTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_SaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_MainVertexColoringAnimated ("Use Vertex Color", Int) = 0 + [HideInInspector]_MainUseVertexColorAlphaAnimated ("Use Vertex Alpha", Int) = 0 + [HideInInspector]_MainEmissionStrengthAnimated ("Basic Emission", Int) = 0 + [HideInInspector]_BumpMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_BumpMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_BumpMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_BumpScaleAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_AlphaMaskAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_AlphaMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AlphaMaskUVAnimated ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector]_MainHueShiftToggleAnimated ("Toggle Hueshift", Int) = 0 + [HideInInspector]_MainHueShiftReplaceAnimated ("Replace?", Int) = 0 + [HideInInspector]_MainHueShiftAnimated ("Hue Shift", Int) = 0 + [HideInInspector]_MainHueShiftSpeedAnimated ("Shift Speed", Int) = 0 + [HideInInspector]_MainHueShiftMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MainHueShiftMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainHueShiftMaskUVAnimated ("UV", Int) = 0 + + // RGB Masking + [HideInInspector]_RGBMaskEnabledAnimated ("RGB Mask Enabled", Int) = 0 + [HideInInspector]_RGBUseVertexColorsAnimated ("Use Vertex Colors", Int) = 0 + [HideInInspector]_RGBBlendMultiplicativeAnimated ("Multiplicative?", Int) = 0 + [HideInInspector]_RGBMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RGBMaskPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RedColorAnimated ("R Color", Int) = 0 + [HideInInspector]_RedTexureAnimated ("R Texture", Int) = 0 + [HideInInspector]_RGBRedPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBRed_UVAnimated ("UV", Int) = 0 + [HideInInspector]_GreenColorAnimated ("G Color", Int) = 0 + [HideInInspector]_GreenTextureAnimated ("G Texture", Int) = 0 + [HideInInspector]_RGBGreenPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBGreen_UVAnimated ("UV", Int) = 0 + [HideInInspector]_BlueColorAnimated ("B Color", Int) = 0 + [HideInInspector]_BlueTextureAnimated ("B Texture", Int) = 0 + [HideInInspector]_RGBBluePanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBBlue_UVAnimated ("UV", Int) = 0 + [HideInInspector]_RGBNormalBlendAnimated ("UV", Int) = 0 + + // Detail Options + [HideInInspector]_DetailMaskAnimated ("Detail Mask (R:Texture, G:Normal)", Int) = 0 + [HideInInspector]_DetailMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTintAnimated ("Detail Texture Tint", Int) = 0 + [HideInInspector]_DetailTexAnimated ("Detail Texture", Int) = 0 + [HideInInspector]_DetailTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTexIntensityAnimated ("Detail Tex Intensity", Int) = 0 + [HideInInspector]_DetailBrightnessAnimated ("Detail Brightness:", Int) = 0 + [HideInInspector]_DetailNormalMapAnimated ("Detail Normal", Int) = 0 + [HideInInspector]_DetailNormalMapScaleAnimated ("Detail Normal Intensity", Int) = 0 + [HideInInspector]_DetailNormalMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailNormalMapUVAnimated ("UV", Int) = 0 + + //Vertex Manipulations + [HideInInspector]_VertexManipulationLocalTranslationAnimated ("Local Translation", Int) = 0 + [HideInInspector]_VertexManipulationLocalRotationAnimated ("Local Rotation", Int) = 0 + [HideInInspector]_VertexManipulationLocalScaleAnimated ("Local Scale", Int) = 0 + [HideInInspector]_VertexManipulationWorldTranslationAnimated ("World Translation", Int) = 0 + [HideInInspector]_VertexManipulationHeightAnimated ("Vertex Height", Int) = 0 + [HideInInspector]_VertexManipulationHeightMaskAnimated ("Height Map", Int) = 0 + [HideInInspector]_VertexManipulationHeightPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VertexManipulationHeightUVAnimated ("UV", Int) = 0 + [HideInInspector]_VertexManipulationHeightBiasAnimated ("Mask Bias", Int) = 0 + [HideInInspector]_VertexRoundingEnabledAnimated ("Rounding Enabled", Int) = 0 + [HideInInspector]_VertexRoundingDivisionAnimated ("Division Amount", Int) = 0 + + // Alpha Options + [HideInInspector]_AlphaModAnimated ("Alpha Mod", Int) = 0 + [HideInInspector]_CutoffAnimated ("Alpha Cuttoff", Int) = 0 + [HideInInspector]_DitheringEnabledAnimated ("Enable Dithering", Int) = 0 + [HideInInspector]_DitherGradientAnimated ("Dither Gradient", Int) = 0 + [HideInInspector]_ForceOpaqueAnimated ("Force Opaque", Int) = 0 + [HideInInspector]_MainShadowClipModAnimated ("Shadow Clip Mod", Int) = 0 + [HideInInspector]_AlphaToMaskAnimated ("Alpha To Coverage", Int) = 0 + [HideInInspector]_MainAlphaToCoverageAnimated ("Sharpenned A2C", Int) = 0 + [HideInInspector]_AlphaPremultiplyAnimated ("Alpha Premultiply", Int) = 0 + [HideInInspector]_MainMipScaleAnimated ("Mip Level Alpha Scale", Int) = 0 + + // Decal Texture + [HideInInspector]_DecalEnabledAnimated ("Enable", Int) = 0 + [HideInInspector]_DecalColorAnimated ("Color", Int) = 0 + [HideInInspector]_DecalEmissionStrengthAnimated ("Color", Int) = 0 + [HideInInspector]_DecalTextureAnimated ("Decal", Int) = 0 + [HideInInspector]_DecalTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DecalMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_DecalScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_DecalPositionAnimated ("Position", Int) = 0 + [HideInInspector]_DecalRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_DecalRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_DecalBlendAddAnimated ("Add", Int) = 0 + [HideInInspector]_DecalBlendMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_DecalBlendReplaceAnimated ("Replace", Int) = 0 + + // Lighting + [HideInInspector]_EnableLightingAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LightingModeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingStandardSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_LightingShadingEnabledAnimated ("Enable Shading-",Int) = 0 + [HideInInspector]_LightingRampTypeAnimated ("Ramp Type", Int) = 0 + [HideInInspector]_ToonRampAnimated ("Lighting Ramp", Int) = 0 + [HideInInspector]_LightingShadowMaskAnimated ("Ramp Mask", Int) = 0 + [HideInInspector]_LightingShadowMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ShadowOffsetAnimated ("Ramp Offset", Int) = 0 + [HideInInspector]_LightingGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingShadowColorAnimated ("Shadow Tint", Int) = 0 + [HideInInspector]_ShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_AttenuationMultiplierAnimated ("Unity Shadows", Int) = 0 + [HideInInspector]_LightingIgnoreAmbientColorAnimated ("Ignore Ambient Color", Int) = 0 + + [HideInInspector]_LightingDirectColorModeAnimated ("D Color", Int) = 0 + [HideInInspector]_LightingIndirectColorModeAnimated ("I Color?", Int) = 0 + [HideInInspector]_LightingMonochromaticAnimated ("Monochromatic Lighting?", Int) = 0 + [HideInInspector]_LightingUncappedAnimated ("Uncapped Lighting", Int) = 0 + [HideInInspector]_LightingOnlyUnityShadowsAnimated ("Only Unity Shadows", Int) = 0 + [HideInInspector]_LightingMinLightBrightnessAnimated ("Min Brightnes", Int) = 0 + [HideInInspector]_LightingMinShadowBrightnessRatioAnimated ("Shadow:Light min Ratio", Int) = 0 + + [HideInInspector]_LightingDetailShadowsEnabledAnimated ("Enabled Detail Shadows?", Int) = 0 + [HideInInspector]_LightingDetailShadowsAnimated ("Detail Shadows", Int) = 0 + [HideInInspector]_LightingDetailShadowsPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingDetailShadowsUVAnimated ("UV", Int) = 0 + [HideInInspector]_LightingDetailStrengthAnimated ("Detail Strength", Int) = 0 + + [HideInInspector]_LightingEnableAOAnimated ("Enable AO", Int) = 0 + [HideInInspector]_LightingAOTexAnimated ("AO Map", Int) = 0 + [HideInInspector]_LightingAOTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingAOTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_AOStrengthAnimated ("AO Strength", Range(0, 1)) = 0 + + [HideInInspector]_UseShadowTextureAnimated ("EnableShadowTexture", Int) = 0 + [HideInInspector]_LightingShadowTextureAnimated ("Shadow Texture", Int) = 0 + [HideInInspector]_LightingShadowTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowTextureUVAnimated ("UV", Int) = 0 + + [HideInInspector]_LightingEnableHSLAnimated ("Enabled HSL Lighting", Int) = 0 + [HideInInspector]_LightingHSLIntensityAnimated ("Shadow HSL Intensity", Int) = 0 + [HideInInspector]_LightingShadowHueAnimated ("Shadow Hue Change", Int) = 0 + [HideInInspector]_LightingShadowSaturationAnimated ("Shadow Saturation Change", Int) = 0 + [HideInInspector]_LightingShadowLightnessAnimated ("Shadow Lightness Change", Int) = 0 + + // point/spot Light Settings + [HideInInspector]_commentIfZero_LightingAdditiveEnableAnimated ("Enable Additive", Int) = 0 + [HideInInspector]_LightingAdditiveTypeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingAdditiveGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingAdditiveGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingAdditivePassthroughAnimated ("Point Light Passthrough", Int) = 0 + [HideInInspector]_LightingAdditiveDetailStrengthAnimated ("Detail Shadow Strength", Int) = 0 + [HideInInspector]_LightingAdditiveLimitIntensityAnimated ("Limit Intensity", Int) = 0 + [HideInInspector]_LightingAdditiveMaxIntensityAnimated ("Max Intensity", Int) = 0 + + // Subsurface Scattering + [HideInInspector]_EnableSSSAnimated ("Enable Subsurface Scattering", Int) = 0 + [HideInInspector]_SSSColorAnimated ("Subsurface Color", Int) = 0 + [HideInInspector]_SSSThicknessMapAnimated ("Thickness Map", Int) = 0 + [HideInInspector]_SSSThicknessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SSSThicknessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SSSThicknessModAnimated ("Thickness mod", Int) = 0 + [HideInInspector]_SSSSCaleAnimated ("Light Strength", Int) = 0 + [HideInInspector]_SSSPowerAnimated ("Light Spread", Int) = 0 + [HideInInspector]_SSSDistortionAnimated ("Light Distortion", Int) = 0 + + // Rim Lighting + [HideInInspector]_EnableRimLightingAnimated ("Enable Rim Lighting", Int) = 0 + [HideInInspector]_RimLightNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_RimLightingInvertAnimated ("Invert Rim Lighting", Int) = 0 + [HideInInspector]_RimLightColorAnimated ("Rim Color", Int) = 0 + [HideInInspector]_RimWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimStrengthAnimated ("Rim Emission", Int) = 0 + [HideInInspector]_RimBrightenAnimated ("Rim Color Brighten", Int) = 0 + [HideInInspector]_RimLightColorBiasAnimated ("Rim Color Bias", Int) = 0 + [HideInInspector]_RimTexAnimated ("Rim Texture", Int) = 0 + [HideInInspector]_RimTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimMaskAnimated ("Rim Mask", Int) = 0 + [HideInInspector]_RimMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimMaskUVAnimated ("UV", Int) = 0 + + // Rim Noise + [HideInInspector]_RimWidthNoiseTextureAnimated ("Rim Width Noise", Int) = 0 + [HideInInspector]_RimWidthNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimWidthNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimWidthNoiseStrengthAnimated ("Intensity", Int) = 0 + + // Rim Shadow Mix + [HideInInspector]_ShadowMixAnimated ("Shadow Mix In", Int) = 0 + [HideInInspector]_ShadowMixThresholdAnimated ("Shadow Mix Threshold", Int) = 0 + [HideInInspector]_ShadowMixWidthModAnimated ("Shadow Mix Width Mod", Int) = 0 + + // Environmental Rim Lighting + [HideInInspector]_EnableEnvironmentalRimAnimated ("Enable Environmental Rim", Int) = 0 + [HideInInspector]_RimEnviroMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RimEnviroMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimEnviroMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimEnviroBlurAnimated ("Blur", Int) = 0 + [HideInInspector]_RimEnviroWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimEnviroSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimEnviroMinBrightnessAnimated ("Min Brightness Threshold", Int) = 0 + [HideInInspector]_RimEnviroIntensityAnimated ("Intensity", Int) = 0 + + // Metallics + [HideInInspector]_EnableMetallicAnimated ("Enable Metallics", Int) = 0 + [HideInInspector]_CubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_SampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_MetalReflectionTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_MetallicTintMapAnimated ("Tint Map", Int) = 0 + [HideInInspector]_MetallicTintMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicTintMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicMaskAnimated ("Metallic Mask", Int) = 0 + [HideInInspector]_MetallicMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SmoothnessMaskAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SmoothnessMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_InvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessAnimated ("Smoothness", Int) = 0 + + // Clearcoat + [HideInInspector]_EnableClearCoatAnimated ("Enable Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatNormalToUseAnimated ("What Normal?", Int) = 0 + [HideInInspector]_ClearCoatCubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_ClearCoatSampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_ClearCoatTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_ClearCoatMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ClearCoatMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatInvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_ClearCoatForceLightingAnimated ("Force Lighting", Int) = 0 + + // First Matcap + [HideInInspector]_MatcapEnableAnimated ("Enable Matcap", Int) = 0 + [HideInInspector]_MatcapColorAnimated ("Color", Int) = 0 + [HideInInspector]_MatcapAnimated ("Matcap", Int) = 0 + [HideInInspector]_MatcapBorderAnimated ("Border", Int) = 0 + [HideInInspector]_MatcapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MatcapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MatcapMaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_MatcapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MatcapEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_MatcapIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_MatcapLightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_MatcapReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_MatcapMultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_MatcapAddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_MatcapNormalAnimated ("Normal to use", Int) = 0 + + // Second Matcap + [HideInInspector]_Matcap2EnableAnimated ("Enable Matcap 2", Int) = 0 + [HideInInspector]_Matcap2ColorAnimated ("Color", Int) = 0 + [HideInInspector]_Matcap2Animated ("Matcap", Int) = 0 + [HideInInspector]_Matcap2BorderAnimated ("Border", Int) = 0 + [HideInInspector]_Matcap2MaskAnimated ("Mask", Int) = 0 + [HideInInspector]_Matcap2MaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_Matcap2MaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_Matcap2MaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_Matcap2EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_Matcap2IntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_Matcap2LightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_Matcap2ReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_Matcap2MultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_Matcap2AddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_Matcap2NormalAnimated ("Normal to use", Int) = 0 + + // Specular + [HideInInspector]_EnableSpecularAnimated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularTypeAnimated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTintAnimated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMapAnimated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothnessAnimated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMaskAnimated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFromAnimated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangentAnimated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1AlphaAnimated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2AlphaAnimated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1OffsetAnimated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2SmoothnessAnimated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMapAnimated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMapAnimated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStartAnimated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEndAnimated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColorAnimated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirroredAnimated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroAnimated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplierAnimated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroAnimated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplierAnimated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuterAnimated ("Inner/Outer Edge", Int) = 0 + + // Second Specular + [HideInInspector]_EnableSpecular1Animated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularType1Animated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormal1Animated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTint1Animated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallic1Animated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothness1Animated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMap1Animated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothness1Animated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMask1Animated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFrom1Animated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangent1Animated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1Alpha1Animated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2Alpha1Animated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1Offset1Animated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2Smoothness1Animated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMap1Animated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMap1Animated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStart1Animated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEnd1Animated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColor1Animated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirrored1Animated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1Animated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplier1Animated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1Animated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplier1Animated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuter1Animated ("Inner/Outer Edge", Int) = 0 + + // First Emission + [HideInInspector]_EnableEmissionAnimated ("Enable Emission", Int) = 0 + [HideInInspector]_EmissionReplaceAnimated ("Replace Base Color", Int) = 0 + [HideInInspector]_EmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMapAnimated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMapAnimated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMaskAnimated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabledAnimated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShiftAnimated ("Hue Shift", Int) = 0 + + // Center out emission + [HideInInspector]_EmissionCenterOutEnabledAnimated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeedAnimated ("Flow Speed", Int) = 0 + + // Glow in the dark Emission + [HideInInspector]_EnableGITDEmissionAnimated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMeshAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplierAnimated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplierAnimated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLightAnimated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLightAnimated ("Max Lighting", Int) = 0 + + // Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_MinAnimated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_MaxAnimated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_VelocityAnimated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffsetAnimated ("Offset", Int) = 0 + + // Scrolling Emission + [HideInInspector]_ScrollingEmissionAnimated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurveAnimated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurveAnimated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColorAnimated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_DirectionAnimated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_WidthAnimated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_VelocityAnimated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_IntervalAnimated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffsetAnimated ("Offset", Int) = 0 + + // Second Enission + [HideInInspector]_EnableEmission1Animated ("Enable Emission 2", Int) = 0 + [HideInInspector]_EmissionColor1Animated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMap1Animated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMap1Animated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMask1Animated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrength1Animated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabled1Animated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShift1Animated ("Hue Shift", Int) = 0 + + // Second Center Out Enission + [HideInInspector]_EmissionCenterOutEnabled1Animated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeed1Animated ("Flow Speed", Int) = 0 + + // Second Glow In The Dark Emission + [HideInInspector]_EnableGITDEmission1Animated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMesh1Animated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplier1Animated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplier1Animated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLight1Animated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLight1Animated ("Max Lighting", Int) = 0 + + // Second Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_Min1Animated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_Max1Animated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_Velocity1Animated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffset1Animated ("Offset", Int) = 0 + + // Scrolling Scrolling Emission + [HideInInspector]_ScrollingEmission1Animated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurve1Animated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurve1Animated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColor1Animated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_Direction1Animated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_Width1Animated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_Velocity1Animated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_Interval1Animated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffset1Animated ("Offset", Int) = 0 + + // Flipbook + [HideInInspector]_EnableFlipbookAnimated ("Enable Flipbook", Int) = 0 + [HideInInspector]_FlipbookAlphaControlsFinalAlphaAnimated ("Flipbook Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookIntensityControlsAlphaAnimated ("Intensity Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookColorReplacesAnimated ("Color Replaces Flipbook", Int) = 0 + [HideInInspector]_FlipbookTexArrayAnimated ("Texture Array", Int) = 0 + [HideInInspector]_FlipbookTexArrayUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookTexArrayPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_FlipbookMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookColorAnimated ("Color & alpha", Int) = 0 + [HideInInspector]_FlipbookTotalFramesAnimated ("Total Frames", Int) = 0 + [HideInInspector]_FlipbookFPSAnimated ("FPS", Int) = 0 + [HideInInspector]_FlipbookScaleOffsetAnimated ("Scale | Offset", Int) = 0 + [HideInInspector]_FlipbookTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_FlipbookEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_FlipbookRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_FlipbookRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_FlipbookReplaceAnimated ("Replace", Int) = 0 + [HideInInspector]_FlipbookMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_FlipbookAddAnimated ("Add", Int) = 0 + [HideInInspector]_FlipbookCurrentFrameAnimated ("Current Frame", Int) = 0 + + // Dissolve + [HideInInspector]_EnableDissolveAnimated ("Enable Dissolve", Int) = 0 + [HideInInspector]_DissolveTypeAnimated ("Dissolve Type", Int) = 0 + [HideInInspector]_DissolveEdgeWidthAnimated ("Edge Width", Int) = 0 + [HideInInspector]_DissolveEdgeHardnessAnimated ("Edge Hardness", Int) = 0 + [HideInInspector]_DissolveEdgeColorAnimated ("Edge Color", Int) = 0 + [HideInInspector]_DissolveEdgeGradientAnimated ("Edge Gradient", Int) = 0 + [HideInInspector]_DissolveEdgeEmissionAnimated ("Edge Emission", Int) = 0 + [HideInInspector]_DissolveTextureColorAnimated ("Dissolved Color", Int) = 0 + [HideInInspector]_DissolveToTextureAnimated ("Dissolved Texture", Int) = 0 + [HideInInspector]_DissolveToTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveToTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveToEmissionStrengthAnimated ("Dissolved Emission Strength", Int) = 0 + [HideInInspector]_DissolveNoiseTextureAnimated ("Dissolve Noise", Int) = 0 + [HideInInspector]_DissolveNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailNoiseAnimated ("Dissolve Detail Noise", Int) = 0 + [HideInInspector]_DissolveDetailNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveDetailNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertDetailNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailStrengthAnimated ("Dissolve Detail Strength", Int) = 0 + [HideInInspector]_DissolveAlphaAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveUseVertexColorsAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveMaskAnimated ("Dissolve Mask", Int) = 0 + [HideInInspector]_DissolveMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveMaskInvertAnimated ("Invert?", Int) = 0 + [HideInInspector]_ContinuousDissolveAnimated ("Continuous Dissolve Speed", Int) = 0 + [HideInInspector]_DissolveEmissionSideAnimated ("Emission 1", Int) = 0 + [HideInInspector]_DissolveEmission1SideAnimated ("Emission 2", Int) = 0 + + // Point to Point Dissolve + [HideInInspector]_DissolveP2PWorldLocalAnimated ("World/Local", Int) = 0 + [HideInInspector]_DissolveP2PEdgeLengthAnimated ("Edge Length", Int) = 0 + [HideInInspector]_DissolveStartPointAnimated ("Start Point", Int) = 0 + [HideInInspector]_DissolveEndPointAnimated ("End Point", Int) = 0 + + [HideInInspector]_DissolveAlpha0Animated ("_DissolveAlpha0", Int) = 0 + [HideInInspector]_DissolveAlpha1Animated ("_DissolveAlpha1", Int) = 0 + [HideInInspector]_DissolveAlpha2Animated ("_DissolveAlpha2", Int) = 0 + [HideInInspector]_DissolveAlpha3Animated ("_DissolveAlpha3", Int) = 0 + [HideInInspector]_DissolveAlpha4Animated ("_DissolveAlpha4", Int) = 0 + [HideInInspector]_DissolveAlpha5Animated ("_DissolveAlpha5", Int) = 0 + [HideInInspector]_DissolveAlpha6Animated ("_DissolveAlpha6", Int) = 0 + [HideInInspector]_DissolveAlpha7Animated ("_DissolveAlpha7", Int) = 0 + [HideInInspector]_DissolveAlpha8Animated ("_DissolveAlpha8", Int) = 0 + [HideInInspector]_DissolveAlpha9Animated ("_DissolveAlpha9", Int) = 0 + + // Panosphere + [HideInInspector]_PanoToggleAnimated ("Enable Panosphere", Int) = 0 + [HideInInspector]_PanoInfiniteStereoToggleAnimated ("Infinite Stereo", Int) = 0 + [HideInInspector]_PanosphereColorAnimated ("Color", Int) = 0 + [HideInInspector]_PanosphereTextureAnimated ("Texture", Int) = 0 + [HideInInspector]_PanoMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_PanoMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_PanoMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_PanoEmissionAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_PanoBlendAnimated ("Alpha", Int) = 0 + [HideInInspector]_PanospherePanAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_PanoCubeMapToggleAnimated ("Use Cubemap", Int) = 0 + [HideInInspector]_PanoCubeMapAnimated ("CubeMap", Int) = 0 + + // Glitter + [HideInInspector]_GlitterEnableAnimated ("Enable Glitter?", Int) = 0 + [HideInInspector]_GlitterModeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterShapeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterBlendTypeAnimated ("Blend Mode", Int) = 0 + [HideInInspector]_GlitterColorAnimated ("Color", Int) = 0 + [HideInInspector]_GlitterUseSurfaceColorAnimated ("Use Surface Color", Int) = 0 + [HideInInspector]_GlitterColorMapAnimated ("Glitter Color Map", Int) = 0 + [HideInInspector]_GlitterColorMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterColorMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterTextureAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterRandomRotationAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterFrequencyAnimated ("Glitter Density", Int) = 0 + [HideInInspector]_GlitterJitterAnimated ("Glitter Jitter", Int) = 0 + [HideInInspector]_GlitterSpeedAnimated ("Glitter Wobble Speed", Int) = 0 + [HideInInspector]_GlitterSizeAnimated ("Glitter Size", Int) = 0 + [HideInInspector]_GlitterContrastAnimated ("Glitter Contrast", Int) = 0 + [HideInInspector]_GlitterAngleRangeAnimated ("Glitter Angle Range", Int) = 0 + [HideInInspector]_GlitterMinBrightnessAnimated ("Glitter Min Brightness", Int) = 0 + [HideInInspector]_GlitterBrightnessAnimated ("Glitter Max Brightness", Int) = 0 + [HideInInspector]_GlitterBiasAnimated ("Glitter Bias", Int) = 0 + [HideInInspector]_GlitterCenterSizeAnimated ("center size", Int) = 0 + [HideInInspector]_GlitterTextureRotationAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_glitterFrequencyLinearEmissiveAnimated ("Frequency", Int) = 0 + [HideInInspector]_GlitterJaggyFixAnimated ("Jaggy Fix", Int) = 0 + + // Glitter Random Colors + [HideInInspector]_GlitterRandomColorsAnimated ("Enable", Int) = 0 + [HideInInspector]_GlitterMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_GlitterMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + [HideInInspector]_GlitterRandomSizeAnimated ("random Size Toggle", Int) = 0 + [HideInInspector]_GlitterMinMaxSizeAnimated ("Min Max Random Size", Int) = 0 + + // MSDF OVERLAY + [HideInInspector]_TextGlyphsAnimated ("Font Array", Int) = 0 + [HideInInspector]_TextPixelRangeAnimated ("Pixel Range", Int) = 0 + [HideInInspector]_TextEnabledAnimated ("Text?", Int) = 0 + + // FPS + [HideInInspector]_TextFPSEnabledAnimated ("FPS Text?", Int) = 0 + [HideInInspector]_TextFPSUVAnimated ("FPS UV", Int) = 0 + [HideInInspector]_TextFPSColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextFPSEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextFPSOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextFPSRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextFPSScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextFPSPaddingAnimated ("Padding Reduction", Int) = 0 + + // POSITION + [HideInInspector]_TextPositionEnabledAnimated ("Position Text?", Int) = 0 + [HideInInspector]_TextPositionUVAnimated ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVerticalAnimated ("Vertical?", Int) = 0 + [HideInInspector]_TextPositionColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextPositionEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextPositionOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextPositionRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextPositionScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextPositionPaddingAnimated ("Padding Reduction", Int) = 0 + + // INSTANCE TIME + [HideInInspector]_TextTimeEnabledAnimated ("Time Text?", Int) = 0 + [HideInInspector]_TextTimeUVAnimated ("Time UV", Int) = 0 + [HideInInspector]_TextTimeColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextTimeEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextTimeOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextTimeRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextTimeScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextTimePaddingAnimated ("Padding Reduction", Int) = 0 + + // Mirror Rendering + [HideInInspector]_EnableMirrorOptionsAnimated ("Enable Mirror Options", Int) = 0 + [HideInInspector]_MirrorAnimated ("Show in mirror", Int) = 0 + [HideInInspector]_EnableMirrorTextureAnimated ("Enable Mirror Texture", Int) = 0 + [HideInInspector]_MirrorTextureAnimated ("Mirror Tex", Int) = 0 + [HideInInspector]_MirrorTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MirrorTextureUVAnimated ("UV", Int) = 0 + + // Distance Fade + [HideInInspector]_MainMinAlphaAnimated ("Minimum Alpha", Int) = 0 + [HideInInspector]_MainFadeTextureAnimated ("Fade Mask", Int) = 0 + [HideInInspector]_MainFadeTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainFadeTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_MainDistanceFadeAnimated ("Distance Fade X to Y", Int) = 0 + + // Angular Fade + [HideInInspector]_EnableRandomAnimated ("Enable Angular Fade", Int) = 0 + [HideInInspector]_AngleTypeAnimated ("Angle Type", Int) = 0 + [HideInInspector]_AngleCompareToAnimated ("Model or Vert Positon", Int) = 0 + [HideInInspector]_AngleForwardDirectionAnimated ("Forward Direction", Int) = 0 + [HideInInspector]_CameraAngleMinAnimated ("Camera Angle Min", Int) = 0 + [HideInInspector]_CameraAngleMaxAnimated ("Camera Angle Max", Int) = 0 + [HideInInspector]_ModelAngleMinAnimated ("Model Angle Min", Int) = 0 + [HideInInspector]_ModelAngleMaxAnimated ("Model Angle Max", Int) = 0 + [HideInInspector]_AngleMinAlphaAnimated ("Min Alpha", Int) = 0 + + // UV Distortion + [HideInInspector]_EnableDistortionAnimated ("Enabled?", Int) = 0 + [HideInInspector]_DistortionMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DistortionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DistortionMaskUVAnimated ("Distortion Mask UV", Int) = 0 + [HideInInspector]_DistortionFlowTextureAnimated ("Distortion Texture 1", Int) = 0 + [HideInInspector]_DistortionFlowTexture1Animated ("Distortion Texture 2", Int) = 0 + [HideInInspector]_DistortionStrengthAnimated ("Strength1", Int) = 0 + [HideInInspector]_DistortionStrength1Animated ("Strength2", Int) = 0 + [HideInInspector]_DistortionSpeedAnimated ("Speed1", Int) = 0 + [HideInInspector]_DistortionSpeed1Animated ("Speed2", Int) = 0 + + // Video Options + [HideInInspector]_EnableVideoAnimated ("Enable Video", Int) = 0 + [HideInInspector]_VideoUVNumberAnimated ("Screen UV#", Int) = 0 + [HideInInspector]_VideoTypeAnimated ("Screen Type", Int) = 0 + [HideInInspector]_VideoBacklightAnimated ("Brightness", Int) = 0 + [HideInInspector]_VideoPixelTextureAnimated ("Pixel Texture", Int) = 0 + [HideInInspector]_VideoResolutionAnimated ("Resolution", Int) = 0 + [HideInInspector]_VideoMaskTextureAnimated ("Mask", Int) = 0 + [HideInInspector]_VideoMaskPanningAnimated ("Mask Pan Speed", Int) = 0 + [HideInInspector]_VideoEnableVideoPlayerAnimated ("Enable Video Player", Int) = 0 + [HideInInspector]_VideoPixelateToResolutionAnimated ("Pixelate To Resolution", Int) = 0 + [HideInInspector]_VideoRepeatVideoTextureAnimated ("Clamp To UV", Int) = 0 + [HideInInspector]_VideoPanningAnimated ("Panning Speed", Int) = 0 + [HideInInspector]_VideoTilingAnimated ("Tiling", Int) = 0 + [HideInInspector]_VideoOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_VideoSaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_VideoContrastAnimated ("Contrast boost", Int) = 0 + [HideInInspector]_VideoEnableDebugAnimated ("Enable Debug", Int) = 0 + [HideInInspector]_VideoDebugTextureAnimated ("Video Debug Tex", Int) = 0 + [HideInInspector]_VideoCRTRefreshRateAnimated ("Refresh Rate", Int) = 0 + [HideInInspector]_VideoCRTPixelEnergizedTimeAnimated ("Pixel Fade Time", Int) = 0 + [HideInInspector]_VideoGameboyRampAnimated ("Color Ramp", Int) = 0 + + // TouchFX + [HideInInspector]_EnableBulgeAnimated ("Bulge", Int) = 0 + [HideInInspector]_BulgeMaskAnimated ("Bulge Mask", Int) = 0 + [HideInInspector]_BuldgeFadeLengthAnimated ("Touch Distance", Int) = 0 + [HideInInspector]_BuldgeHeightAnimated ("Bulge Height", Int) = 0 + + [HideInInspector]_EnableTouchGlowAnimated ("Enable Touch Glow", Int) = 0 + [HideInInspector]_DepthGradientTextureUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientBlendAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientPanAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientUVAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskPanAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGlowColorAnimated ("Depth Glow Color", Int) = 0 + [HideInInspector]_DepthGradientAnimated ("Depth Gradient", Int) = 0 + [HideInInspector]_DepthMaskAnimated ("Depth Mask", Int) = 0 + [HideInInspector]_DepthGlowEmissionAnimated ("Depth Glow Emission", Int) = 0 + [HideInInspector]_FadeLengthAnimated ("Fade Length", Int) = 0 + [HideInInspector]_DepthAlphaMinAnimated ("Alpha Min", Int) = 0 + [HideInInspector]_DepthAlphaMaxAnimated ("Alpha Max", Int) = 0 + + // Hologram + [HideInInspector]_EnableHoloAnimated ("Enable Hologram Alpha", Int) = 0 + [HideInInspector]_HoloAlphaMapAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_HoloCoordinateSpaceAnimated ("Coordinate Space", Int) = 0 + [HideInInspector]_HoloDirectionAnimated ("Scroll Direction", Int) = 0 + [HideInInspector]_HoloLineDensityAnimated ("Line Density", Int) = 0 + [HideInInspector]_HoloScrollSpeedAnimated ("Scroll Speed", Int) = 0 + [HideInInspector]_HoloFresnelAlphaAnimated ("Intensity", Int) = 0 + [HideInInspector]_HoloRimSharpnessAnimated ("Sharpness", Int) = 0 + [HideInInspector]_HoloRimWidthAnimated ("Width", Int) = 0 + + // GrabPass + [HideInInspector]_GrabPassUseAlphaAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabPassBlendFactorAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabSrcBlendAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabDstBlendAnimated ("Destination Blend", Int) = 0 + [HideInInspector]_RefractionEnabledAnimated ("Enable Refraction,", Int) = 0 + [HideInInspector]_RefractionIndexAnimated ("Refraction", Int) = 0 + [HideInInspector]_RefractionChromaticAberattionAnimated ("Chromatic Aberration", Int) = 0 + [HideInInspector]_EnableBlurAnimated ("Enable Blur", Int) = 0 + [HideInInspector]_GrabBlurDistanceAnimated ("Blur Distance", Int) = 0 + [HideInInspector]_GrabBlurQualityAnimated ("Blur Quality", Int) = 0 + [HideInInspector]_GrabBlurDirectionsAnimated ("Blur Direction", Int) = 0 + + // Iridescence + [HideInInspector]_EnableIridescenceAnimated ("Enable Iridescence", Int) = 0 + [HideInInspector]_IridescenceRampAnimated ("Ramp", Int) = 0 + [HideInInspector]_IridescenceNormalToggleAnimated ("Custom Normals?", Int) = 0 + [HideInInspector]_IridescenceNormalMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_IridescenceMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_IridescenceNormalIntensityAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_IridescenceNormalUVAnimated ("Normal UV", Int) = 0 + [HideInInspector]_IridescenceMaskUVAnimated ("Mask UV", Int) = 0 + [HideInInspector]_IridescenceNormalSelectionAnimated ("Normal Select", Int) = 0 + [HideInInspector]_IridescenceIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_IridescenceAddBlendAnimated ("Blend Add", Int) = 0 + [HideInInspector]_IridescenceReplaceBlendAnimated ("Blend Replace", Int) = 0 + [HideInInspector]_IridescenceMultiplyBlendAnimated ("Blend Multiply", Int) = 0 + [HideInInspector]_IridescenceEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_IridescenceTimeAnimated ("When To Run", Int) = 0 + + // Vertex Glitching + [HideInInspector]_EnableVertexGlitchAnimated ("Enable Vertex Glitching", Int) = 0 + [HideInInspector]_VertexGlitchFrequencyAnimated ("Glitch Interval", Int) = 0 + [HideInInspector]_VertexGlitchThresholdAnimated ("Glitch Threshold", Int) = 0 + [HideInInspector]_VertexGlitchStrengthAnimated ("Glitch Strength", Int) = 0 + + // Spawn In Effects + [HideInInspector]_EnableScifiSpawnInAnimated ("Enable Sci Fi Spawn", Int) = 0 + [HideInInspector]_SpawnInNoiseAnimated ("Spawn Noise", Int) = 0 + [HideInInspector]_SpawnInNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_SpawnInAlphaAnimated ("Spawn Alpha", Int) = 0 + [HideInInspector]_SpawnInGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_SpawnInGradientFinishAnimated ("Gradient End", Int) = 0 + [HideInInspector]_SpawnInEmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_SpawnInEmissionOffsetAnimated ("Emission Width", Int) = 0 + [HideInInspector]_SpawnInVertOffsetAnimated ("Vertex Offset Speed", Int) = 0 + [HideInInspector]_SpawnInVertOffsetOffsetAnimated ("vert width", Int) = 0 + + // Voronoi + [HideInInspector]_VoronoiTypeAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiSpaceAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiBlendAnimated ("Blend", Int) = 0 + [HideInInspector]_EnableVoronoiAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiEffectsMaterialAlphaAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_VoronoiMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseAnimated ("Edge Noise", Int) = 0 + [HideInInspector]_VoronoiNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_VoronoiColor0Animated ("Color 0", Int) = 0 + [HideInInspector]_VoronoiEmission0Animated ("Emission 0", Int) = 0 + [HideInInspector]_VoronoiColor1Animated ("Color 1", Int) = 0 + [HideInInspector]_VoronoiEmission1Animated ("Emission 1", Int) = 0 + [HideInInspector]_VoronoiGradientAnimated ("Gradient", Int) = 0 + [HideInInspector]_VoronoiScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_VoronoiSpeedAnimated ("Speed", Int) = 0 + [HideInInspector]_VoronoiEnableRandomCellColorAnimated ("Rando Cell Col", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + + // Blacklight mask + [HideInInspector]_BlackLightMaskEnabledAnimated ("Black Light Mask Enabled", Int) = 0 + [HideInInspector]_BlackLightMaskKeysAnimated ("Mask Keys", Int) = 0 + [HideInInspector]_BlackLightMaskStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_BlackLightMaskEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_BlackLightMaskDebugAnimated ("Visualize", Int) = 0 + [HideInInspector]_BlackLightMaskMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_BlackLightMaskClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_BlackLightMaskMatcapAnimated ("Matcap 1", Int) = 0 + [HideInInspector]_BlackLightMaskMatcap2Animated ("Matcap 2", Int) = 0 + [HideInInspector]_BlackLightMaskEmissionAnimated ("Emission 1", Int) = 0 + [HideInInspector]_BlackLightMaskEmission2Animated ("Emission 2", Int) = 0 + [HideInInspector]_BlackLightMaskFlipbookAnimated ("Flipbook", Int) = 0 + [HideInInspector]_BlackLightMaskDissolveAnimated ("Dissolve", Int) = 0 + [HideInInspector]_BlackLightMaskPanosphereAnimated ("Panosphere", Int) = 0 + [HideInInspector]_BlackLightMaskGlitterAnimated ("Glitter", Int) = 0 + [HideInInspector]_BlackLightMaskIridescenceAnimated ("Iridescence", Int) = 0 + + // Outline Options + [HideInInspector]_OutlineModeAnimated ("Mode", Int) = 0 + [HideInInspector]_OutlineFixedSizeAnimated ("Fixed Size?", Int) = 0 + [HideInInspector]_OutlineUseVertexColorsAnimated ("V Color", Int) = 0 + [HideInInspector]_OutlineLitAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LineWidthAnimated ("Width", Int) = 0 + [HideInInspector]_LineColorAnimated ("Color", Int) = 0 + [HideInInspector]_OutlineTintMixAnimated ("Tint Mix", Int) = 0 + [HideInInspector]_OutlineEmissionAnimated ("Outline Emission", Int) = 0 + [HideInInspector]_OutlineTextureAnimated ("Outline Texture", Int) = 0 + [HideInInspector]_OutlineMaskAnimated ("Outline Mask", Int) = 0 + [HideInInspector]_OutlineTexturePanAnimated ("Outline Texture Pan", Int) = 0 + [HideInInspector]_OutlineShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_OutlineRimLightBlendAnimated ("Rim Light Blend", Int) = 0 + [HideInInspector]_OutlinePersonaDirectionAnimated ("directional Offset XY", Int) = 0 + [HideInInspector]_OutlineDropShadowOffsetAnimated ("Drop Direction XY", Int) = 0 + [HideInInspector]_OutlineFadeDistanceAnimated ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetFactor ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetUnits ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineCullAnimated ("Cull", Int) = 0 + + // Parallax Mapping + [HideInInspector]_ParallaxMapAnimated ("Enable Parallax FX", Int) = 0 + [HideInInspector]_ParallaxHeightMapEnabledAnimated ("Enable Parallax Height", Int) = 0 + [HideInInspector]_ParallaxInternalMapEnabledAnimated ("Enable Parallax Internal", Int) = 0 + [HideInInspector]_ParallaxHeightMapPanAnimated ("Pan", Int) = 0 + [HideInInspector]_ParallaxUVAnimated ("Parallax UV", Int) = 0 + [HideInInspector]_ParallaxHeightMapAnimated ("Height Map", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxStrengthAnimated ("Parallax Strength", Int) = 0 + [HideInInspector]_ParallaxInternalHeightmapModeAnimated ("Parallax Mode", Int) = 0 + [HideInInspector]_ParallaxInternalHeightFromAlphaAnimated ("HeightFromAlpha", Int) = 0 + [HideInInspector]_ParallaxInternalMapAnimated ("Internal Map", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxInternalIterationsAnimated ("Parallax Internal Iterations", Int) = 0 + [HideInInspector]_ParallaxInternalMinDepthAnimated ("Min Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMaxDepthAnimated ("Max Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMinFadeAnimated ("Min Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMaxFadeAnimated ("Max Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMinColorAnimated ("Min Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalMaxColorAnimated ("Max Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalPanSpeedAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_ParallaxInternalPanDepthSpeedAnimated ("Per Level Speed Multiplier", Int) = 0 + [HideInInspector]_ParallaxBiasAnimated ("Parallax Bias (0.42)", Int) = 0 + + // Rendering Options + [HideInInspector]_CullAnimated ("Cull", Int) = 0 + [HideInInspector]_ZTestAnimated ("ZTest", Int) = 0 + [HideInInspector]_ZWriteAnimated ("ZWrite", Int) = 0 + [HideInInspector]_ColorMaskAnimated ("Color Mask", Int) = 0 + [HideInInspector]_OffsetFactorAnimated ("Offset Factor", Int) = 0 + [HideInInspector]_OffsetUnitsAnimated ("Offset Units", Int) = 0 + [HideInInspector]_IgnoreFogAnimated ("Ignore Fog", Int) = 0 + + // Blending Options + [HideInInspector]_BlendOpAnimated ("RGB Blend Op", Int) = 0 + [HideInInspector]_BlendOpAlphaAnimated ("Alpha Blend Op", Int) = 0 + [HideInInspector]_SrcBlendAnimated ("RGB Source Blend", Int) = 0 + [HideInInspector]_DstBlendAnimated ("RGB Destination Blend", Int) = 0 + + // Stencils + [HideInInspector]_StencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_StencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_StencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_StencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_StencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_StencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_StencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Outline Stencil + [HideInInspector]_OutlineStencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_OutlineStencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_OutlineStencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_OutlineStencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_OutlineStencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_OutlineStencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_OutlineStencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Debug Options + [HideInInspector]_VertexUnwrapAnimated ("Unwrap", Range(0, 1)) = 0 + [HideInInspector]_DebugMeshDataAnimated ("Mesh Data", Int) = 0 + [HideInInspector]_DebugLightingDataAnimated ("Lighting Data", Int) = 0 + [HideInInspector]_DebugCameraDataAnimated ("Camera Data", Int) = 0 + } + + + //originalEditorCustomEditor "PoiToon" + CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "Opaque" "Queue" = "Geometry" } + +// //EnableOutlinePass +// Pass +// { +// Name "Outline" +// Tags { "LightMode" = "ForwardBase" } +// Stencil +// { +// Ref [_OutlineStencilRef] +// ReadMask [_OutlineStencilReadMask] +// WriteMask [_OutlineStencilWriteMask] +// Comp [_OutlineStencilCompareFunction] +// Pass [_OutlineStencilPassOp] +// Fail [_OutlineStencilFailOp] +// ZFail [_OutlineStencilZFailOp] +// } +// ZTest [_ZTest] +// ColorMask [_ColorMask] +// Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits] +// BlendOp [_BlendOp], [_BlendOpAlpha] +// Blend [_SrcBlend] [_DstBlend] +// ZWrite [_ZWrite] +// AlphaToMask [_AlphaToMask] +// Cull [_OutlineCull] +// CGPROGRAM +// +// #pragma target 5.0 +// #define FORWARD_BASE_PASS +// #define OUTLINE +// float _Mode; +// // patreon Additive +// // Black Light Mask +//// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF +// // voronoi +//// #pragma shader_feature CHROMATIC_ABERRATION +// // UV Distortion +//// #pragma shader_feature USER_LUT +// // Vertex Offsets +//// #pragma shader_feature AUTO_EXPOSURE +// // Mirror +//// #pragma shader_feature _REQUIRE_UV2 +// // Random +//// #pragma shader_feature _SUNDISK_NONE +// // Dissolve +//// #pragma shader_feature DISTORT +// // Lighting +//// #pragma shader_feature VIGNETTE_MASKED +// #pragma multi_compile_fwdbase +// #pragma fragmentoption ARB_precision_hint_fastest +// #pragma multi_compile_fog +// #pragma multi_compile_instancing +// #pragma vertex vert +// #pragma fragment frag +// #include "../Includes/CGI_PoiPassOutline.cginc" +// ENDCG +// +// } + //EnableOutlinePass + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + + ZWrite [_ZWrite] + Cull [_Cull] + AlphaToMask [_AlphaToMask] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend] + + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_BASE_PASS + float _Mode; + // Base Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + #pragma multi_compile _ VERTEXLIGHT_ON + // patreon Base + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Grab Pass Blur +// #pragma shader_feature CHROMATIC_ABERRATION_LOW + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Touch Color +// #pragma shader_feature GRAIN + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma multi_compile_instancing + #pragma multi_compile_fwdbase + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile_fog + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + + //LightingAdditiveEnable + Pass + { + Name "ForwardAddPass" + Tags { "LightMode" = "ForwardAdd" } + + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend One One + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_ADD_PASS + float _Mode; + // Add Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + // patreon Additive + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW +// #pragma shader_feature _PARALLAX_MAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Disable Directionals +// #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + + #pragma multi_compile_instancing + #pragma multi_compile_fwdadd_fullshadows + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + //LightingAdditiveEnable + + //LightingCastShadows + Pass + { + Name "ShadowCasterPass" + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + AlphaToMask Off + ZWrite [_ZWrite] + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_SHADOW + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Dissolve +// #pragma shader_feature DISTORT + #pragma multi_compile_instancing + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + #include "../Includes/CGI_PoiPassShadow.cginc" + ENDCG + + } + //LightingCastShadows + + Pass + { + Tags { "LightMode" = "Meta" } + Cull Off + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_META_PASS + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta new file mode 100644 index 00000000..1b95d7b3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume01_07-f13ffff0/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 124985609ece44b4ea6ea7cbca718a25 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9.meta new file mode 100644 index 00000000..a0ef38d1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bc5897100263a804bab74a5e93cd7f12 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets.meta new file mode 100644 index 00000000..b8ea3f5c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4ed89f6741e301a4f902a9de3e99c9ff +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources.meta new file mode 100644 index 00000000..01a85c63 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6886168903be33845aeed5e2bf3b247d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi.meta new file mode 100644 index 00000000..aa7b4f3c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e91dd2e5691d6cc4c9d6ffcd7bebb6b8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders.meta new file mode 100644 index 00000000..42a930df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2c54c236572668041b486cdc19e50528 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon.meta new file mode 100644 index 00000000..050f0c4c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e9073ff0982394148b66a41ce8427ef2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta new file mode 100644 index 00000000..22109b35 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 48944a67d2543244f8ab9cd84cb0294d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc new file mode 100644 index 00000000..9b2e74f4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc @@ -0,0 +1,32 @@ +#ifndef POI_ALPHA_TO_COVERAGE + #define POI_ALPHA_TO_COVERAGE + + half _MainMipScale; + float _MainAlphaToCoverage; + + float CalcMipLevel(float2 texture_coord) + { + float2 dx = ddx(texture_coord); + float2 dy = ddy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + + return 0.5 * log2(delta_max_sqr); + } + + void ApplyAlphaToCoverage(inout float4 finalColor) + { + // Force Model Opacity to 1 if desired + + if (float(0) == 1) + { + + if(float(0)) + { + // rescale alpha by mip level + finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.03125,0.015625,32,64).zw)) * float(0.25); + // rescale alpha by partial derivative + finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta new file mode 100644 index 00000000..ec1abd26 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cd245ef71d90a2c4599359097eebc6d1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc new file mode 100644 index 00000000..e529136f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc @@ -0,0 +1,32 @@ +#ifndef POI_BACKFACE + #define POI_BACKFACE + + float _BackFaceEnabled; + float _BackFaceTextureUV; + float _BackFaceDetailIntensity; + float _BackFaceEmissionStrength; + float2 _BackFacePanning; + float _BackFaceHueShift; + float4 _BackFaceColor; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST; + + float3 BackFaceColor; + void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission) + { + backFaceEmission = 0; + BackFaceColor = 0; + + if (float(0)) + { + if(!poiMesh.isFrontFace) + { + albedo = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + backFaceDetailIntensity = float(1); + BackFaceColor = albedo.rgb; + mixedHueShift = float(0); + backFaceEmission = BackFaceColor * float(0); + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta new file mode 100644 index 00000000..b08bc224 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 18fcfefb262ef7f4597d5f910016bf07 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc new file mode 100644 index 00000000..750364ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc @@ -0,0 +1,54 @@ +#ifndef POI_BLACKLIGHT + #define POI_BLACKLIGHT + + float4 _BlackLightMaskStart; + float4 _BlackLightMaskEnd; + float4 _BlackLightMaskKeys; + float _BlackLightMaskDebug; + float _BlackLightMaskDissolve; + float _BlackLightMaskMetallic; + float _BlackLightMaskClearCoat; + float _BlackLightMaskMatcap; + float _BlackLightMaskMatcap2; + float _BlackLightMaskEmission; + float _BlackLightMaskEmission2; + float _BlackLightMaskFlipbook; + float _BlackLightMaskPanosphere; + float _BlackLightMaskIridescence; + + half _BlackLightMaskGlitter; + + half4 blackLightMask; + + void createBlackLightMask() + { + blackLightMask = 0; + #ifdef VERTEXLIGHT_ON + + for (int lightIndex = 0; lightIndex < 4; lightIndex ++) + { + float3 lightPos = float3(unity_4LightPosX0[lightIndex], unity_4LightPosY0[lightIndex], unity_4LightPosZ0[lightIndex]); + if (!distance(unity_LightColor[lightIndex].rgb, float3(0, 0, 0))) + { + for (int maskIndex = 0; maskIndex < 4; maskIndex ++) + { + float4 comparison = _BlackLightMaskKeys; + if(unity_LightColor[lightIndex].a == comparison[maskIndex]) + { + blackLightMask[maskIndex] = max(blackLightMask[maskIndex], smoothstep(_BlackLightMaskEnd[maskIndex], _BlackLightMaskStart[maskIndex], distance(poiMesh.worldPos, lightPos))); + } + } + } + } + #endif + } +#endif + +/* +#ifdef POI_BLACKLIGHT + if (_BlackLightMaskDissolve != 4) + { + blackLightMask[mask]; + } +#endif +*/ diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta new file mode 100644 index 00000000..fcd9fba6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 12fda01efd05714448102ee148729d3b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc new file mode 100644 index 00000000..f87ae6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc @@ -0,0 +1,39 @@ +#ifndef POI_BLENDING + #define POI_BLENDING + + /* + 0: Zero float4(0.0, 0.0, 0.0, 0.0), + 1: One float4(1.0, 1.0, 1.0, 1.0), + 2: DstColor destinationColor, + 3: SrcColor sourceColor, + 4: OneMinusDstColor float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + 5: SrcAlpha sourceColor.aaaa, + 6: OneMinusSrcColor float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + 7: DstAlpha destinationColor.aaaa, + 8: OneMinusDstAlpha float4(1.0, 1.0, 1.0, 1.0) - destinationColor., + 9: SrcAlphaSaturate saturate(sourceColor.aaaa), + 10: OneMinusSrcAlpha float4(1.0, 1.0, 1.0, 1.0) - sourceColor.aaaa, + */ + + float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor) + { + float4 sA = 1-blendFactor; + const float4 blendData[11] = { + float4(0.0, 0.0, 0.0, 0.0), + float4(1.0, 1.0, 1.0, 1.0), + destinationColor, + sourceColor, + float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sA, + saturate(sourceColor.aaaa), + 1 - sA, + }; + + return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor,sourceColor, sA); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta new file mode 100644 index 00000000..7ea0b6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d462bc29118d1e74aa02982f4a86f855 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc new file mode 100644 index 00000000..6e4db3fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc @@ -0,0 +1,34 @@ +#ifndef POI_BULGE + #define POI_BULGE + + + sampler2D _BulgeMask; + float _BuldgeFadeLength; + float _BuldgeHeight; + + void bulgyWolgy(inout v2f o) + { + float depth = DecodeFloatRG(tex2Dlod(_CameraDepthTexture, float4(o.grabPos.xy / o.grabPos.w, 0, 0))); + float bulgeMask = tex2Dlod(_BulgeMask, float4(o.uv0.xy, 0, 0)); + depth = Linear01Depth(depth); + + float intersect = 0; + if (depth != 1) + { + float diff = distance(depth, Linear01Depth(o.pos.z / o.pos.w)); + if(diff > 0) + { + intersect = 1 - smoothstep(0, _ProjectionParams.w * _BuldgeFadeLength, diff); + } + } + float4 offset = intersect * _BuldgeHeight * float4(o.normal, 0); + + offset = IsInMirror() ? 0: offset; + offset *= bulgeMask; + + o.worldPos = mul(unity_ObjectToWorld, o.localPos) + offset; + o.localPos = mul(unity_WorldToObject, o.worldPos); + o.pos = UnityObjectToClipPos(o.localPos); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta new file mode 100644 index 00000000..665f8f86 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ed67ad32a8b458344935af54977c56b1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc new file mode 100644 index 00000000..5adf7340 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc @@ -0,0 +1,108 @@ +#ifndef POI_CLEARCOAT + #define POI_CLEARCOAT + + samplerCUBE _ClearCoatCubeMap; + float _ClearCoatSampleWorld; + POI_TEXTURE_NOSAMPLER(_ClearCoatMask); + POI_TEXTURE_NOSAMPLER(_ClearCoatSmoothnessMap); + float _ClearCoatInvertSmoothness; + float _ClearCoat; + float _ClearCoatSmoothness; + float3 _ClearCoatTint; + float _ClearCoatNormalToUse; + float _ClearCoatForceLighting; + float lighty_clear_boy_uwu_var; + + + float3 CalculateClearCoatEnvironmentalReflections() + { + float3 reflectionColor; + + float smoothnessMap = (POI2D_SAMPLER_PAN(_ClearCoatSmoothnessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + if (float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + float roughness = 1 - smoothnessMap; + + lighty_clear_boy_uwu_var = 0; + + float3 reflectedDir = float(0) == 0 ? poiCam.vertexReflectionDir: poiCam.reflectionDir; + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + + + if(float(0) == 0 && no_probe == 0) + { + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflectionColor = lerp(probe1, probe0, interpolator); + } + else + { + reflectionColor = probe0; + } + } + else + { + lighty_clear_boy_uwu_var = 1; + reflectionColor = texCUBElod(_ClearCoatCubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + if(float(0)) + { + lighty_clear_boy_uwu_var = 1; + } + + return reflectionColor * float4(1,1,1,1); + } + + void calculateAndApplyClearCoat(inout float4 finalColor) + { + half clearCoatMap = POI2D_SAMPLER_PAN(_ClearCoatMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskClearCoat != 4) + { + clearCoatMap *= blackLightMask[_BlackLightMaskClearCoat]; + } + #endif + + half3 reflectionColor = CalculateClearCoatEnvironmentalReflections(); + + float NormalDotView = abs(dot(float(1), float(0) == 0 ? poiLight.N0DotV: poiLight.nDotV).r); + #ifdef POI_LIGHTING + finalColor.rgb = lerp(finalColor.rgb, reflectionColor * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var), clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + //finalColor.rgb += reflectionColor; + //finalColor.rgb = finalColor.rgb * (1- (reflectionColor.r + reflectionColor.g + reflectionColor.b)/3) + reflectionColor * clearCoatMap * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var); + #else + finalColor.rgb = lerp(finalColor.rgb, reflectionColor, clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta new file mode 100644 index 00000000..55d79bb4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1ce9336ed7429d24bb59633bf2fec687 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc new file mode 100644 index 00000000..687dc443 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc @@ -0,0 +1,262 @@ +#ifndef POI_COLOR + #define POI_COLOR + + #ifndef pi + #define pi float(3.14159265359) + #endif + + static const float Epsilon = 1e-10; + // The weights of RGB contributions to luminance. + // Should sum to unity. + static const float3 HCYwts = float3(0.299, 0.587, 0.114); + static const float HCLgamma = 3; + static const float HCLy0 = 100; + static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5 + static const float3 wref = float3(1.0, 1.0, 1.0); + #define TAU 6.28318531 + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 RGBtoHCV(in float3 RGB) + { + // Based on work by Sam Hocevar and Emil Persson + float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0); + float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx); + float C = Q.x - min(Q.w, Q.y); + float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z); + return float3(H, C, Q.x); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float3 RGBtoHSV(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float S = HCV.y / (HCV.z + Epsilon); + return float3(HCV.x, S, HCV.z); + } + + float3 HSLtoRGB(in float3 HSL) + { + float3 RGB = HUEtoRGB(HSL.x); + float C = (1 - abs(2 * HSL.z - 1)) * HSL.y; + return(RGB - 0.5) * C + HSL.z; + } + + float3 RGBtoHSL(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float L = HCV.z - HCV.y * 0.5; + float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon); + return float3(HCV.x, S, L); + } + + float3 HCYtoRGB(in float3 HCY) + { + + + float3 RGB = HUEtoRGB(HCY.x); + float Z = dot(RGB, HCYwts); + if (HCY.z < Z) + { + HCY.y *= HCY.z / Z; + } + else if(Z < 1) + { + HCY.y *= (1 - HCY.z) / (1 - Z); + } + return(RGB - Z) * HCY.y + HCY.z; + } + + float3 RGBtoHCY(in float3 RGB) + { + // Corrected by David Schaeffer + float3 HCV = RGBtoHCV(RGB); + float Y = dot(RGB, HCYwts); + float Z = dot(HUEtoRGB(HCV.x), HCYwts); + if (Y < Z) + { + HCV.y *= Z / (Epsilon + Y); + } + else + { + HCV.y *= (1 - Z) / (Epsilon + 1 - Y); + } + return float3(HCV.x, HCV.y, Y); + } + + float3 HCLtoRGB(in float3 HCL) + { + float3 RGB = 0; + if(HCL.z != 0) + { + float H = HCL.x; + float C = HCL.y; + float L = HCL.z * HCLmaxL; + float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0)); + float U = (2 * L - C) / (2 * Q - 1); + float V = C / Q; + float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2; + float T; + H *= 6; + if(H <= 0.999) + { + T = tan(A); + RGB.r = 1; + RGB.g = T / (1 + T); + } + else if(H <= 1.001) + { + RGB.r = 1; + RGB.g = 1; + } + else if(H <= 2) + { + T = tan(A); + RGB.r = (1 + T) / T; + RGB.g = 1; + } + else if(H <= 3) + { + T = tan(A); + RGB.g = 1; + RGB.b = 1 + T; + } + else if(H <= 3.999) + { + T = tan(A); + RGB.g = 1 / (1 + T); + RGB.b = 1; + } + else if(H <= 4.001) + { + RGB.g = 0; + RGB.b = 1; + } + else if(H <= 5) + { + T = tan(A); + RGB.r = -1 / T; + RGB.b = 1; + } + else + { + T = tan(A); + RGB.r = 1; + RGB.b = -T; + } + RGB = RGB * V + U; + } + return RGB; + } + + float3 RGBtoHCL(in float3 RGB) + { + float3 HCL; + float H = 0; + float U = min(RGB.r, min(RGB.g, RGB.b)); + float V = max(RGB.r, max(RGB.g, RGB.b)); + float Q = HCLgamma / HCLy0; + HCL.y = V - U; + if(HCL.y != 0) + { + H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi; + Q *= U / V; + } + Q = exp(Q); + HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6); + HCL.y *= Q; + HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2); + return HCL; + } + + //HSL MODIFT + float3 ModifyViaHSL(float3 color, float3 HSLMod) + { + float3 colorHSL = RGBtoHSL(color); + colorHSL.r = frac(colorHSL.r + HSLMod.r); + colorHSL.g = saturate(colorHSL.g + HSLMod.g); + colorHSL.b = saturate(colorHSL.b + HSLMod.b); + return HSLtoRGB(colorHSL); + } + + float3 hueShift(float3 col, float hueAdjust) + { + hueAdjust *= 2 * pi; + const float3 k = float3(0.57735, 0.57735, 0.57735); + half cosAngle = cos(hueAdjust); + return col * cosAngle + cross(k, col) * sin(hueAdjust) + k * dot(k, col) * (1.0 - cosAngle); + } + + float3 poiSaturation(float3 In, float Saturation) + { + float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750)); + return luma.xxx + Saturation.xxx * (In - luma.xxx); + } + // LCH + float xyzF(float t) + { + return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645)); + } + float xyzR(float t) + { + return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655)); + } + float3 rgb2lch(in float3 c) + { + c = mul(float3x3(0.4124, 0.3576, 0.1805, + 0.2126, 0.7152, 0.0722, + 0.0193, 0.1192, 0.9505), c); + c.x = xyzF(c.x / wref.x); + c.y = xyzF(c.y / wref.y); + c.z = xyzF(c.z / wref.z); + float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z)); + return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y)); + } + + float3 lch2rgb(in float3 c) + { + c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y); + + float lg = 1. / 116. * (c.x + 16.); + float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y), + wref.y * xyzR(lg), + wref.z * xyzR(lg - 0.005 * c.z)); + + float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986, + - 0.9689, 1.8758, 0.0415, + 0.0557, -0.2040, 1.0570), xyz); + + return rgb; + } + + //cheaply lerp around a circle + float lerpAng(in float a, in float b, in float x) + { + float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi; + return ang * x + b; + } + + //Linear interpolation between two colors in Lch space + float3 lerpLch(in float3 a, in float3 b, in float x) + { + float hue = lerpAng(a.z, b.z, x); + return float3(lerp(b.xy, a.xy, x), hue); + } + + float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha) + { + return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha)); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta new file mode 100644 index 00000000..ab5d3f5e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fc1f387f122795341bfabcf2000701f4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc new file mode 100644 index 00000000..cd354f85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc @@ -0,0 +1,249 @@ +#ifndef POI_DATA + #define POI_DATA + + float _ParallaxBias; + float _LightingAdditiveLimitIntensity; + float _LightingAdditiveMaxIntensity; + POI_TEXTURE_NOSAMPLER(_BumpMap); + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailMask); + POI_TEXTURE_NOSAMPLER(_DetailNormalMap); + float _DetailNormalMapScale; + #endif + float _BumpScale; + + void calculateAttenuation(v2f i) + { + #ifdef FORWARD_ADD_PASS + #if defined(POINT) || defined(SPOT) + POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz) + poiLight.additiveShadow = shadow; + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + poiLight.additiveShadow == 0; + #endif + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + // fix for rare bug where light atten is 0 when there is no directional light in the scene + #ifdef FORWARD_BASE_PASS + if (all(_LightColor0.rgb == 0.0)) + { + attenuation = 1.0; + } + #endif + #endif + poiLight.attenuation = attenuation; + } + + void calculateVertexLightingData(in v2f i) + { + #ifdef VERTEXLIGHT_ON + float4 toLightX = unity_4LightPosX0 - i.worldPos.x; + float4 toLightY = unity_4LightPosY0 - i.worldPos.y; + float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z; + float4 lengthSq = 0; + lengthSq += toLightX * toLightX; + lengthSq += toLightY * toLightY; + lengthSq += toLightZ * toLightZ; + + float4 lightAttenSq = unity_4LightAtten0; + float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq); + float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25)); + poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight); + + poiLight.vDotNL = 0; + poiLight.vDotNL += toLightX * poiMesh.normals[1].x; + poiLight.vDotNL += toLightY * poiMesh.normals[1].y; + poiLight.vDotNL += toLightZ * poiMesh.normals[1].z; + + float4 corr = rsqrt(lengthSq); + poiLight.vDotNL = max(0, poiLight.vDotNL * corr); + poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL; + + for (int index = 0; index < 4; index ++) + { + poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]); + + float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos; + poiLight.vDirection[index] = normalize(vertexToLightSource); + //poiLight.vAttenuationDotNL[index] = 1.0 / (1.0 + unity_4LightAtten0[index] * poiLight.vDotNL[index]); + poiLight.vColor[index] = unity_LightColor[index].rgb; + + if (float(0) == 1) + { + float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b)); + poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1))); + } + poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir); + poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]); + poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1); + + #ifdef POI_VAR_DOTLH + poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index])); + #endif + + #ifdef POI_VAR_DOTNH + poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index])); + #endif + } + #endif + } + + void calculateLightingData(in v2f i) + { + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb; + poiLight.color = magic + normalLight; + #else + #ifdef FORWARD_ADD_PASS + poiLight.color = _LightColor0.rgb; + + + if (float(0) == 1) + { + float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b)); + poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1))); + } + #endif + #endif + + #ifdef FORWARD_BASE_PASS + poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + #else + #if defined(POINT) || defined(SPOT) + poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #else + poiLight.direction = _WorldSpaceLightPos0; + #endif + #endif + + poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); + + #ifdef POI_VAR_DOTNH + poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir)); + #endif + + #ifdef POI_VAR_DOTLH + poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir)); + #endif + + poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir); + poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir); + poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); + poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); + poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); + poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); + } + + float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) + { + return cross(normal, tangent.xyz) * (binormalSign * unity_WorldTransformParams.w); + } + + void InitializeMeshData(inout v2f i, uint facing) + { + poiMesh.isFrontFace = facing; + poiMesh.normals[0] = normalize(i.normal); + poiMesh.binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + poiMesh.tangent = i.tangent.xyz; + + #ifndef OUTLINE + if(!poiMesh.isFrontFace) + { + poiMesh.normals[0] *= -1; + poiMesh.tangent *= -1; + poiMesh.binormal *= -1; + } + #endif + + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + poiMesh.barycentricCoordinates = i.barycentricCoordinates; + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + #ifdef POI_UV_DISTORTION + poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy); + #else + poiMesh.uv[4] = poiMesh.uv[0]; + #endif + + poiMesh.vertexColor = i.vertexColor; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + poiMesh.lightmapUV = i.lightmapUV; + #endif + poiMesh.modelPos = i.modelPos; + + #ifdef FUR + poiMesh.furAlpha = i.furAlpha; + #endif + } + + void initializeCamera(v2f i) + { + poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); + poiCam.forwardDir = getCameraForward(); + poiCam.worldPos = _WorldSpaceCameraPos; + poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos); + poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); + poiCam.grabPos = i.grabPos; + poiCam.screenUV = calcScreenUVs(i.grabPos); + poiCam.clipPos = i.pos; + #if defined(GRAIN) + poiCam.worldDirection = i.worldDirection; + #endif + + poiCam.tangentViewDir = normalize(i.tangentViewDir); + poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42)); + } + + void calculateTangentData() + { + poiTData.tangentTransform = float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0]); + poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0])); + } + + void CalculateReflectionData() + { + #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON) + poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); + poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); + #endif + } + + void calculateNormals(inout half3 detailMask) + { + half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + #ifdef FINALPASS + detailMask = POI2D_SAMPLER_PAN(_DetailMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(1) > 0) + { + half3 detailNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_DetailNormalMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1) * detailMask.g); + poiMesh.tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + } + else + { + poiMesh.tangentSpaceNormal = mainNormal; + } + #else + poiMesh.tangentSpaceNormal = mainNormal; + #endif + + #ifdef POI_RGBMASK + calculateRGBNormals(poiMesh.tangentSpaceNormal); + #endif + + poiMesh.normals[1] = normalize( + poiMesh.tangentSpaceNormal.x * poiMesh.tangent + + poiMesh.tangentSpaceNormal.y * poiMesh.binormal + + poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] + ); + + poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1])); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta new file mode 100644 index 00000000..13f3fdb5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2911b066271266c4aae18c9bf1cae9f9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc new file mode 100644 index 00000000..125d2cd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc @@ -0,0 +1,107 @@ +#ifndef POI_DEBUG + #define POI_DEBUG + + float _DebugEnabled; + float _DebugMeshData; + float _DebugLightingData; + float _DebugCameraData; + + void displayDebugInfo(inout float4 finalColor) + { + + if (float(0) != 0) + { + //Mesh Data + if (float(0) == 1) + { + finalColor.rgb = poiMesh.normals[0]; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiMesh.normals[1]; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiMesh.tangent; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiMesh.binormal; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiMesh.localPos; + return; + } + + #ifdef POI_LIGHTING + if(float(0) == 1) + { + finalColor.rgb = poiLight.attenuation; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiLight.directLighting; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiLight.indirectLighting; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiLight.lightMap; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiLight.rampedLightMap; + return; + } + else if(float(0) == 6) + { + finalColor.rgb = poiLight.finalLighting; + return; + } + else if(float(0) == 7) + { + finalColor.rgb = poiLight.nDotL; + return; + } + #endif + + if(float(0) == 1) + { + finalColor.rgb = poiCam.viewDir; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiCam.tangentViewDir; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiCam.forwardDir; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiCam.worldPos; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiCam.viewDotNormal; + return; + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta new file mode 100644 index 00000000..04e478d5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 32ddaa2b148d13b468a36baa067798ad +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc new file mode 100644 index 00000000..280fcbc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc @@ -0,0 +1,58 @@ +#ifndef POI_DECAL + #define POI_DECAL + + POI_TEXTURE_NOSAMPLER(_DecalTexture); + POI_TEXTURE_NOSAMPLER(_DecalMask); + float4 _DecalColor; + fixed _DecalTiled; + fixed _DecalBlendAdd; + fixed _DecalBlendMultiply; + fixed _DecalBlendReplace; + half _DecalRotation; + half2 _DecalScale; + half2 _DecalPosition; + half _DecalRotationSpeed; + float _DecalEmissionStrength; + + void applyDecal(inout float4 albedo, inout float3 decalEmission) + { + float2 uv = poiMesh.uv[float(0)]; + float2 decalCenter = float4(0.5,0.5,0,0); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); + uv = remap(uv, float2(0, 0) - float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float2(0, 0), float2(1, 1)); + + half decalAlpha = 1; + //float2 uv = TRANSFORM_TEX(poiMesh.uv[float(0)], _DecalTexture) + _Time.x * float4(0,0,0,0); + float4 decalColor = POI2D_SAMPLER_PAN(_DecalTexture, _MainTex, uv, float4(0,0,0,0)) * float4(1,1,1,1); + decalAlpha *= POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if (!float(0)) + { + if(uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) + { + decalAlpha = 0; + } + } + + if(float(0)) + { + albedo.rgb = lerp(albedo.rgb, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb *= lerp(1, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb += decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + albedo = saturate(albedo); + decalEmission = decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta new file mode 100644 index 00000000..69b2eb80 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5ffa6cb650efcd346a527e1789260c72 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc new file mode 100644 index 00000000..9b70067a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc @@ -0,0 +1,21 @@ +#ifndef POI_DEFINES + #define POI_DEFINES + + #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) + + #ifdef _SPECGLOSSMAP // Specular + #ifndef POI_VAR_DOTNH + #define POI_VAR_DOTNH + #endif + #ifndef POI_VAR_DOTLH + #define POI_VAR_DOTLH + #endif + #endif + + #ifdef VIGNETTE_MASKED // Lighting + #ifndef POI_VAR_DOTNL + #define POI_VAR_DOTNL + #endif + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta new file mode 100644 index 00000000..4345b269 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2a43a6b136e6db24ea2e521431f934c6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc new file mode 100644 index 00000000..828460bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc @@ -0,0 +1,112 @@ +#ifndef POI_DEPTH_COLOR + #define POI_DEPTH_COLOR + + float4 _DepthGlowColor; + float _DepthGlowEmission; + float _FadeLength; + float _DepthAlphaMin; + float _DepthAlphaMax; + POI_TEXTURE_NOSAMPLER(_DepthGradient); + POI_TEXTURE_NOSAMPLER(_DepthMask); + float _DepthGradientTextureUV; + float _DepthGradientBlend; + + /* + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, float4 worldDirection, float4 clipPos) + { + float3 touchEmission = 0; + if (!IsInMirror()) + { + float fadeLength = _FadeLength; + fadeLength *= 0.01; + float depth = DecodeFloatRG(tex2Dproj(_CameraDepthTexture, worldDirection)); + depth = Linear01Depth(depth); + if(depth != 1) + { + float diff = distance(depth, Linear01Depth(clipPos.z)); + float intersect = 0; + if(diff > 0) + { + intersect = clamp(1 - smoothstep(0, _ProjectionParams.w * fadeLength, diff), 0, 1); + } + half4 depthGradient = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthGradient, _MainTex, intersect); + half3 depthMask = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthMask, _MainTex, poiMesh.uv[0]); + half3 depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + } + } + depthTouchEmission = touchEmission; + } + */ + + inline float CorrectedLinearEyeDepth(float z, float B) + { + return 1.0 / (z / PM._34 + B); + } + + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, in float4 worldDirection) + { + float3 touchEmission = 0; + float fadeLength = _FadeLength; + fadeLength *= 0.01; + + float perspectiveDivide = 1.0f / poiCam.clipPos.w; + float4 direction = worldDirection * perspectiveDivide; + float2 screenPos = poiCam.grabPos.xy * perspectiveDivide; + float z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenPos); + + #if UNITY_REVERSED_Z + if (z == 0) + #else + if(z == 1) + #endif + return; + + float depth = CorrectedLinearEyeDepth(z, direction.w); + float3 worldpos = direction * depth + _WorldSpaceCameraPos.xyz; + /* + finalColor.rgb = frac(worldpos); + return; + */ + + float diff = distance(worldpos, poiMesh.worldPos); + float intersect = 0; + intersect = clamp(1 - smoothstep(0, fadeLength, diff), 0, 1); + half3 depthMask = POI2D_SAMPLER_PAN(_DepthMask, _MainTex, poiMesh.uv[_DepthMaskUV], _DepthMaskPan); + + half4 depthGradient = 0; + half3 depthColor = 0; + + + if (_DepthGradientTextureUV == 0) + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, float2(intersect, intersect), _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + } + else + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, poiMesh.uv[_DepthGradientUV], _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb * intersect; + } + + + if(_DepthGradientBlend == 0) // rpelace + { + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + } + else if(_DepthGradientBlend == 1) // add + { + finalColor.rgb += depthColor * intersect * depthMask; + } + else if(_DepthGradientBlend == 2) // multiply + { + finalColor.rgb *= lerp(1, depthColor, intersect * depthMask); + } + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect * depthMask); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + + depthTouchEmission = touchEmission; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta new file mode 100644 index 00000000..75810f40 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d77408d7c24449641af18d420f70fef5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc new file mode 100644 index 00000000..13175f00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc @@ -0,0 +1,171 @@ +#ifndef POI_DISSOLVE + #define POI_DISSOLVE + + float _DissolveType; + float _DissolveEdgeWidth; + float4 _DissolveEdgeColor; + sampler2D _DissolveEdgeGradient; float4 _DissolveEdgeGradient_ST; + float _DissolveEdgeEmission; + float4 _DissolveTextureColor; + + POI_TEXTURE_NOSAMPLER(_DissolveToTexture); + POI_TEXTURE_NOSAMPLER(_DissolveNoiseTexture); + POI_TEXTURE_NOSAMPLER(_DissolveDetailNoise); + POI_TEXTURE_NOSAMPLER(_DissolveMask); + + float _DissolveMaskInvert; + float _DissolveAlpha; + float _ContinuousDissolve; + float _DissolveDetailStrength; + float _DissolveEdgeHardness; + float _DissolveInvertNoise; + float _DissolveInvertDetailNoise; + float _DissolveToEmissionStrength; + + // Point to Point + float _DissolveP2PWorldLocal; + float _DissolveP2PEdgeLength; + float4 _DissolveStartPoint; + float4 _DissolveEndPoint; + + // World Dissolve + float _DissolveWorldShape; + float4 _DissolveShapePosition; + float4 _DissolveShapeRotation; + float _DissolveShapeScale; + float _DissolveInvertShape; + float _DissolveShapeEdgeLength; + + float _DissolveAlpha0; + float _DissolveAlpha1; + float _DissolveAlpha2; + float _DissolveAlpha3; + float _DissolveAlpha4; + float _DissolveAlpha5; + float _DissolveAlpha6; + float _DissolveAlpha7; + float _DissolveAlpha8; + float _DissolveAlpha9; + + // Masking + float _DissolveEmissionSide; + float _DissolveEmission1Side; + float _DissolveUseVertexColors; + + float4 edgeColor; + float edgeAlpha; + float dissolveAlpha; + float4 dissolveToTexture; + //Globals + + + void calculateDissolve(inout float4 albedo, inout float3 dissolveEmission) + { + + float dissolveMask = POI2D_SAMPLER_PAN(_DissolveMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + + if (float(0)) + { + // Vertex Color Imprecision hype + dissolveMask = ceil(poiMesh.vertexColor.g * 100000) / 100000; + } + + dissolveToTexture = POI2D_SAMPLER_PAN(_DissolveToTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + float dissolveNoiseTexture = POI2D_SAMPLER_PAN(_DissolveNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + float da = float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0); + da = saturate(da); + + float dds = float(0.1); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskDissolve != 4) + { + dissolveMask *= blackLightMask[_BlackLightMaskDissolve]; + } + #endif + + if(float(0)) + { + dissolveMask = 1 - dissolveMask; + } + + float dissolveDetailNoise = POI2D_SAMPLER_PAN(_DissolveDetailNoise, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(0)) + { + dissolveNoiseTexture = 1 - dissolveNoiseTexture; + } + if(float(0)) + { + dissolveDetailNoise = 1 - dissolveDetailNoise; + } + if(float(0) != 0) + { + da = sin(_Time.y * float(0)) * .5 + .5; + } + da *= dissolveMask; + dissolveAlpha = da; + edgeAlpha = 0; + + + if(float(1) == 1) // Basic + { + da = remap(da, 0, 1, -float(0.025), 1); + dissolveAlpha = da; + //Adjust detail strength to avoid artifacts + dds *= smoothstep(1, .99, da); + float noise = saturate(dissolveNoiseTexture - dissolveDetailNoise * dds); + + noise = saturate(noise + 0.001); + //noise = remap(noise, 0, 1, float(0.025), 1 - float(0.025)); + dissolveAlpha = dissolveAlpha >= noise; + edgeAlpha = remapClamped(noise, da + float(0.025), da, 0, 1) * (1 - dissolveAlpha); + } + else if (float(1) == 2) // Point to Point + { + float3 direction; + float3 currentPos; + float distanceTo = 0; + direction = normalize(float4(0,1,0,0) - float4(0,-1,0,0)); + currentPos = lerp(float4(0,-1,0,0), float4(0,1,0,0), dissolveAlpha); + if (float(0) == 0) + { + distanceTo = dot(poiMesh.localPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + else + { + distanceTo = dot(poiMesh.worldPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + } + + albedo = lerp(albedo, dissolveToTexture, dissolveAlpha); + + + if(float(0.025)) + { + edgeColor = tex2D(_DissolveEdgeGradient, TRANSFORM_TEX(float2(edgeAlpha, edgeAlpha), _DissolveEdgeGradient)) * float4(1,1,1,1); + albedo.rgb = lerp(albedo.rgb, edgeColor.rgb, smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + dissolveEmission = lerp(0, dissolveToTexture * float(0), dissolveAlpha) + lerp(0, edgeColor.rgb * float(0), smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta new file mode 100644 index 00000000..d5092c9f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4ff1c1b88935ee7439f89cad5ea3e9f0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc new file mode 100644 index 00000000..91efad39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc @@ -0,0 +1,34 @@ +#ifndef POI_DITHERING + #define POI_DITHERING + fixed _DitheringEnabled; + fixed _DitherGradient; + + half calcDither(half2 grabPos) + { + half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8)); + return dither; + } + + #ifndef POI_SHADOW + void applyDithering(inout float4 finalColor) + { + + if (float(0)) + { + half dither = calcDither(poiCam.screenUV.xy); + finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1)); + } + } + #else + void applyShadowDithering(inout float alpha, float2 screenUV) + { + + if(float(0)) + { + half dither = calcDither(screenUV); + alpha = alpha - (dither * (1 - alpha) * float(0.1)); + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta new file mode 100644 index 00000000..13f53d43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a0da3edab4adc20438c7093e39d49641 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc new file mode 100644 index 00000000..cff31fe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc @@ -0,0 +1,240 @@ +#ifndef POI_EMISSION + #define POI_EMISSION + + float4 _EmissionColor; + POI_TEXTURE_NOSAMPLER(_EmissionMap); + POI_TEXTURE_NOSAMPLER(_EmissionMask); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve); float4 _EmissionScrollingCurve_ST; + float _EmissionBaseColorAsMap; + float _EmissionStrength; + float _EnableEmission; + float _EmissionHueShift; + float4 _EmissiveScroll_Direction; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissionBlinkingEnabled; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + float _EnableGITDEmission; + float _GITDEMinEmissionMultiplier; + float _GITDEMaxEmissionMultiplier; + float _GITDEMinLight; + float _GITDEMaxLight; + float _GITDEWorldOrMesh; + float _EmissionCenterOutEnabled; + float _EmissionCenterOutSpeed; + float _EmissionHueShiftEnabled; + float _EmissionBlinkingOffset; + float _EmissionScrollingOffset; + + float4 _EmissionColor1; + #ifdef EFFECT_HUE_VARIATION + POI_TEXTURE_NOSAMPLER(_EmissionMap1); + POI_TEXTURE_NOSAMPLER(_EmissionMask1); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve1); float4 _EmissionScrollingCurve1_ST; + #endif + float _EmissionBaseColorAsMap1; + float _EmissionStrength1; + float _EnableEmission1; + float _EmissionHueShift1; + float4 _EmissiveScroll_Direction1; + float _EmissiveScroll_Width1; + float _EmissiveScroll_Velocity1; + float _EmissiveScroll_Interval1; + float _EmissionBlinkingEnabled1; + float _EmissiveBlink_Min1; + float _EmissiveBlink_Max1; + float _EmissiveBlink_Velocity1; + float _ScrollingEmission1; + float _EnableGITDEmission1; + float _GITDEMinEmissionMultiplier1; + float _GITDEMaxEmissionMultiplier1; + float _GITDEMinLight1; + float _GITDEMaxLight1; + float _GITDEWorldOrMesh1; + float _EmissionCenterOutEnabled1; + float _EmissionCenterOutSpeed1; + float _EmissionHueShiftEnabled1; + float _EmissionBlinkingOffset1; + float _EmissionScrollingOffset1; + + float _EmissionReplace; + + float _EmissionScrollingVertexColor; + float _EmissionScrollingVertexColor1; + + float _EmissionScrollingUseCurve; + float _EmissionScrollingUseCurve1; + + float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled) + { + float glowInTheDarkMultiplier = 1; + + if (enabled) + { + #ifdef POI_LIGHTING + float3 lightValue = float(0) ? poiLight.finalLighting.rgb: poiLight.directLighting.rgb; + float gitdeAlpha = (clamp(poiMax(lightValue), minLight, maxLight) - minLight) / (maxLight - minLight); + glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); + #endif + } + return glowInTheDarkMultiplier; + } + + float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) + { + float phase = 0; + phase = dot(position, direction); + phase -= (_Time.y + offset) * velocity; + phase /= interval; + phase -= floor(phase); + phase = saturate(phase); + return(pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; + } + + float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) + { + float amplitude = (blinkMax - blinkMin) * 0.5f; + float base = blinkMin + amplitude; + return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; + } + + float3 calculateEmissionNew(in float4 baseColor, inout float4 finalColor) + { + // First Emission + float3 emission0 = 0; + float emissionStrength0 = float(0); + float3 emissionColor0 = 0; + + float glowInTheDarkMultiplier0 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + else + { + emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + + + if(float(0)) + { + float3 pos = poiMesh.localPos; + + if(float(0)) + { + pos = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve) + (dot(pos, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos); + } + } + + + if(float(0)) + { + emissionStrength0 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor0 = hueShift(emissionColor0, float(0) * float(0)); + float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask) + _Time.x * float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission != 4) + { + emissionMask0 *= blackLightMask[_BlackLightMaskEmission]; + } + #endif + + emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; + emission0 = emissionStrength0 * emissionColor0; + + #ifdef POI_DISSOLVE + + if(float(2) != 2) + { + emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + + // Second Emission + float3 emission1 = 0; + float emissionStrength1 = 0; + float3 emissionColor1 = 0; + + #ifdef EFFECT_HUE_VARIATION + emissionStrength1 = float(0); + float glowInTheDarkMultiplier1 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor1 = POI2D_SAMPLER_PAN(_EmissionMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + else + { + emissionColor1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap1, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)).rgb * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + + + if(float(0)) + { + float3 pos1 = poiMesh.localPos; + + if(float(0)) + { + pos1 = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength1 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve1) + (dot(pos1, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength1 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos1); + } + } + + if(float(0)) + { + emissionStrength1 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor1 = hueShift(emissionColor1, float(0) * float(0)); + float emissionMask1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask1) + _Time.x * float4(0,0,0,0)); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission2 != 4) + { + emissionMask1 *= blackLightMask[_BlackLightMaskEmission2]; + } + #endif + emissionStrength1 *= glowInTheDarkMultiplier1 * emissionMask1; + emission1 = emissionStrength1 * emissionColor1; + + #ifdef POI_DISSOLVE + if(float(2) != 2) + { + emission1 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + #endif + finalColor.rgb = lerp(finalColor.rgb, saturate(emissionColor0 + emissionColor1), saturate(emissionStrength0 + emissionStrength1) * float(0) * poiMax(emission0 + emission1)); + + return emission0 + emission1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta new file mode 100644 index 00000000..7b087d64 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 701a9d3f2b61e334f9a2cf3da9f34940 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc new file mode 100644 index 00000000..1e9188ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc @@ -0,0 +1,43 @@ +#ifndef POI_ENVIRONMENTAL_RIM + #define POI_ENVIRONMENTAL_RIM + + //enviro rim + float _EnableEnvironmentalRim; + POI_TEXTURE_NOSAMPLER(_RimEnviroMask); + float _RimEnviroBlur; + float _RimEnviroMinBrightness; + float _RimEnviroWidth; + float _RimEnviroSharpness; + float _RimEnviroIntensity; + + float3 calculateEnvironmentalRimLighting(in float4 albedo) + { + float enviroRimAlpha = saturate(1 - smoothstep(min(float(0), float(0.45)), float(0.45), poiCam.viewDotNormal)); + float(0.7) *= 1.7 - 0.7 * float(0.7); + + float3 enviroRimColor = 0; + float interpolator = unity_SpecCube0_BoxMin.w; + + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + enviroRimColor = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + enviroRimColor = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + half enviroMask = poiMax(POI2D_SAMPLER_PAN(_RimEnviroMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb); + return lerp(0, max(0, (enviroRimColor - float(0)) * albedo.rgb), enviroRimAlpha).rgb * enviroMask * float(1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta new file mode 100644 index 00000000..ba44d4c8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 615e202c3aba4e449bab4863fbc9f558 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc new file mode 100644 index 00000000..0ed89b59 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc @@ -0,0 +1,153 @@ +#ifndef POI_FLIPBOOK + #define POI_FLIPBOOK + + UNITY_DECLARE_TEX2DARRAY(_FlipbookTexArray); float4 _FlipbookTexArray_ST; + float4 _FlipbookColor; + float _FlipbookFPS; + float _FlipbookTotalFrames; + float4 _FlipbookScaleOffset; + float _FlipbookTiled; + float _FlipbookCurrentFrame; + float _FlipbookEmissionStrength; + float _FlipbookRotation; + float _EnableFlipbook; + float _FlipbookTexArrayUV; + float _FlipbookAlphaControlsFinalAlpha; + float _FlipbookRotationSpeed; + float _FlipbookIntensityControlsAlpha; + float _FlipbookColorReplaces; + float2 _FlipbookTexArrayPan; + + // blending + float _FlipbookReplace; + float _FlipbookMultiply; + float _FlipbookAdd; + POI_TEXTURE_NOSAMPLER(_FlipbookMask); + + // anim + float _FlipbookMovementType; + float4 _FlipbookStartEndOffset; + float _FlipbookMovementSpeed; + + // Global + float4 flipBookPixel; + float4 flipBookPixelMultiply; + float flipBookMask; + + #ifndef POI_SHADOW + + void applyFlipbook(inout float4 finalColor, inout float3 flipbookEmission) + { + flipBookMask = POI2D_SAMPLER_PAN(_FlipbookMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float2 uv = frac(poiMesh.uv[float(0)]); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + // 2d rotation + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + if (float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipBookPixel = 0; + return; + } + } + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + flipBookPixel = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipBookPixel.a = poiMax(flipBookPixel.rgb); + } + + if(float(0)) + { + flipBookPixel.rgb = float4(1,1,1,1).rgb; + } + else + { + flipBookPixel.rgb *= float4(1,1,1,1).rgb; + } + + #ifdef POI_BLACKLIGHT + + if(_BlackLightMaskFlipbook != 4) + { + flipBookMask *= blackLightMask[_BlackLightMaskFlipbook]; + } + #endif + + finalColor.rgb = lerp(finalColor, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * float(1) * flipBookMask); + finalColor.rgb = finalColor + flipBookPixel.rgb * float(0) * flipBookMask; + finalColor.rgb = finalColor * lerp(1, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * flipBookMask * float(0)); + + + if(float(0)) + { + finalColor.a = lerp(finalColor.a, flipBookPixel.a * float4(1,1,1,1).a, flipBookMask); + } + flipbookEmission = lerp(0, flipBookPixel.rgb * float(0), flipBookPixel.a * float4(1,1,1,1).a * flipBookMask); + } + + #else + + float applyFlipbookAlphaToShadow(float2 uv) + { + + if(float(0)) + { + float flipbookShadowAlpha = 0; + + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float theta = radians(float(0)); + + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + half4 flipbookColor = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipbookColor.a = poiMax(flipbookColor.rgb); + } + + + if(float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipbookColor.a = 0; + } + } + return flipbookColor.a * float4(1,1,1,1).a; + } + return 1; + } + + #endif +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta new file mode 100644 index 00000000..686aef8e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 38590e876640c0a488e237fd7745058a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc new file mode 100644 index 00000000..aa950e7d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc @@ -0,0 +1,376 @@ +#ifndef POIFRAG + #define POIFRAG + + float _MainEmissionStrength; + float _IgnoreFog; + half _GIEmissionMultiplier; + float _IridescenceTime; + float _AlphaToMask; + float _ForceOpaque; + float _commentIfZero_EnableGrabpass; + float _AlphaPremultiply; + float2 _MainTexPan; + float _MainTextureUV; + float _commentIfZero_LightingAdditiveEnable; + + float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target + { + #ifdef FORWARD_ADD_PASS + #if !defined(POI_LIGHTING) + return 0; + #endif + #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL) + return 0; + #endif + #endif + #ifdef FORWARD_ADD_PASS + + if (float(1) == 0) + { + return 0; + } + #endif + UNITY_SETUP_INSTANCE_ID(i); + // Color + float4 albedo = 1; + float4 finalColor = 1; + + // Lighting + float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication + float3 finalSpecular0 = 0; + float3 finalSpecular1 = 0; + float3 finalSSS = 0; + fixed lightingAlpha = 1; + float3 finalEnvironmentalRim = 0; + + // Emissions + float3 finalEmission = 0; + float3 finalLighting = 1; + float3 IridescenceEmission = 0; + float3 spawnInEmission = 0; + float3 voronoiEmission = 0; + float3 matcapEmission = 0; + float3 depthTouchEmission = 0; + float3 decalEmission = 0; + float3 glitterEmission = 0; + float3 panosphereEmission = 0; + float3 backFaceEmission = 0; + float3 dissolveEmission = 0; + float3 rimLightEmission = 0; + float3 flipbookEmission = 0; + float3 textOverlayEmission = 0; + float3 videoEmission = 0; + /********************************************************************** + Initialize the base data that's needed everywhere else in the shader + **********************************************************************/ + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + + #ifdef POI_BLACKLIGHT + createBlackLightMask(); + + if (_BlackLightMaskDebug) + { + return float4(blackLightMask.rgb, 1); + } + #endif + + // This has to happen in the initializbecause it alters UV data globally + #ifdef POI_PARALLAX + calculateandApplyParallax(); + #endif + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + calculateVertexLightingData(i); + /********************************************************************** + Calculate Light Maps + **********************************************************************/ + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + /********************************************************************** + Calculate Color Data + **********************************************************************/ + + initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask); + + #ifdef POI_DECAL + applyDecal(albedo, decalEmission); + #endif + + + #ifdef POI_IRIDESCENCE + + if (_IridescenceTime == 0) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VORONOI + applyVoronoi(albedo, voronoiEmission); + #endif + + #ifdef POI_MSDF + ApplyTextOverlayColor(albedo, textOverlayEmission); + #endif + + #ifdef POI_ENVIRONMENTAL_RIM + finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo); + #endif + + #if defined(POI_METAL) || defined(POI_CLEARCOAT) + CalculateReflectionData(); + #endif + + #ifdef POI_DATA + distanceFade(albedo); + #endif + + #ifdef POI_RANDOM + albedo.a *= i.angleAlpha; + #endif + + #ifdef MATCAP + applyMatcap(albedo, matcapEmission); + #endif + + #ifdef PANOSPHERE + applyPanosphereColor(albedo, panosphereEmission); + #endif + + #ifdef POI_FLIPBOOK + applyFlipbook(albedo, flipbookEmission); + #endif + + #ifdef POI_GLITTER + applyGlitter(albedo, glitterEmission); + #endif + + #ifdef POI_RIM + applyRimLighting(albedo, rimLightEmission); + #endif + + #ifdef POI_DEPTH_COLOR + applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection); + #endif + + #ifdef POI_IRIDESCENCE + + if(_IridescenceTime == 1) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VIDEO + applyScreenEffect(albedo, videoEmission); + #endif + + applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos); + + /********************************************************************** + Handle a few alpha options + **********************************************************************/ + + if (float(0) == 1) + { + + if(float(0) == 0) + { + applyDithering(albedo); + } + } + + albedo.a = max(float(0), albedo.a); + + + if(float(0) >= 1) + { + clip(albedo.a - float(0.5)); + } + + + if(float(0)) + { + albedo.rgb *= saturate(albedo.a + 0.0000000001); + } + + /********************************************************************** + Lighting Time :) + **********************************************************************/ + + #ifdef POI_LIGHTING + finalLighting = calculateFinalLighting(albedo.rgb, finalColor); + + #ifdef SUBSURFACE + finalSSS = calculateSubsurfaceScattering(); + #endif + #endif + + float4 finalColorBeforeLighting = albedo; + finalColor = finalColorBeforeLighting; + + #ifdef POI_SPECULAR + finalSpecular0 = calculateSpecular(finalColorBeforeLighting); + #endif + #ifdef POI_PARALLAX + calculateAndApplyInternalParallax(finalColor); + #endif + + #ifdef POI_ALPHA_TO_COVERAGE + ApplyAlphaToCoverage(finalColor); + #endif + + + if (float(0) == 1) + { + + if(float(0) == 1) + { + applyDithering(finalColor); + } + } + + #ifdef POI_METAL + calculateMetallicness(); + bool probeExists = shouldMetalHappenBeforeLighting(); + + if(!probeExists) + { + ApplyMetallicsFake(finalColor, albedo); + } + #endif + + #ifdef POI_LIGHTING + #if defined(FORWARD_ADD_PASS) && defined(POI_METAL) + finalLighting *= 1 - metalicMap; + #endif + #endif + + #ifdef VERTEXLIGHT_ON + finalColor.rgb *= finalLighting + poiLight.vFinalLighting; + #else + finalColor.rgb *= finalLighting; + #endif + + #ifdef POI_METAL + + if(probeExists) + { + ApplyMetallics(finalColor, albedo); + } + #endif + + finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS; + + #ifdef FORWARD_BASE_PASS + #ifdef POI_CLEARCOAT + calculateAndApplyClearCoat(finalColor); + #endif + #endif + + finalColor.a = saturate(finalColor.a); + + /********************************************************************** + Add Up all the emission values :D + **********************************************************************/ + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a; + finalEmission += wireframeEmission; + finalEmission += IridescenceEmission; + finalEmission += spawnInEmission; + finalEmission += voronoiEmission; + finalEmission += matcapEmission; + finalEmission += depthTouchEmission; + finalEmission += decalEmission; + finalEmission += glitterEmission; + finalEmission += panosphereEmission; + finalEmission += backFaceEmission; + finalEmission += rimLightEmission; + finalEmission += flipbookEmission; + finalEmission += videoEmission; + finalEmission += textOverlayEmission; + finalEmission += dissolveEmission; + #ifdef POI_EMISSION + finalEmission += calculateEmissionNew(finalColorBeforeLighting, finalColor); + #endif + #endif + + /********************************************************************** + Meta Pass Hype :D + **********************************************************************/ + #ifdef POI_META_PASS + UnityMetaInput meta; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta); + meta.Emission = finalEmission * float(1); + meta.Albedo = saturate(finalColor.rgb); + #ifdef POI_SPECULAR + meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a; + #else + meta.SpecularColor = poiLight.color.rgb * albedo.rgb; + #endif + return UnityMetaFragment(meta); + #endif + + /********************************************************************** + Apply Emission to finalColor + **********************************************************************/ + finalColor.rgb += finalEmission; + + /********************************************************************** + Grabpass features + **********************************************************************/ + + + if (_commentIfZero_EnableGrabpass) + { + applyGrabEffects(finalColor); + } + + /********************************************************************** + Unity Fog + **********************************************************************/ + #ifdef FORWARD_BASE_PASS + + if (float(0) == 0) + { + UNITY_APPLY_FOG(i.fogCoord, finalColor); + } + #endif + + #ifdef FORWARD_ADD_PASS + if(float(0) > 0) + { + finalColor.rgb *= finalColor.a; + } + #endif + + + if(float(0) == 0) + { + finalColor.a = 1; + } + + #ifdef FORWARD_ADD_PASS + //finalColor.rgb = smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5)); + #endif + + #ifdef POI_DEBUG + displayDebugInfo(finalColor); + #endif + + //finalColor.rgb = frac(finalColor.rgb); + return finalColor; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta new file mode 100644 index 00000000..31c7a48c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4e0c619054be8424c83f46f5f1d0cba0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc new file mode 100644 index 00000000..8d260cdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc @@ -0,0 +1,41 @@ +#ifndef POI_FUR + #define POI_FUR + + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurTexture); float4 _FurTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurHeightMap); float4 _FurHeightMap_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurMask); float4 _FurMask_ST; + float _FurAO; + float4 _FurColor; + float _FurLayers; + float _FurMinDistance; + float _FurMaxDistance; + float _FurHeightMapMin; + float _FurHeightMapMax; + float _FurDebug; + float _AoRampMin; + float _AoRampMax; + float _FurTipAlpha; + float _FurFadeStart; + + //globals + half furHeightMap; + half furMask; + + void calculateFur() + { + + furHeightMap = UNITY_SAMPLE_TEX2D_SAMPLER(_FurHeightMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurHeightMap)).x; + furHeightMap = remap(furHeightMap, 0, _FurHeightMapMax, _FurHeightMapMin, 1); + furMask = poiMax(UNITY_SAMPLE_TEX2D_SAMPLER(_FurMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurMask)).xyz); + half3 furTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_FurTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurTexture)); + clip(furHeightMap - poiMesh.furAlpha); + clip(furMask - poiMesh.furAlpha); + + albedo.rgb = lerp(mainTexture.rgb, furTexture.rgb * _FurColor.rgb, ceil(poiMesh.furAlpha)); + float aoRampMax = _AoRampMax - (1 - furMask); + albedo.rgb *= lerp(1, smoothstep(_AoRampMin, aoRampMax, furHeightMap), _FurAO); + + albedo.a *= smoothstep(1.01, _FurTipAlpha, remapClamped(poiMesh.furAlpha, _FurFadeStart, 1, 0, 1)) + float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta new file mode 100644 index 00000000..9f8011db --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 87bf84be2baa0084da4e13fa44735aed +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc new file mode 100644 index 00000000..032f3b08 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc @@ -0,0 +1,37 @@ +float _FurLength; +float _FurGravityStrength; + +[instance(4)] +[maxvertexcount(20)] +void geomFur(triangle v2f IN[3], inout TriangleStream < v2f > tristream, uint InstanceID : SV_GSInstanceID) +{ + float4 fur_worldPos[3]; + v2f o_fur[3]; + float3 offset = (float3(0, -1, 0) * (_FurLength*.9) *_FurGravityStrength); + + for (int i = 0; i < 3; i++) + { + if (InstanceID == 0) { + IN[i].furAlpha = 0; + tristream.Append(IN[i]); + } + o_fur[i] = IN[i]; + fur_worldPos[i] = float4(IN[i].worldPos + IN[i].normal * _FurLength, 1); + } + if (InstanceID == 0) { + tristream.RestartStrip(); + } + int Total_FurLayers = clamp(floor(_FurLayers * (1 - smoothstep(_FurMinDistance, _FurMaxDistance, distance(IN[0].worldPos, getCameraPosition())))), min(1, _FurLayers), _FurLayers); + + int startLayer = max(int(InstanceID) * 6 - 1, 0); + for (int layer = startLayer; layer < Total_FurLayers; layer++) { + for (int i = 0; i < 3; i++) { + o_fur[i].furAlpha = float(layer) / Total_FurLayers; + o_fur[i].worldPos = float4(lerp(IN[i].worldPos, fur_worldPos[i] + offset * o_fur[i].furAlpha, o_fur[i].furAlpha),1); + o_fur[i].pos = UnityWorldToClipPos(o_fur[i].worldPos); + o_fur[i].furAlpha += .01; + tristream.Append(o_fur[i]); + } + tristream.RestartStrip(); + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta new file mode 100644 index 00000000..2f00b1d5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cc92b30deab718043aa1d996b47688bc +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc new file mode 100644 index 00000000..e31b6498 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc @@ -0,0 +1,232 @@ +#ifndef POI_GLITTER + #define POI_GLITTER + + half3 _GlitterColor; + POI_TEXTURE_NOSAMPLER(_GlitterMask); + float2 _GlitterPan; + POI_TEXTURE_NOSAMPLER(_GlitterColorMap); + POI_TEXTURE_NOSAMPLER(_GlitterTexture); + half _GlitterSpeed; + half _GlitterBrightness; + float _GlitterFrequency; + float _GlitterJitter; + half _GlitterSize; + half _GlitterContrast; + half _GlitterAngleRange; + half _GlitterMinBrightness; + half _GlitterBias; + float _GlitterRandomColors; + float2 _GlitterMinMaxSaturation; + float2 _GlitterMinMaxBrightness; + fixed _GlitterUseSurfaceColor; + float _GlitterBlendType; + float _GlitterMode; + float _GlitterShape; + float _GlitterCenterSize; + float _glitterFrequencyLinearEmissive; + float _GlitterJaggyFix; + float _GlitterRandomRotation; + float _GlitterTextureRotation; + float4 _GlitterMinMaxSize; + float _GlitterRandomSize; + + + float3 randomFloat3(float2 Seed, float maximum) + { + return(.5 + float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) + ) * .5) * (maximum); + } + + float3 randomFloat3Range(float2 Seed, float Range) + { + return(float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1) * Range; + } + + float3 randomFloat3WiggleRange(float2 Seed, float Range) + { + float3 rando = (float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1); + float speed = 1 + float(10); + return float3(sin((_Time.x + rando.x * pi) * speed), sin((_Time.x + rando.y * pi) * speed), sin((_Time.x + rando.z * pi) * speed)) * Range; + } + + void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out) + { + float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233))) * 43758.5453); + Out = lerp(Min, Max, randomno); + } + + float3 RandomColorFromPoint(float2 rando) + { + fixed hue = random2(rando.x + rando.y).x; + fixed saturation = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.x); + fixed value = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.y); + float3 hsv = float3(hue, saturation, value); + return HSVtoRGB(hsv); + } + + void applyGlitter(inout float4 albedo, inout float3 glitterEmission) + { + + + // Scale + float2 st = poiMesh.uv[0] * float(300); + + // Tile the space + float2 i_st = floor(st); + float2 f_st = frac(st); + + float m_dist = 10.; // minimun distance + float2 m_point = 0; // minimum point + float2 randoPoint = 0; + float2 dank; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 neighbor = float2(i, j); + float2 pos = random2(i_st + neighbor); + float2 rando = pos; + pos = 0.5 + 0.5 * sin(float(1) * 6.2831 * pos); + float2 diff = neighbor + pos - f_st; + float dist = length(diff); + + if (dist < m_dist) + { + dank = diff; + m_dist = dist; + m_point = pos; + randoPoint = rando; + } + } + } + + float randomFromPoint = random(randoPoint); + + float size = float(0.3); + + if(float(0)) + { + size = remapClamped(randomFromPoint, 0, 1, float4(0.1,0.5,0,1).x, float4(0.1,0.5,0,1).y); + } + + + // Assign a color using the closest point position + //color += dot(m_point, float2(.3, .6)); + + // Add distance field to closest point center + // color.g = m_dist; + + // Show isolines + //color -= abs(sin(40.0 * m_dist)) * 0.07; + + // Draw cell center + half glitterAlpha = 1; + switch(float(0)) + { + case 0: //circle + glitterAlpha = (1. - step(size, m_dist)); + break; + case 1: //sqaure + float jaggyFix = pow(poiCam.distanceToVert, 2) * float(0); + + + if (float(0)) + { + float2 center = float2(0, 0); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + dank = float2((dank.x - center.x) * cs - (dank.y - center.y) * sn + center.x, (dank.x - center.x) * sn + (dank.y - center.y) * cs + center.y); + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + else + { + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + break; + } + + float3 finalGlitter = 0; + + switch(float(0)) + { + case 0: + float3 randomRotation = 0; + + if(float(10) > 0) + { + randomRotation = randomFloat3WiggleRange(randoPoint, float(90)); + } + else + { + randomRotation = randomFloat3Range(randoPoint, float(90)); + } + float3 norm = poiMesh.normals[0]; + + float3 glitterReflectionDirection = normalize(mul(poiRotationMatrixFromAngles(randomRotation), norm)); + finalGlitter = lerp(0, float(0) * glitterAlpha, glitterAlpha) + max(pow(saturate(dot(lerp(glitterReflectionDirection, poiCam.viewDir, float(0.8)), poiCam.viewDir)), float(300)), 0); + finalGlitter *= glitterAlpha; + break; + case 1: + float offset = random(randoPoint); + float brightness = sin((_Time.x + offset) * float(10)) * float(20) - (float(20) - 1); + finalGlitter = max(float(0) * glitterAlpha, brightness * glitterAlpha * smoothstep(0, 1, 1 - m_dist * float(0.08) * 10)); + break; + } + + + half3 glitterColor = float4(1,1,1,1); + glitterColor *= lerp(1, albedo, float(0)); + glitterColor *= POI2D_SAMPLER_PAN(_GlitterColorMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + + float2 uv = remapClamped(dank, -size, size, 0, 1); + + if(float(0) && !float(0)) + { + float2 fakeUVCenter = float2(.5, .5); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - fakeUVCenter.x) * cs - (uv.y - fakeUVCenter.y) * sn + fakeUVCenter.x, (uv.x - fakeUVCenter.x) * sn + (uv.y - fakeUVCenter.y) * cs + fakeUVCenter.y); + } + float4 glitterTexture = POI2D_SAMPLER_PAN(_GlitterTexture, _MainTex, uv, float4(0,0,0,0)); + //float4 glitterTexture = _GlitterTexture.SampleGrad(sampler_MainTex, frac(uv), ddx(uv), ddy(uv)); + glitterColor *= glitterTexture.rgb; + float glitterMask = POI2D_SAMPLER_PAN(_GlitterMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskGlitter != 4) + { + glitterMask *= blackLightMask[_BlackLightMaskGlitter]; + } + #endif + + if(float(0)) + { + glitterColor *= RandomColorFromPoint(random2(randoPoint.x + randoPoint.y)); + } + + + if(float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, finalGlitter * glitterColor * float(3), finalGlitter * glitterTexture.a * glitterMask); + glitterEmission = finalGlitter * glitterColor * max(0, (float(3) - 1) * glitterTexture.a) * glitterMask; + } + else + { + glitterEmission = finalGlitter * glitterColor * float(3) * glitterTexture.a * glitterMask; + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta new file mode 100644 index 00000000..6dd663d8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 29331fc35f4e1b94f943c01f75ec02d2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc new file mode 100644 index 00000000..060cb720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc @@ -0,0 +1,127 @@ +#ifndef POI_GRAB + #define POI_GRAB + + float _RefractionIndex; + float _RefractionOpacity; + float _RefractionChromaticAberattion; + float _RefractionEnabled; + float _GrabSrcBlend; + float _GrabDstBlend; + float _GrabPassUseAlpha; + float _GrabPassBlendFactor; + float _GrabBlurDistance; + float _GrabBlurQuality; + float _GrabBlurDirections; + POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap); + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RefractionOpacityMask); float4 _RefractionOpacityMask_ST; + + float4 blur(float2 uv) + { + float two_pi = 6.28318530718; + + float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur + float quality = floor(_GrabBlurQuality); + float directions = floor(_GrabBlurDirections); + + // Pixel colour + float4 color = tex2D(_PoiGrab, uv); + + float deltaAngle = two_pi / directions; + float deltaQuality = 1.0 / quality; + for (int i = 0; i < directions; i ++) + { + for (int j = 0; j < quality; j ++) + { + float angle = deltaAngle * i + j; + float offset = deltaQuality * (j + 1); + color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset); + } + } + + // Output to screen + color /= quality * directions + 1; + return color; + } + + inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos) + { + float4 refractionColor; + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos)); + float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0))) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir))); + float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x)); + + + if (_RefractionChromaticAberattion > 0) + { + float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction)); + float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g; + float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b; + refractionColor = float4(redAlpha.r, green, blue, redAlpha.a); + } + else + { + float2 refractedGrab = projectedGrabPos + cameraRefraction; + + #ifdef CHROMATIC_ABERRATION_LOW + refractionColor = blur(refractedGrab); + #else + refractionColor = tex2D(_PoiGrab, (refractedGrab)); + #endif + } + return refractionColor; + } + + void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor) + { + float3 refraction = 1; + + if(_RefractionEnabled == 1) + { + refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb; + } + else + { + #ifdef CHROMATIC_ABERRATION_LOW + refraction = blur(projectedGrabPos); + #else + refraction = tex2Dproj(_PoiGrab, poiCam.grabPos); + #endif + } + + float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r; + + if(_GrabPassUseAlpha) + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a)); + finalColor.a = 1; + } + else + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor); + } + } + + float2 calculateGrabPosition() + { + float4 grabPos = poiCam.grabPos; + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + float halfPosW = grabPos.w * 0.5; + grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW; + #if SHADER_API_D3D9 || SHADER_API_D3D11 + grabPos.w += 0.00000000001; + #endif + return(grabPos / grabPos.w).xy; + } + + void applyGrabEffects(inout float4 finalColor) + { + float2 projectedGrabPos = calculateGrabPosition(); + calculateRefraction(projectedGrabPos, finalColor); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta new file mode 100644 index 00000000..e44ea5e8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7e7a41fb3aebb104ca0362c28848ae36 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc new file mode 100644 index 00000000..9ae9e754 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc @@ -0,0 +1,338 @@ +#ifndef POI_HELPER + #define POI_HELPER + + #include "CGI_PoiColors.cginc" + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float linearSin(float x) + { + return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0); + } + + float random(float2 p) + { + return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123); + } + + float2 random2(float2 p) + { + return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453); + } + + float3 random3(float3 p) + { + return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453); + } + + float3 mod(float3 x, float y) + { + return x - y * floor(x / y); + } + float2 mod(float2 x, float y) + { + return x - y * floor(x / y); + } + + //1/7 + #define K 0.142857142857 + //3/7 + #define Ko 0.428571428571 + + // Permutation polynomial: (34x^2 + x) mod 289 + float3 Permutation(float3 x) + { + return mod((34.0 * x + 1.0) * x, 289.0); + } + + bool IsInMirror() + { + return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; + } + + float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax) + { + #if UNITY_SPECCUBE_BOX_PROJECTION + + if (cubemapPosition.w > 0) + { + float3 factors = ((direction > 0 ? boxMax: boxMin) - position) / direction; + float scalar = min(min(factors.x, factors.y), factors.z); + direction = direction * scalar + (position - cubemapPosition); + } + #endif + return direction; + } + + // Camera + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + float3 grayscale_vector_node() + { + return float3(0, 0.3823529, 0.01845836); + } + + float3 grayscale_for_light() + { + return float3(0.298912, 0.586611, 0.114478); + } + + //Math Operators + + float remap(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float poiMax(float2 i) + { + return max(i.x, i.y); + } + + float poiMax(float3 i) + { + return max(max(i.x, i.y), i.z); + } + + float poiMax(float4 i) + { + return max(max(max(i.x, i.y), i.z), i.w); + } + + float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis) + { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, + 0.0, 0.0, 0.0, 1.0); + } + + float4x4 poiRotationMatrixFromAngles(float x, float y, float z) + { + float angleX = radians(x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + + float4x4 poiRotationMatrixFromAngles(float3 angles) + { + float angleX = radians(angles.x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(angles.y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(angles.z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + +#endif + +half2 calcScreenUVs(half4 grabPos) +{ + half2 uv = grabPos / (grabPos.w + 0.0000000001); + #if UNITY_SINGLE_PASS_STEREO + uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y); + #else + uv.xy *= _ScreenParams.xy; + #endif + + return uv; +} + +float inverseLerp(float A, float B, float T) +{ + return(T - A) / (B - A); +} + +float inverseLerp2(float2 a, float2 b, float2 value) +{ + float2 AB = b - a; + float2 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp3(float3 a, float3 b, float3 value) +{ + float3 AB = b - a; + float3 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp4(float4 a, float4 b, float4 value) +{ + float4 AB = b - a; + float4 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +// Dithering +inline half Dither8x8Bayer(int x, int y) +{ + const half dither[ 64 ] = { + 1, 49, 13, 61, 4, 52, 16, 64, + 33, 17, 45, 29, 36, 20, 48, 32, + 9, 57, 5, 53, 12, 60, 8, 56, + 41, 25, 37, 21, 44, 28, 40, 24, + 3, 51, 15, 63, 2, 50, 14, 62, + 35, 19, 47, 31, 34, 18, 46, 30, + 11, 59, 7, 55, 10, 58, 6, 54, + 43, 27, 39, 23, 42, 26, 38, 22 + }; + int r = y * 8 + x; + return dither[r] / 64; +} + +// UV Manipulation +float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv) +{ + float theta = radians(rotation); + scale = 1 - scale; + float cs = cos(theta); + float sn = sin(theta); + float2 centerPoint = offset + .5; + uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y); + + return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1)); +} + +bool isVR() +{ + // USING_STEREO_MATRICES + #if UNITY_SINGLE_PASS_STEREO + return true; + #else + return false; + #endif +} + +bool isVRHandCamera() +{ + return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005; +} + +bool isDesktop() +{ + return !isVRHandCamera(); +} + +bool isVRHandCameraPreview() +{ + return isVRHandCamera() && _ScreenParams.y == 720; +} + +bool isVRHandCameraPicture() +{ + return isVRHandCamera() && _ScreenParams.y == 1080; +} + +bool isPanorama() +{ + // Crude method + // FOV=90=camproj=[1][1] + return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025; +} + +float3 calculateluminance(float3 color) +{ + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta new file mode 100644 index 00000000..b50bcdc7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a8ec44f21fd9ef0448c9f7ef8f5695fd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc new file mode 100644 index 00000000..6ee66d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc @@ -0,0 +1,36 @@ +#ifndef POI_HOLOGRAM + #define POI_HOLOGRAM + + UNITY_DECLARE_TEX2D_NOSAMPLER(_HoloAlphaMap); float4 _HoloAlphaMap_ST; + float _HoloCoordinateSpace; // 0 World, 1 Local, 2 UV + float3 _HoloDirection; + float _HoloScrollSpeed; + float _HoloLineDensity; + + fixed _HoloFresnelAlpha; + fixed _HoloRimSharpness; + fixed _HoloRimWidth; + void ApplyHoloAlpha(inout float4 color) + { + float uv = 0; + + if (_HoloCoordinateSpace == 0) + { + uv = dot(normalize(_HoloDirection), poiMesh.worldPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 1) + { + uv = dot(normalize(_HoloDirection), poiMesh.localPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 2) + { + uv = dot(_HoloDirection, poiMesh.uv[0] * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + float holoRim = saturate(1 - smoothstep(min(_HoloRimSharpness, _HoloRimWidth), _HoloRimWidth, poiCam.viewDotNormal)); + holoRim = abs(lerp(1, holoRim, _HoloFresnelAlpha)); + color.a *= UNITY_SAMPLE_TEX2D_SAMPLER(_HoloAlphaMap, _MainTex, uv).r * holoRim; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta new file mode 100644 index 00000000..e55449e7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f0d78de62fa5deb488d24f637fb84cad +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc new file mode 100644 index 00000000..bcea8ccc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc @@ -0,0 +1,61 @@ +#ifndef POI_IRIDESCENCE + #define POI_IRIDESCENCE + + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceRamp); float4 _IridescenceRamp_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceMask); float4 _IridescenceMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceNormalMap); float4 _IridescenceNormalMap_ST; + float _IridescenceNormalUV; + float _IridescenceMaskUV; + float _IridescenceNormalSelection; + float _IridescenceNormalIntensity; + float _IridescenceNormalToggle; + float _IridescenceIntensity; + fixed _IridescenceAddBlend; + fixed _IridescenceReplaceBlend; + fixed _IridescenceMultiplyBlend; + float _IridescenceEmissionStrength; + + //global + + float3 calculateNormal(float3 baseNormal) + { + float3 normal = UnpackScaleNormal(UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceNormalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceNormalUV], _IridescenceNormalMap)), _IridescenceNormalIntensity); + return normalize( + normal.x * poiMesh.tangent + + normal.y * poiMesh.binormal + + normal.z * baseNormal + ); + } + + void applyIridescence(inout float4 albedo, inout float3 IridescenceEmission) + { + float3 normal = poiMesh.normals[_IridescenceNormalSelection]; + + // Use custom normal map + + if (_IridescenceNormalToggle) + { + normal = calculateNormal(normal); + } + + float ndotv = dot(normal, poiCam.viewDir); + + float4 iridescenceColor = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceRamp, _MainTex, 1 - abs(ndotv)); + float4 iridescenceMask = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceMaskUV], _IridescenceMask)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskIridescence != 4) + { + iridescenceMask *= blackLightMask[_BlackLightMaskIridescence]; + } + #endif + + + albedo.rgb = lerp(albedo.rgb, saturate(iridescenceColor.rgb * _IridescenceIntensity), iridescenceColor.a * _IridescenceReplaceBlend * iridescenceMask); + albedo.rgb += saturate(iridescenceColor.rgb * _IridescenceIntensity * iridescenceColor.a * _IridescenceAddBlend * iridescenceMask); + albedo.rgb *= saturate(lerp(1, iridescenceColor.rgb * _IridescenceIntensity, iridescenceColor.a * _IridescenceMultiplyBlend * iridescenceMask)); + + IridescenceEmission = saturate(iridescenceColor.rgb * _IridescenceIntensity) * iridescenceColor.a * iridescenceMask * _IridescenceEmissionStrength; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta new file mode 100644 index 00000000..24437037 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b1d659abfb573fd4bb73f89bfac202be +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc new file mode 100644 index 00000000..8f35cb62 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc @@ -0,0 +1,668 @@ + +#ifndef POI_LIGHTING + #define POI_LIGHTING + + float _LightingShadingEnabled; + float _LightingRampType; + float _LightingIgnoreAmbientColor; + float _UseShadowTexture; + float _LightingEnableAO; + float _LightingDetailShadowsEnabled; + + float _LightingOnlyUnityShadows; + float _LightingMode; + float _ForceLightDirection; + float _ShadowStrength; + float _OutlineShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _CastedShadowSmoothing; + float _AttenuationMultiplier; + float _EnableLighting; + float _LightingControlledUseLightColor; + fixed _LightingStandardSmoothness; + fixed _LightingStandardControlsToon; + fixed _LightingMinLightBrightness; + float _LightingUseShadowRamp; + float _LightingMinShadowBrightnessRatio; + UNITY_DECLARE_TEX2D(_ToonRamp); + fixed _LightingMonochromatic; + + fixed _LightingGradientStart; + fixed _LightingGradientEnd; + float3 _LightingShadowColor; + POI_TEXTURE_NOSAMPLER(_LightingShadowTexture); + float _AOStrength; + fixed _LightingDetailStrength; + fixed _LightingAdditiveDetailStrength; + fixed _LightingNoIndirectMultiplier; + fixed _LightingNoIndirectThreshold; + float _LightingUncapped; + + float _LightingDirectColorMode; + float _LightingIndirectColorMode; + float _LightingAdditiveType; + fixed _LightingAdditiveGradientStart; + fixed _LightingAdditiveGradientEnd; + fixed _LightingAdditivePassthrough; + float _LightingDirectAdjustment; + float _LightingIndirect; + // HSL JUNK + float _LightingEnableHSL; + float _LightingShadowHue; + float _LightingShadowSaturation; + float _LightingShadowLightness; + float _LightingHSLIntensity; + /* + UNITY_DECLARE_TEX2D_NOSAMPLER(_ToonRamp3); + half _LightingShadowStrength3; + half _ShadowOffset3; + */ + + half4 shadowStrength; + + POI_TEXTURE_NOSAMPLER(_LightingDetailShadows); + POI_TEXTURE_NOSAMPLER(_LightingAOTex); + POI_TEXTURE_NOSAMPLER(_LightingShadowMask); + + /* + * MIT License + * + * Copyright (c) 2018 s-ilent + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + /* + * Silent's code starts here + */ + + float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n) + { + // average energy + float R0 = max(0, L0); + + // avg direction of incoming light + float3 R1 = 0.5f * L1; + + // directional brightness + float lenR1 = length(R1); + + // linear angle between normal and direction 0-1 + //float q = 0.5f * (1.0f + dot(R1 / lenR1, n)); + //float q = dot(R1 / lenR1, n) * 0.5 + 0.5; + float q = dot(normalize(R1), n) * 0.5 + 0.5; + q = saturate(q); // Thanks to ScruffyRuffles for the bug identity. + + // power for q + // lerps from 1 (linear) to 3 (cubic) based on directionality + float p = 1.0f + 2.0f * lenR1 / R0; + + // dynamic range constant + // should vary between 4 (highly directional) and 0 (ambient) + float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0); + + return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p)); + } + + half3 BetterSH9(half4 normal) + { + float3 indirect; + float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0; + indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal); + indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal); + indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal); + indirect = max(0, indirect); + indirect += SHEvalLinearL2(normal); + return indirect; + } + + float3 BetterSH9(float3 normal) + { + return BetterSH9(float4(normal, 1)); + } + + /* + * Standard stuff starts here + */ + UnityLight CreateLight(float3 normal, fixed detailShadowMap) + { + UnityLight light; + light.dir = poiLight.direction; + light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap); + light.ndotl = DotClamped(normal, poiLight.direction); + return light; + } + + float FadeShadows(float attenuation) + { + #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + // UNITY_LIGHT_ATTENUATION doesn't fade shadows for us. + + #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + attenuation = lerp(1, poiLight.attenuation, float(0)); + #endif + + float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); + float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ); + float shadowFade = UnityComputeShadowFade(shadowFadeDistance); + float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); + attenuation = UnityMixRealtimeAndBakedShadows( + attenuation, bakedAttenuation, shadowFade + ); + #endif + + return attenuation; + } + + void ApplySubtractiveLighting(inout UnityIndirect indirectLight) + { + #if SUBTRACTIVE_LIGHTING + poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0))); + + float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz)); + float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb; + float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate; + subtractedLight = max(subtractedLight, unity_ShadowColor.rgb); + subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x); + indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse); + #endif + } + + float3 weightedBlend(float3 layer1, float3 layer2, float2 weights) + { + return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y); + } + + UnityIndirect CreateIndirectLight(float3 normal) + { + UnityIndirect indirectLight; + indirectLight.diffuse = 0; + indirectLight.specular = 0; + + #if defined(FORWARD_BASE_PASS) + #if defined(LIGHTMAP_ON) + indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy)); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy + ); + indirectLight.diffuse = DecodeDirectionalLightmap( + indirectLight.diffuse, lightmapDirection, normal + ); + #endif + ApplySubtractiveLighting(indirectLight); + #endif + + #if defined(DYNAMICLIGHTMAP_ON) + float3 dynamicLightDiffuse = DecodeRealtimeLightmap( + UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw) + ); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_DynamicDirectionality, unity_DynamicLightmap, + poiMesh.lightmapUV.zw + ); + indirectLight.diffuse += DecodeDirectionalLightmap( + dynamicLightDiffuse, dynamicLightmapDirection, normal + ); + #else + indirectLight.diffuse += dynamicLightDiffuse; + #endif + #endif + + #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON) + #if UNITY_LIGHT_PROBE_PROXY_VOLUME + if (unity_ProbeVolumeParams.x == 1) + { + indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume( + float4(normal, 1), poiMesh.worldPos + ); + indirectLight.diffuse = max(0, indirectLight.diffuse); + #if defined(UNITY_COLORSPACE_GAMMA) + indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse); + #endif + } + else + { + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + } + #else + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + #endif + #endif + + float3 reflectionDir = reflect(-poiCam.viewDir, normal); + Unity_GlossyEnvironmentData envData; + envData.roughness = 1 - float(0); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + #if UNITY_SPECCUBE_BLENDING + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + indirectLight.specular = lerp(probe1, probe0, interpolator); + } + else + { + indirectLight.specular = probe0; + } + #else + indirectLight.specular = probe0; + #endif + float occlusion = 1; + + if(float(0)) + { + occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + } + + indirectLight.diffuse *= occlusion; + indirectLight.diffuse = max(indirectLight.diffuse, float(0)); + indirectLight.specular *= occlusion; + #endif + + return indirectLight; + } + + /* + * Poiyomi's cool as heck code starts here :smug: + */ + + half PoiDiffuse(half NdotV, half NdotL, half LdotH) + { + half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5); + // Two schlick fresnel term + half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL)); + half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV)); + + return lightScatter * viewScatter; + } + + float3 ShadeSH9Indirect() + { + return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Direct() + { + return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Normal(float3 normalDirection) + { + return ShadeSH9(half4(normalDirection, 1.0)); + } + + half3 GetSHLength() + { + half3 x, x1; + x.r = length(unity_SHAr); + x.g = length(unity_SHAg); + x.b = length(unity_SHAb); + x1.r = length(unity_SHBr); + x1.g = length(unity_SHBg); + x1.b = length(unity_SHBb); + return x + x1; + } + + float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap) + { + return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])); + } + + void calculateBasePassLightMaps() + { + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + float AOMap = 1; + float AOStrength = 1; + float3 lightColor = poiLight.color; + /* + * Generate Basic Light Maps + */ + + bool lightExists = false; + if (all(_LightColor0.rgb >= 0.002)) + { + lightExists = true; + } + #ifndef OUTLINE + + if(float(0)) + { + AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + AOStrength = float(1); + } + + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + if (lightExists) + { + lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + } + else + { + lightColor = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + } + + //lightColor = magic * magiratio + normalLight * normaRatio; + //lightColor = magic + normalLight; + #endif + #endif + + float3 grayscale_vector = float3(.33333, .33333, .33333); + float3 ShadeSH9Plus = GetSHLength(); + float3 ShadeSH9Minus = BetterSH9(float4(0, 0, 0, 1)); + + shadowStrength = 1; + #ifndef OUTLINE + shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(1); + #else + shadowStrength = float(1); + #endif + + float bw_lightColor = dot(lightColor, grayscale_vector); + float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector)); + float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector); + float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector); + float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); + + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(0)) + { + poiLight.lightMap = poiLight.attenuation; + } + else + { + poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); + } + poiLight.lightMap *= detailShadow; + + /* + * Decide on light colors + */ + + float3 indirectLighting = 0; + float3 directLighting = 0; + + + + + if (float(0) == 1) + { + indirectLighting = BetterSH9(float4(poiMesh.normals[0], 1)); + } + else + { + indirectLighting = ShadeSH9Minus; + } + + poiLight.directLighting = lightColor; + poiLight.indirectLighting = indirectLighting; + + + if(float(0) == 0) + { + float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + + float magiLumi = calculateluminance(magic); + float normaLumi = calculateluminance(normalLight); + float maginormalumi = magiLumi + normaLumi; + + float magiratio = magiLumi / maginormalumi; + float normaRatio = normaLumi / maginormalumi; + + float target = calculateluminance(magic * magiratio + normalLight * normaRatio); + float3 properLightColor = magic + normalLight; + float properLuminance = calculateluminance(magic + normalLight); + directLighting = properLightColor * max(0.0001, (target / properLuminance)); + } + else + { + directLighting = lightColor; + } + + + if(!float(0)) + { + float directluminance = calculateluminance(directLighting); + float indirectluminance = calculateluminance(indirectLighting); + directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1))); + indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1))); + } + + directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0)); + indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0)); + + if(max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0) + { + indirectLighting = directLighting * _LightingNoIndirectMultiplier; + } + + + if(float(0)) + { + float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1); + if(directluminance > 0) + { + indirectLighting = max(0.001, indirectLighting); + } + float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1); + float targetluminance = directluminance * float(0); + if(indirectluminance < targetluminance) + { + indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance); + } + } + + /* + * Create Shade Maps + */ + + if (float(0)) + { + switch(float(0)) + { + case 0: // Ramp Texture + { + poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)), shadowStrength.r); + + if (float(0)) + { + poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + else + { + poiLight.finalLighting = lerp(indirectLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + } + break; + case 1: // Math Gradient + { + poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)); + float3 shadowColor = float4(1,1,1,1); + + if (float(0)) + { + shadowColor = 1; + } + + if(float(0)) + { + poiLight.finalLighting = lerp((directLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + else + { + poiLight.finalLighting = lerp((indirectLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + } + break; + } + } + else + { + poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap); + poiLight.finalLighting = directLighting; + } + + if(!float(0)) + { + poiLight.finalLighting = saturate(poiLight.finalLighting); + } + //poiLight.finalLighting *= .8; + #endif + } + + void applyShadowTexture(inout float4 albedo) + { + + if (float(0) && float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, POI2D_SAMPLER_PAN(_LightingShadowTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1), (1 - poiLight.rampedLightMap) * shadowStrength); + } + } + + float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL) + { + fixed detailShadow = 1; + + if(float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + return lightColor * attenuationDotNL * detailShadow; + } + else + { + return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow; + } + } + + + float3 calculateFinalLighting(inout float3 albedo, float4 finalColor) + { + float3 finalLighting = 1; + // Additive Lighting + #ifdef FORWARD_ADD_PASS + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow; + } + else + { + #if defined(POINT) || defined(SPOT) + finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow; + #else + finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow; + #endif + } + #endif + + // Base and Meta Lighting + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + #ifdef VERTEXLIGHT_ON + poiLight.vFinalLighting = 0; + + for (int index = 0; index < 4; index ++) + { + poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vCorrectedDotNL[index]); + } + #endif + + switch(float(0)) + { + case 0: // Toon Lighting + { + // HSL Shading + + if (float(0)) + { + float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap); + albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1)); + } + + // Normal Shading + + if (float(0) > 0) + { + poiLight.finalLighting = max(0.001, poiLight.finalLighting); + float finalluminance = calculateluminance(poiLight.finalLighting); + finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0)))); + } + else + { + finalLighting = poiLight.finalLighting; + } + } + break; + case 1: // realistic + { + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb; + finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0)); + } + break; + } + #endif + return finalLighting; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta new file mode 100644 index 00000000..f84959d6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c52b3a5acc147bc468cf6eff0a32f841 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc new file mode 100644 index 00000000..c23736df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc @@ -0,0 +1,243 @@ +#ifndef POI_MSDF + #define POI_MSDF + + sampler2D _TextGlyphs; + float4 _TextGlyphs_ST; + float4 _TextGlyphs_TexelSize; + float _TextFPSUV; + float _TextTimeUV; + float _TextPositionUV; + float _TextPixelRange; + + float _TextFPSEnabled; + float _TextPositionEnabled; + float _TextTimeEnabled; + + + float4 _TextFPSColor; + half _TextFPSEmissionStrength; + fixed4 _TextFPSPadding; + half2 _TextFPSOffset; + half2 _TextFPSScale; + half _TextFPSRotation; + + fixed _TextPositionVertical; + float4 _TextPositionColor; + half _TextPositionEmissionStrength; + fixed4 _TextPositionPadding; + half2 _TextPositionOffset; + half2 _TextPositionScale; + half _TextPositionRotation; + + float4 _TextTimeColor; + half _TextTimeEmissionStrength; + fixed4 _TextTimePadding; + half2 _TextTimeOffset; + half2 _TextTimeScale; + half _TextTimeRotation; + + #define glyphWidth 0.0625 + + #define ASCII_LEFT_PARENTHESIS 40 + #define ASCII_RIGHT_PARENTHESIS 41 + #define ASCII_POSITIVE 43 + #define ASCII_PERIOD 46 + #define ASCII_NEGATIVE 45 + #define ASCII_COMMA 44 + #define ASCII_E 69 + #define ASCII_F 70 + #define ASCII_I 73 + #define ASCII_M 77 + #define ASCII_O 79 + #define ASCII_P 80 + #define ASCII_S 83 + #define ASCII_T 54 + #define ASCII_SEMICOLON 58 + + float3 globalTextEmission; + + half2 getAsciiCoordinate(float index) + { + return half2((index - 1) / 16, 1 - ((floor(index / 16 - glyphWidth)) / 16)); + } + + float median(float r, float g, float b) + { + return max(min(r, g), min(max(r, g), b)); + } + + void ApplyPositionText(inout float4 albedo, float2 uv) + { + float3 cameraPos = clamp(getCameraPosition(), -999, 999); + float3 absCameraPos = abs(cameraPos); + float totalCharacters = 20; + float positionArray[20]; + positionArray[0] = cameraPos.x >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[1] = floor((absCameraPos.x * .01) % 10) + 48; + positionArray[2] = floor((absCameraPos.x * .1) % 10) + 48; + positionArray[3] = floor(absCameraPos.x % 10) + 48; + positionArray[4] = ASCII_PERIOD; + positionArray[5] = floor((absCameraPos.x * 10) % 10) + 48; + positionArray[6] = ASCII_COMMA; + positionArray[7] = cameraPos.y >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[8] = floor((absCameraPos.y * .01) % 10) + 48; + positionArray[9] = floor((absCameraPos.y * .1) % 10) + 48; + positionArray[10] = floor(absCameraPos.y % 10) + 48; + positionArray[11] = ASCII_PERIOD; + positionArray[12] = floor((absCameraPos.y * 10) % 10) + 48; + positionArray[13] = ASCII_COMMA; + positionArray[14] = cameraPos.z >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[15] = floor((absCameraPos.z * .01) % 10) + 48; + positionArray[16] = floor((absCameraPos.z * .1) % 10) + 48; + positionArray[17] = floor(absCameraPos.z % 10) + 48; + positionArray[18] = ASCII_PERIOD; + positionArray[19] = floor((absCameraPos.z * 10) % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if (uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(positionArray[currentCharacter]); + + float2 startUV = float2(1 / totalCharacters * currentCharacter, 0); + float2 endUV = float2(1 / totalCharacters * (currentCharacter + 1), 1); + + fixed4 textPositionPadding = float4(0,0,0,0); + textPositionPadding *= 1 / totalCharacters; + uv = remapClamped(uv, startUV, endUV, float2(glyphPos.x + textPositionPadding.x, glyphPos.y - glyphWidth + textPositionPadding.y), float2(glyphPos.x + glyphWidth - textPositionPadding.z, glyphPos.y - textPositionPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textPositionPadding.z - .001 || uv.x < glyphPos.x + textPositionPadding.x + .001 || uv.y > glyphPos.y - textPositionPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textPositionPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyTimeText(inout float4 albedo, float2 uv) + { + float instanceTime = _Time.y; + float hours = instanceTime / 3600; + float minutes = (instanceTime / 60) % 60; + float seconds = instanceTime % 60; + float totalCharacters = 8; + float timeArray[8]; + timeArray[0] = floor((hours * .1) % 10) + 48; + timeArray[1] = floor(hours % 10) + 48; + timeArray[2] = ASCII_SEMICOLON; + timeArray[3] = floor((minutes * .1) % 10) + 48; + timeArray[4] = floor(minutes % 10) + 48; + timeArray[5] = ASCII_SEMICOLON; + timeArray[6] = floor((seconds * .1) % 10) + 48; + timeArray[7] = floor(seconds % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(timeArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + fixed4 textTimePadding = float4(0,0,0,0); + textTimePadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textTimePadding.x, glyphPos.y - glyphWidth + textTimePadding.y), float2(glyphPos.x + glyphWidth - textTimePadding.z, glyphPos.y - textTimePadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textTimePadding.z - .001 || uv.x < glyphPos.x + textTimePadding.x + .001 || uv.y > glyphPos.y - textTimePadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textTimePadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyFPSText(inout float4 albedo, float2 uv) + { + float smoothDeltaTime = clamp(unity_DeltaTime.w, 0, 999); + float totalCharacters = 7; + float fpsArray[7]; + fpsArray[0] = ASCII_F; + fpsArray[1] = ASCII_P; + fpsArray[2] = ASCII_S; + fpsArray[3] = ASCII_SEMICOLON; + fpsArray[4] = floor((smoothDeltaTime * .01) % 10) + 48; + fpsArray[5] = floor((smoothDeltaTime * .1) % 10) + 48; + fpsArray[6] = floor(smoothDeltaTime % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(fpsArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + + fixed4 textFPSPadding = float4(0,0,0,0); + textFPSPadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textFPSPadding.x, glyphPos.y - glyphWidth + textFPSPadding.y), float2(glyphPos.x + glyphWidth - textFPSPadding.z, glyphPos.y - textFPSPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textFPSPadding.z - .001 || uv.x < glyphPos.x + textFPSPadding.x + .001 || uv.y > glyphPos.y - textFPSPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textFPSPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,1,1,1).rgb, opacity * float4(1,1,1,1).a); + globalTextEmission += float4(1,1,1,1).rgb * opacity * float(0); + } + + void ApplyTextOverlayColor(inout float4 albedo, inout float3 textOverlayEmission) + { + globalTextEmission = 0; + half positionalOpacity = 0; + #ifdef EFFECT_BUMP + + if(float(0)) + { + ApplyFPSText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyPositionText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyTimeText(albedo, poiMesh.uv[float(0)]); + } + + textOverlayEmission = globalTextEmission; + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta new file mode 100644 index 00000000..1f3d5c30 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1c3b67f9c41f1754e9175d989b142e0a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc new file mode 100644 index 00000000..ecac0805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc @@ -0,0 +1,33 @@ +#ifndef POI_MACROS + #define POI_MACROS + + #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale + + #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex))) + #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + + #ifdef POINT + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; + #endif + + #ifdef SPOT + #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)) + #else + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord + #endif + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + DECLARE_LIGHT_COORD(input, worldPos); \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta new file mode 100644 index 00000000..cce3789b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dfaf330fab0784542b871df9ffe235c0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc new file mode 100644 index 00000000..270384af --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc @@ -0,0 +1,147 @@ +#ifndef POI_MAINTEXTURE + #define POI_MAINTEXTURE + + + + POI_TEXTURE_NOSAMPLER(_AlphaMask); + POI_TEXTURE_NOSAMPLER(_MainFadeTexture); + float4 _Color; + float _MainVertexColoring; + float _MainUseVertexColorAlpha; + float _Saturation; + float2 _MainDistanceFade; + half _MainMinAlpha; + float _MainHueShift; + #ifdef COLOR_GRADING_HDR + POI_TEXTURE_NOSAMPLER(_MainHueShiftMask); + float _MainHueShiftToggle; + float _MainHueShiftSpeed; + float _MainHueShiftReplace; + #endif + + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailTex); + half _DetailTexIntensity; + half3 _DetailTint; + float _DetailBrightness; + #endif + //globals + float alphaMask; + half3 diffColor; + + #include "CGI_PoiBackFace.cginc" + + float3 wireframeEmission; + + inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo) + { + half4 specGloss = 0; + half3 specColor = specGloss.rgb; + half smoothness = specGloss.a; + + half oneMinusReflectivity; + diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specColor, /*out*/ oneMinusReflectivity); + + FragmentCommonData o = (FragmentCommonData)0; + o.diffColor = diffColor; + o.specColor = specColor; + o.oneMinusReflectivity = oneMinusReflectivity; + o.smoothness = smoothness; + return o; + } + + inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo) + { + i_tex = i_tex; + + FragmentCommonData o = SpecularSetup(i_tex, albedo); + o.normalWorld = float4(0, 0, 0, 1); + o.eyeVec = poiCam.viewDir; + o.posWorld = i_posWorld; + + // NOTE: shader relies on pre-multiply alpha-blend (float(1) = One, float(0) = OneMinusSrcAlpha) + o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha); + return o; + } + + void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask) + { + dissolveEmission = 0; + + #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + #endif + + alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + mainTexture.a *= alphaMask; + + #ifndef POI_SHADOW + albedo = float4(lerp(mainTexture.rgb, dot(mainTexture.rgb, float3(0.3, 0.59, 0.11)), -float(0)) * max(float4(1,1,1,1).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, GammaToLinearSpace(poiMesh.vertexColor.rgb), float(0)), mainTexture.a * max(float4(1,1,1,1).a, 0.0000001)); + + #ifdef POI_LIGHTING + applyShadowTexture(albedo); + #endif + + albedo *= lerp(1, poiMesh.vertexColor.a, float(0)); + #ifdef POI_RGBMASK + albedo.rgb = calculateRGBMask(albedo.rgb); + #endif + + albedo.a = saturate(float(0) + albedo.a); + + wireframeEmission = 0; + #ifdef POI_WIREFRAME + applyWireframe(wireframeEmission, albedo); + #endif + float backFaceDetailIntensity = 1; + + float mixedHueShift = float(0); + applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission); + + #ifdef POI_FUR + calculateFur(); + #endif + + #ifdef COLOR_GRADING_HDR + float hueShiftAlpha = POI2D_SAMPLER_PAN(_MainHueShiftMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if(float(1)) + { + albedo.rgb = lerp(albedo.rgb, hueShift(albedo.rgb, mixedHueShift + float(0) * _Time.x), hueShiftAlpha); + } + else + { + albedo.rgb = hueShift(albedo.rgb, frac((mixedHueShift - (1 - hueShiftAlpha) + float(0) * _Time.x))); + } + #endif + #ifdef FINALPASS + half3 detailTexture = POI2D_SAMPLER_PAN(_DetailTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb * float4(1,1,1,1).rgb; + albedo.rgb *= LerpWhiteTo(detailTexture * float(1) * unity_ColorSpaceDouble.rgb, detailMask.r * float(1) * backFaceDetailIntensity); + #endif + albedo.rgb = saturate(albedo.rgb); + + #ifdef POI_HOLOGRAM + ApplyHoloAlpha(albedo); + #endif + + s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo); + #endif + + #ifdef DISTORT + calculateDissolve(albedo, dissolveEmission); + #endif + } + + void distanceFade(inout float4 albedo) + { + half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(fadeMap) + { + half fadeValue = max(smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, poiCam.distanceToVert), float(0)); + albedo.a *= fadeValue; + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta new file mode 100644 index 00000000..74d2d6a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5c47f55aa5015324086ec7314d2a466b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc new file mode 100644 index 00000000..3aa6d6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc @@ -0,0 +1,115 @@ +#ifndef MATCAP + #define MATCAP + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap); float4 _Matcap_ST; + POI_TEXTURE_NOSAMPLER(_MatcapMask); + float _MatcapMaskInvert; + float _MatcapBorder; + float4 _MatcapColor; + float _MatcapIntensity; + float _MatcapReplace; + float _MatcapMultiply; + float _MatcapAdd; + float _MatcapEnable; + float _MatcapLightMask; + float _MatcapEmissionStrength; + float _MatcapNormal; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap2);float4 _Matcap2_ST; + POI_TEXTURE_NOSAMPLER(_Matcap2Mask); + float _Matcap2MaskInvert; + float _Matcap2Border; + float4 _Matcap2Color; + float _Matcap2Intensity; + float _Matcap2Replace; + float _Matcap2Multiply; + float _Matcap2Add; + float _Matcap2Enable; + float _Matcap2LightMask; + float _Matcap2EmissionStrength; + float _Matcap2Normal; + + void blendMatcap(inout float4 finalColor, float add, float multiply, float replace, float4 matcapColor, float matcapMask, inout float3 matcapEmission, float emissionStrength + #ifdef POI_LIGHTING + , float matcapLightMask + #endif + #ifdef POI_BLACKLIGHT + , uint blackLightMaskIndex + #endif + ) + { + #ifdef POI_LIGHTING + if (matcapLightMask) + { + matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); + } + #endif + #ifdef POI_BLACKLIGHT + if(blackLightMaskIndex != 4) + { + matcapMask *= blackLightMask[blackLightMaskIndex]; + } + #endif + + finalColor.rgb = lerp(finalColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a); + finalColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); + finalColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; + matcapEmission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; + } + + void applyMatcap(inout float4 finalColor, inout float3 matcapEmission) + { + float4 matcap = 0; + float matcapMask = 0; + float4 matcap2 = 0; + float matcap2Mask = 0; + + // Both matcaps use the same coordinates + half3 worldViewUp = normalize(half3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); + + // Matcap 1 + half2 matcapUV = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + + matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(1,1,1,1); + matcap.rgb *= float(1); + matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if (float(0)) + { + matcapMask = 1 - matcapMask; + } + + blendMatcap(finalColor, float(0), float(0), float(1), matcap, matcapMask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap + #endif + ); + + // Matcap 2 + + if (float(0)) + { + half2 matcapUV2 = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + matcap2 = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap2, _MainTex, TRANSFORM_TEX(matcapUV2, _Matcap2)) * float4(1,1,1,1); + matcap2.rgb *= float(1); + matcap2Mask = POI2D_SAMPLER_PAN(_Matcap2Mask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(float(0)) + { + matcap2Mask = 1 - matcap2Mask; + } + blendMatcap(finalColor, float(0), float(0), float(0), matcap2, matcap2Mask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap2 + #endif + ); + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta new file mode 100644 index 00000000..1f9ee7a9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0420322c51380394d9cb641bab60d61c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc new file mode 100644 index 00000000..b2d07a38 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc @@ -0,0 +1,104 @@ +/* +MIT License + +Copyright (c) 2019 wraikny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +VertexTransformShader is dependent on: +*/ + +#ifndef POI_MATH + #define POI_MATH + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float4 quaternion_conjugate(float4 v) + { + return float4( + v.x, -v.yzw + ); + } + + float4 quaternion_mul(float4 v1, float4 v2) + { + float4 result1 = (v1.x * v2 + v1 * v2.x); + + float4 result2 = float4( + - dot(v1.yzw, v2.yzw), + cross(v1.yzw, v2.yzw) + ); + + return float4(result1 + result2); + } + + // angle : radians + float4 get_quaternion_from_angle(float3 axis, float angle) + { + return float4( + cos(angle / 2.0), + normalize(axis) * sin(angle / 2.0) + ); + } + + float4 quaternion_from_vector(float3 inVec) + { + return float4(0.0, inVec); + } + + float degree_to_radius(float degree) + { + return( + degree / 180.0 * pi + ); + } + + float3 rotate_with_quaternion(float3 inVec, float3 rotation) + { + float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x)); + float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y)); + float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z)); + + #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C)) + float4 quaternion = normalize(MUL3(qx, qy, qz)); + float4 conjugate = quaternion_conjugate(quaternion); + + float4 inVecQ = quaternion_from_vector(inVec); + + float3 rotated = ( + MUL3(quaternion, inVecQ, conjugate) + ).yzw; + + return rotated; + } + + float4 transform(float4 input, float4 pos, float4 rotation, float4 scale) + { + input.rgb *= (scale.xyz * scale.w); + input = float4( + rotate_with_quaternion(input.xyz, rotation.xyz * rotation.w) + + (pos.xyz * pos.w), + input.w + ); + return input; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta new file mode 100644 index 00000000..f1ee24e1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6d37e7a58e1f7154d8b906252586791e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc new file mode 100644 index 00000000..916f65eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc @@ -0,0 +1,130 @@ +#ifndef POI_METAL + #define POI_METAL + + samplerCUBE _CubeMap; + float _SampleWorld; + POI_TEXTURE_NOSAMPLER(_MetallicMask); + POI_TEXTURE_NOSAMPLER(_SmoothnessMask); + float _Metallic; + float _InvertSmoothness; + float _Smoothness; + float _EnableMetallic; + float3 _MetalReflectionTint; + POI_TEXTURE_NOSAMPLER(_MetallicTintMap); + + float3 finalreflections; + float metalicMap; + float3 reflection; + float roughness; + float lighty_boy_uwu_var; + + bool shouldMetalHappenBeforeLighting() + { + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool probeExists = !(unity_SpecCube0_HDR.a == 0 && envSample.a == 0); + return probeExists && !float(0); + } + + float3 fresnelRelflection(in float4 albedo) + { + half3 dotNV = 1 - abs(poiLight.nDotV); + half f = dotNV * dotNV * dotNV * dotNV; + //f *= i_sold.fresnel; + return lerp(lerp(DielectricSpec.rgb, albedo.rgb, metalicMap), saturate(1 - roughness + metalicMap), f); + } + + void calculateMetallicness() + { + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + } + + void ApplyMetallics(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflection = lerp(probe1, probe0, interpolator); + } + else + { + reflection = probe0; + } + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } + + void ApplyMetallicsFake(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + reflection = texCUBElod(_CubeMap, float4(poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta new file mode 100644 index 00000000..a7c1160d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e0a46451e90bd384e92b341f58dbddd4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc new file mode 100644 index 00000000..8bb16398 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc @@ -0,0 +1,77 @@ +#ifndef POI_MIRROR + #define POI_MIRROR + + float _Mirror; + float _EnableMirrorTexture; + POI_TEXTURE_NOSAMPLER(_MirrorTexture); + + + void applyMirrorRenderVert(inout float4 vertex) + { + + if (float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + void applyMirrorRenderFrag() + { + + if(float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + void applyMirrorTexture(inout float4 mainTexture) + { + + if(float(0)) + { + if(IsInMirror()) + { + mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + } + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta new file mode 100644 index 00000000..09fd650e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2295ade10b652534bb937263a65c0a57 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc new file mode 100644 index 00000000..62e63c91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc @@ -0,0 +1,107 @@ +float _OutlineRimLightBlend; +float _OutlineLit; +float _OutlineTintMix; +float2 _MainTexPan; +float _MainTextureUV; + +float4 frag(v2f i, uint facing: SV_IsFrontFace): COLOR +{ + float4 finalColor = 1; + + if (float(0)) + { + UNITY_SETUP_INSTANCE_ID(i); + + float3 finalEmission = 0; + float4 albedo = 1; + + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + float3 uselessData0; + float3 uselessData1; + initTextureData(albedo, mainTexture, uselessData0, uselessData1, detailMask); + + + fixed4 col = mainTexture; + float alphaMultiplier = smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(getCameraPosition(), i.worldPos)); + float OutlineMask = tex2D(_OutlineMask, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0)).r; + clip(OutlineMask * float(0) - 0.001); + + col = col * 0.00000000001 + tex2D(_OutlineTexture, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineTexture) + _Time.x * float4(0,0,0,0) ); + col.a *= albedo.a; + col.a *= alphaMultiplier; + + #ifdef POI_RANDOM + col.a *= i.angleAlpha; + #endif + + poiCam.screenUV = calcScreenUVs(i.grabPos); + col.a *= float4(1,1,1,1).a; + + + if(float(0) == 1) + { + applyDithering(col); + } + + clip(col.a - float(0.5)); + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + + if(float(0) == 1) + { + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + col.rgb = mainTexture.rgb; + } + else if(float(0) == 2) + { + col.rgb = lerp(col.rgb, poiLight.color, float(0)); + } + col.rgb *= float4(1,1,1,1).rgb; + + if(float(0) == 1) + { + col.rgb = lerp(col.rgb, mainTexture.rgb, float(0)); + } + + finalColor = col; + + #ifdef POI_LIGHTING + + if(float(1)) + { + finalColor.rgb *= calculateFinalLighting(finalColor.rgb, finalColor); + } + #endif + finalColor.rgb += (col.rgb * float(0)); + } + else + { + clip(-1); + } + return finalColor; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta new file mode 100644 index 00000000..083fbbdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f7bd77eb600c9424882d62ccd81d4912 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc new file mode 100644 index 00000000..900e9e43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc @@ -0,0 +1,105 @@ +#ifndef OutlineVert + #define OutlineVert + + #include "CGI_PoiV2F.cginc" + + float _OutlineMode; + float4 _OutlinePersonaDirection; + float4 _OutlineDropShadowOffset; + float _OutlineUseVertexColors; + float _OutlineFixedSize; + float _commentIfZero_EnableOutlinePass; + + sampler2D _OutlineMask; float4 _OutlineMask_ST; float2 _OutlineMaskPan; float _OutlineMaskUV; + v2f vert(appdata v) + { + + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + + float2 uvArray[4]; + uvArray[0] = o.uv0.xy; + uvArray[1] = o.uv0.zw; + uvArray[2] = o.uv1.xy; + uvArray[3] = o.uv1.zw; + + #ifdef POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + o.uv0.xy = v.uv0 + _OutlineGlobalPan.xy * _Time.y; + float outlineMask = 1; + + outlineMask = poiMax(tex2Dlod(_OutlineMask, float4(TRANSFORM_TEX(uvArray[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0), 0, 0)).rgb); + + if (float(0) == 2) + { + outlineMask *= v.color.r; + } + + + if(float(0) != 1) + { + o.normal = UnityObjectToWorldNormal(v.normal); + } + else + { + o.normal = UnityObjectToWorldNormal(v.color); + } + + + half offsetMultiplier = 1; + half distanceOffset = 1; + + if(float(0)) + { + distanceOffset *= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex).xyz); + } + + float3 offset = o.normal * (float(0) * float(0) / 100) * outlineMask * distanceOffset; + + + if(float(0) == 2) + { + float3 lightDirection = poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + offsetMultiplier = saturate(dot(lightDirection, o.normal)); + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 3) + { + half3 viewNormal = mul((float3x3)UNITY_MATRIX_V, o.normal); + offsetMultiplier = saturate(dot(viewNormal.xy, normalize(float4(1,0,0,0).xy))); + + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 4) + { + offset = mul((float3x3)transpose(UNITY_MATRIX_V), float4(1,0,0,0)); + offset *= distanceOffset; + } + + o.worldPos = mul(unity_ObjectToWorld, v.vertex) + float4(offset, 0); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.pos = UnityWorldToClipPos(o.worldPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0); + UNITY_TRANSFER_FOG(o, o.pos); + return o; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta new file mode 100644 index 00000000..febe2a67 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7babea451005e7e49840f5a92e408b6f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc new file mode 100644 index 00000000..da64a89d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc @@ -0,0 +1,63 @@ +#ifndef PANOSPHERE + #define PANOSPHERE + + sampler2D _PanosphereTexture; float4 _PanosphereTexture_ST; + POI_TEXTURE_NOSAMPLER(_PanoMask); + float _PanoEmission; + float _PanoBlend; + float4 _PanosphereColor; + float3 _PanospherePan; + float _PanoToggle; + float _PanoCubeMapToggle; + float _PanoInfiniteStereoToggle; + samplerCUBE _PanoCubeMap; half4 _PanoCubeMap_HDR; + + float3 panoColor; + float panoMask; + + float2 projectIt(float3 coords) + { + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude + _Time.y * float4(0,0,0,0).x, latitude + _Time.y * float4(0,0,0,0).y) * float2(1.0 / UNITY_PI, 1.0 / UNITY_PI); + sphereCoords = float2(1.0, 1.0) - sphereCoords; + return(sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; + } + + void applyPanosphereColor(inout float4 albedo, inout float3 panosphereEmission) + { + panoMask = POI2D_SAMPLER_PAN(_PanoMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskPanosphere != 4) + { + panoMask *= blackLightMask[_BlackLightMaskPanosphere]; + } + #endif + + + if(float(0)) + { + float3 cubeUV = mul(poiRotationMatrixFromAngles(float4(0,0,0,0).xyz * _Time.y), float4(-poiCam.viewDir, 1)); + half4 cubemap = texCUBE(_PanoCubeMap, cubeUV); + panoColor = DecodeHDR(cubemap, _PanoCubeMap_HDR); + } + else + { + float2 uv = projectIt(normalize(lerp(getCameraPosition().xyz, poiCam.worldPos.xyz, float(0)) - poiMesh.worldPos.xyz) * - 1); + + float2 ddxuv = ddx(uv); + float2 ddyuv = ddy(uv); + if(any(fwidth(uv) > .5)) + { + ddxuv = ddyuv = 0.001; + } + panoColor = tex2D(_PanosphereTexture, TRANSFORM_TEX(uv, _PanosphereTexture), ddxuv, ddyuv).rgb * float4(1,1,1,1).rgb; + } + panosphereEmission = panoColor * float(0) * panoMask * float(0); + albedo.rgb = lerp(albedo.rgb, panoColor, float(0) * panoMask); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta new file mode 100644 index 00000000..58367e75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7351a85076b09804d99c6bdce99f0834 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc new file mode 100644 index 00000000..6cd94900 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc @@ -0,0 +1,143 @@ +#ifndef POI_PARALLAX + #define POI_PARALLAX + + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxHeightMap); float4 _ParallaxHeightMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxHeightMapMask); + float2 _ParallaxHeightMapPan; + float _ParallaxStrength; + float _ParallaxHeightMapEnabled; + float _ParallaxUV; + + //Internal + float _ParallaxInternalMapEnabled; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxInternalMap); float4 _ParallaxInternalMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxInternalMapMask); + float _ParallaxInternalIterations; + float _ParallaxInternalMinDepth; + float _ParallaxInternalMaxDepth; + float _ParallaxInternalMinFade; + float _ParallaxInternalMaxFade; + float4 _ParallaxInternalMinColor; + float4 _ParallaxInternalMaxColor; + float4 _ParallaxInternalPanSpeed; + float4 _ParallaxInternalPanDepthSpeed; + float _ParallaxInternalHeightmapMode; + float _ParallaxInternalHeightFromAlpha; + + float GetParallaxHeight(float2 uv) + { + return clamp(UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxHeightMap, _MainTex, TRANSFORM_TEX(uv, _ParallaxHeightMap) + _Time.x * float4(0,0,0,0)).g, 0, .99999); + } + /* + float2 ParallaxOffset(float2 viewDir) + { + float height = GetParallaxHeight(); + height -= 0.5; + height *= float(0); + return viewDir * height; + } + */ + float2 ParallaxRaymarching(float2 viewDir) + { + float2 uvOffset = 0; + float stepSize = 0.1; + float2 uvDelta = viewDir * (stepSize * float(0)); + + float stepHeight = 1; + float surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)]); + + + float2 prevUVOffset = uvOffset; + float prevStepHeight = stepHeight; + float prevSurfaceHeight = surfaceHeight; + + for (int i = 1; i < 10 && stepHeight > surfaceHeight; i ++) + { + prevUVOffset = uvOffset; + prevStepHeight = stepHeight; + prevSurfaceHeight = surfaceHeight; + + uvOffset -= uvDelta; + stepHeight -= stepSize; + surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)] + uvOffset); + } + + float prevDifference = prevStepHeight - prevSurfaceHeight; + float difference = surfaceHeight - stepHeight; + float t = prevDifference / (prevDifference + difference); + uvOffset = prevUVOffset -uvDelta * t; + + return uvOffset *= POI2D_SAMPLER_PAN(_ParallaxHeightMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + + void calculateandApplyParallax() + { + + if (float(0)) + { + float2 parallaxOffset = ParallaxRaymarching(poiCam.tangentViewDir.xy); + + if(float(0) == 0) + { + poiMesh.uv[0] += parallaxOffset; + } + + if(float(0) == 1) + { + poiMesh.uv[1] += parallaxOffset; + } + + if(float(0) == 2) + { + poiMesh.uv[2] += parallaxOffset; + } + + if(float(0) == 3) + { + poiMesh.uv[3] += parallaxOffset; + } + } + } + + void calculateAndApplyInternalParallax(inout float4 finalColor) + { + #if defined(_PARALLAXMAP) + + if(float(0)) + { + float3 parallax = 0; + + for (int j = float(1); j > 0; j --) + { + float ratio = (float)j / float(1); + float2 parallaxOffset = _Time.y * (float4(0,0,0,0) + (1 - ratio) * float4(0,0,0,0)); + float fade = lerp(float(0), float(1), ratio); + float4 parallaxColor = UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxInternalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _ParallaxInternalMap) + lerp(float(0), float(1), ratio) * - poiCam.tangentViewDir.xy + parallaxOffset); + float3 parallaxTint = lerp(float4(1,1,1,1), float4(1,1,1,1), ratio); + float parallaxHeight; + if(float(0)) + { + parallaxTint *= parallaxColor.rgb; + parallaxHeight = parallaxColor.a; + } + else + { + parallaxHeight = parallaxColor.r; + } + //float parallaxColor *= lerp(float4(1,1,1,1), float4(1,1,1,1), 1 - ratio); + + if (float(0) == 1) + { + parallax = lerp(parallax, parallaxTint * fade, parallaxHeight >= 1 - ratio); + } + else + { + parallax += parallaxTint * parallaxHeight * fade; + } + } + //parallax /= float(1); + finalColor.rgb += parallax * POI2D_SAMPLER_PAN(_ParallaxInternalMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta new file mode 100644 index 00000000..9fb179b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5f8a25eded6ad9f4bbb5c33f8c7065d2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc new file mode 100644 index 00000000..81230e8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc @@ -0,0 +1,233 @@ +/* +USED--------------------------------------------- +"_PARALLAXMAP", +"_REQUIRE_UV2", +"_SUNDISK_NONE", +"_DETAIL_MULX2", +"_GLOSSYREFLECTIONS_OFF", +"_METALLICGLOSSMAP", +"_COLORADDSUBDIFF_ON", +"_SPECGLOSSMAP", +"_TERRAIN_NORMAL_MAP", +"_SUNDISK_SIMPLE", +"_EMISSION", +"_COLORCOLOR_ON", +"_COLOROVERLAY_ON", +"_ALPHAMODULATE_ON", +"_SUNDISK_HIGH_QUALITY", +"_MAPPING_6_FRAMES_LAYOUT", +"_NORMALMAP" +"EFFECT_BUMP", +"BLOOM", +"BLOOM_LOW", +"GRAIN", +"DEPTH_OF_FIELD", +"USER_LUT", +"CHROMATIC_ABERRATION_LOW", +"BLOOM_LENS_DIRT", +"_FADING_ON", +"CHROMATIC_ABERRATION", +"DISTORT", +"GEOM_TYPE_BRANCH", +"_SPECULARHIGHLIGHTS_OFF", +"_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", +"EFFECT_HUE_VARIATION", +"GEOM_TYPE_LEAF", +"GEOM_TYPE_MESH", +"FINALPASS", +"AUTO_EXPOSURE" +"VIGNETTE", +"VIGNETTE_MASKED", +"COLOR_GRADING_HDR", + +UNUSED------------------------------------------- +"_ALPHABLEND_ON", +"_ALPHAPREMULTIPLY_ON", +"_ALPHATEST_ON", +"GEOM_TYPE_BRANCH_DETAIL", +"GEOM_TYPE_FROND", +"PIXELSNAP_ON", +"SOFTPARTICLES_ON", +"DITHERING", +"TONEMAPPING_NEUTRAL", +"TONEMAPPING_FILMIC", +"TONEMAPPING_ACES", +"TONEMAPPING_CUSTOM", +"DEPTH_OF_FIELD_COC_VIEW", +"COLOR_GRADING", +"COLOR_GRADING_LOG_VIEW", +"VIGNETTE_CLASSIC", +"COLOR_GRADING_HDR_3D", + +DO NOT USE ----------------------------------------- +"BILLBOARD_FACE_CAMERA_POS", +*/ + + +#ifndef POI_PASS + #define POI_PASS + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #ifdef POI_META_PASS + #include "UnityMetaPass.cginc" + #endif + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + + #include "CGI_PoiSpawnInVert.cginc" + + #include "CGI_PoiV2F.cginc" + + #ifdef BLOOM_LOW + #include "CGI_PoiBulge.cginc" + #endif + + #include "CGI_PoiVert.cginc" + + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + + #include "CGI_PoiDithering.cginc" + + #ifdef _PARALLAXMAP + #include "CGI_PoiParallax.cginc" + #endif + + #ifdef USER_LUT + #include "CGI_PoiUVDistortion.cginc" + #endif + + #ifdef VIGNETTE + #include "CGI_PoiRGBMask.cginc" + #endif + + #include "CGI_PoiData.cginc" + + #ifdef _SPECULARHIGHLIGHTS_OFF + #include "CGI_PoiBlackLight.cginc" + #endif + + #include "CGI_PoiSpawnInFrag.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + + #ifdef DEPTH_OF_FIELD + #include "CGI_PoiHologram.cginc" + #endif + + #ifdef BLOOM_LENS_DIRT + #include "CGI_PoiIridescence.cginc" + #endif + + + #ifdef FUR + #include "CGI_PoiFur.cginc" + #include "CGI_PoiGeomFur.cginc" + #endif + + #ifdef VIGNETTE_MASKED + #include "CGI_PoiLighting.cginc" + #endif + + #include "CGI_PoiMainTex.cginc" + + #ifdef GEOM_TYPE_BRANCH + #include "CGI_PoiDecal.cginc" + #endif + + #ifdef CHROMATIC_ABERRATION + #include "CGI_PoiVoronoi.cginc" + #endif + + #ifdef _DETAIL_MULX2 + #include "CGI_PoiPanosphere.cginc" + #endif + + #ifdef EFFECT_BUMP + #include "CGI_PoiMSDF.cginc" + #endif + + #ifdef GRAIN + #include "CGI_PoiDepthColor.cginc" + #endif + + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _GLOSSYREFLECTIONS_OFF + #include "CGI_PoiRimLighting.cginc" + #endif + + #ifdef _MAPPING_6_FRAMES_LAYOUT + #include "CGI_PoiEnvironmentalRimLighting.cginc" + #endif + + #ifdef _METALLICGLOSSMAP + #include "CGI_PoiMetal.cginc" + #endif + + #ifdef _COLORADDSUBDIFF_ON + #include "CGI_PoiMatcap.cginc" + #endif + + #ifdef _SPECGLOSSMAP + #include "CGI_PoiSpecular.cginc" + #endif + + #ifdef BLOOM + #include "CGI_PoiVideo.cginc" + #endif + + #ifdef _TERRAIN_NORMAL_MAP + #include "CGI_PoiSubsurfaceScattering.cginc" + #endif + + #include "CGI_PoiBlending.cginc" + #include "CGI_PoiGrab.cginc" + + #ifdef _SUNDISK_SIMPLE + #include "CGI_PoiGlitter.cginc" + #endif + + #ifdef _EMISSION + #include "CGI_PoiEmission.cginc" + #endif + + #ifdef _COLORCOLOR_ON + #include "CGI_PoiClearCoat.cginc" + #endif + + #include "CGI_PoiAlphaToCoverage.cginc" + + #ifdef _COLOROVERLAY_ON + #include "CGI_PoiDebug.cginc" + #endif + #include "CGI_PoiFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta new file mode 100644 index 00000000..9c42c30b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cd3911e376c5e4948a990438e52cb78a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc new file mode 100644 index 00000000..5e365972 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc @@ -0,0 +1,26 @@ +#ifndef POI_PASS_OUTLINE + #define POI_PASS_OUTLINE + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "CGI_PoiMacros.cginc" + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiOutlineVert.cginc" + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiLighting.cginc" + #include "CGI_PoiMainTex.cginc" + #include "CGI_PoiData.cginc" + #include "CGI_PoiDithering.cginc" + #include "CGI_PoiOutlineFrag.cginc" +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta new file mode 100644 index 00000000..3c21471b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fb1818348f8a9ad4faf0ec2429edb8b5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc new file mode 100644 index 00000000..d21a5d4d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc @@ -0,0 +1,44 @@ +#ifndef POI_PASS_SHADOW + #define POI_PASS_SHADOW + + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiShadowIncludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiMirror.cginc" + #include "CGI_PoiSpawnInFrag.cginc" + + #include "CGI_PoiV2F.cginc" + #include "CGI_PoiData.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + #include "CGI_PoiDithering.cginc" + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + #include "CGI_PoiSpawnInVert.cginc" + #include "CGI_PoiShadowVert.cginc" + #include "CGI_PoiShadowFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta new file mode 100644 index 00000000..0173ed7a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 94e78071b2010584393b1d694f6c2545 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc new file mode 100644 index 00000000..d4cd1697 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc @@ -0,0 +1,131 @@ +#ifndef POI_RGBMASK + #define POI_RGBMASK + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RGBMask); float4 _RGBMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RedTexure); float4 _RedTexure_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GreenTexture); float4 _GreenTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlueTexture); float4 _BlueTexture_ST; + + #ifdef GEOM_TYPE_MESH + POI_NORMAL_NOSAMPLER(_RgbNormalR); + POI_NORMAL_NOSAMPLER(_RgbNormalG); + POI_NORMAL_NOSAMPLER(_RgbNormalB); + float _RgbNormalsEnabled; + #endif + + float4 _RedColor; + float4 _GreenColor; + float4 _BlueColor; + + float4 _RGBMaskPanning; + float4 _RGBRedPanning; + float4 _RGBGreenPanning; + float4 _RGBBluePanning; + + float _RGBBlendMultiplicative; + + float _RGBMaskUV; + float _RGBRed_UV; + float _RGBGreen_UV; + float _RGBBlue_UV; + float _RGBUseVertexColors; + float _RGBNormalBlend; + + static float3 rgbMask; + + void calculateRGBNormals(inout half3 mainTangentSpaceNormal) + { + #ifdef GEOM_TYPE_MESH + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + + if(float(0)) + { + + if(float(0) == 0) + { + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.r); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.g); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.b); + } + return; + } + else + { + half3 newNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0) * rgbMask.r); + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.g); + normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.b); + mainTangentSpaceNormal = BlendNormals(newNormal, mainTangentSpaceNormal); + return; + } + } + #endif + } + + float3 calculateRGBMask(float3 baseColor) + { + //If RGB normals are in use this data will already exist + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + float4 red = POI2D_SAMPLER_PAN(_RedTexure, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 green = POI2D_SAMPLER_PAN(_GreenTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 blue = POI2D_SAMPLER_PAN(_BlueTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + + if(float(0)) + { + float3 RGBColor = 1; + RGBColor = lerp(RGBColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + baseColor *= RGBColor; + } + else + { + baseColor = lerp(baseColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + } + + return baseColor; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta new file mode 100644 index 00000000..a72c0c2a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dcc878e51bd9b454ba7f4aa7d5e830af +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc new file mode 100644 index 00000000..137ef6de --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc @@ -0,0 +1,4 @@ +#ifndef POI_RNG + #define POI_RNG + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta new file mode 100644 index 00000000..6a3d34c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6b8776763381e5441b41afdd2402654f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..11f3eea2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,41 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + float _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin; + float _CameraAngleMax; + float _ModelAngleMin; + float _ModelAngleMax; + float _AngleMinAlpha; + float _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = float(45) / 180; + half cameraAngleMax = float(90) / 180; + half modelAngleMin = float(45) / 180; + half modelAngleMax = float(90) / 180; + float3 pos = float(0) == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(float4(0,0,1,0)))); + half cameraLookAtModel = remapClamped(.5 * dot(cameraToModelDirection, getCameraForward()) + .5, cameraAngleMax, cameraAngleMin, 0, 1); + half modelLookAtCamera = remapClamped(.5 * dot(-cameraToModelDirection, modelForwardDirection) + .5, modelAngleMax, modelAngleMin, 0, 1); + if (float(0) == 0) + { + return max(cameraLookAtModel, float(0)); + } + else if(float(0) == 1) + { + return max(modelLookAtCamera, float(0)); + } + else if(float(0) == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, float(0)); + } + return 1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta new file mode 100644 index 00000000..e1fdc307 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3fe8b520ced309b4c94ec0fac2d3b31e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc new file mode 100644 index 00000000..d4571c0c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc @@ -0,0 +1,47 @@ +#ifndef POI_RIM + #define POI_RIM + + float4 _RimLightColor; + float _RimLightingInvert; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float _ShadowMix; + float _ShadowMixThreshold; + float _ShadowMixWidthMod; + float _EnableRimLighting; + float _RimBrighten; + float _RimLightNormal; + + POI_TEXTURE_NOSAMPLER(_RimTex); + POI_TEXTURE_NOSAMPLER(_RimMask); + POI_TEXTURE_NOSAMPLER(_RimWidthNoiseTexture); + + float _RimWidthNoiseStrength; + + float4 rimColor = float4(0, 0, 0, 0); + float rim = 0; + + void applyRimLighting(inout float4 albedo, inout float3 rimLightEmission) + { + float rimNoise = POI2D_SAMPLER_PAN(_RimWidthNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimNoise = (rimNoise - .5) * float(0.1); + + float viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + + if (float(0)) + { + viewDotNormal = 1 - abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + } + float rimWidth = float(0.8); + rimWidth -= rimNoise; + float rimMask = POI2D_SAMPLER_PAN(_RimMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimColor = POI2D_SAMPLER_PAN(_RimTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + rimWidth = max(lerp(rimWidth, rimWidth * lerp(0, 1, poiLight.lightMap - float(0.5)) * float(0.5), float(0)),0); + rim = 1 - smoothstep(min(float(0.25), rimWidth), rimWidth, viewDotNormal); + rim *= float4(1,1,1,1).a * rimColor.a * rimMask; + rimLightEmission = rim * lerp(albedo, rimColor, float(0)) * float(0); + albedo.rgb = lerp(albedo.rgb, lerp(albedo.rgb, rimColor, float(0)) + lerp(albedo.rgb, rimColor, float(0)) * float(0), rim); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta new file mode 100644 index 00000000..4ca1f40c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2ec4471acbe288a429967ab21c5d0b9f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc new file mode 100644 index 00000000..16701f61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc @@ -0,0 +1,116 @@ +#ifndef SHADOW_FRAG + #define SHADOW_FRAG + + float2 _MainDistanceFade; + float _ForceOpaque; + float _MainShadowClipMod; + float2 _AlphaMaskPan; + float _AlphaMaskUV; + sampler3D _DitherMaskLOD; + float2 _MainTexPan; + float _MainTextureUV; + + half4 fragShadowCaster( + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + V2FShadow i, uint facing: SV_IsFrontFace + #endif + ): SV_Target + { + poiMesh.uv[0] = i.uv; + poiMesh.uv[1] = i.uv1; + poiMesh.uv[2] = i.uv2; + poiMesh.uv[3] = i.uv3; + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + + + //Possible Bug with clip + float clipValue = clamp(float(0.5) + float(0), - .001, 1.001); + + poiMesh.vertexColor = saturate(i.vertexColor); + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + #if defined(UNITY_STANDARD_USE_SHADOW_UVS) + + half4 alpha = mainTexture; + + + if (float(0)) + { + if(IsInMirror()) + { + alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a; + } + } + + + alpha.a *= smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(i.modelPos, _WorldSpaceCameraPos)); + half alphaMask = POI2D_PAN(_AlphaMask, poiMesh.uv[float(0)], float4(0,0,0,0)); + alpha.a *= alphaMask; + alpha.a *= float4(1,1,1,1).a + .0001; + alpha.a += float(0); + alpha.a = saturate(alpha.a); + + + if(float(0) == 0) + { + alpha.a = 1; + } + + + if(float(0) == 1) + { + applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy); + } + + #ifdef POI_DISSOLVE + float3 fakeEmission = 1; + calculateDissolve(alpha, fakeEmission); + #endif + + if(float(0) == 1) + { + clip(alpha.a - 0.001); + } + + /* + return poiMesh.vertexColor.g; + + #ifdef POI_RANDOM + alpha.a *= i.angleAlpha; + #endif + + + if(float(0) >= 1) + { + applySpawnInShadow(uv[0], i.localPos); + + #if defined(POI_FLIPBOOK) + alpha.a *= applyFlipbookAlphaToShadow(uv[float(0)]); + #endif + } + */ + + if (float(0) == 1) + { + clip(alpha.a - clipValue); + } + + + if(float(0) > 1) + { + float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a; + clip(dither - 0.01); + } + + #endif + SHADOW_CASTER_FRAGMENT(i) + } + + #endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta new file mode 100644 index 00000000..c03b6b93 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8abb5ac917f81ee4e9f5bdaf965a474c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc new file mode 100644 index 00000000..fd8f19a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc @@ -0,0 +1,41 @@ +#ifndef SHADOW_INCLUDES + #define SHADOW_INCLUDES + + #define UNITY_STANDARD_USE_SHADOW_UVS 1 + + float4 _Color; + sampler2D _AlphaMask; float4 _AlphaMask_ST; + + struct VertexInputShadow + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + struct V2FShadow + { + V2F_SHADOW_CASTER_NOPOS + float4 pos: SV_POSITION; + float2 uv: TEXCOORD1; + float2 uv1: TEXCOORD2; + float2 uv2: TEXCOORD3; + float2 uv3: TEXCOORD4; + float3 modelPos: TEXCOORD5; + float4 worldPos: TEXCOORD6; + float4 localPos: TEXCOORD7; + float3 angleAlpha: TEXCOORD8; + float4 grabPos: TEXCOORD9; + fixed3 barycentricCoordinates: TEXCOORD10; + float4 vertexColor: TEXCOORD11; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta new file mode 100644 index 00000000..932ae2d8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3dc9cad469c7fdd458709bb2e6a4fa81 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc new file mode 100644 index 00000000..f0b7184a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc @@ -0,0 +1,80 @@ +float _EnableTouchGlow; +float _EnableBulge; +float _VertexManipulationHeightUV; + +V2FShadow vertShadowCaster(VertexInputShadow v) +{ + V2FShadow o; + UNITY_SETUP_INSTANCE_ID(v); + + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(V2FShadow, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.uv = v.uv0; + o.uv1 = v.uv1; + o.uv2 = v.uv2; + o.uv3 = v.uv3; + + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, v.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.vertexColor = v.color; + + + if(_EnableTouchGlow || _EnableBulge) + { + o.pos = UnityObjectToClipPos(float3(0, 0, -5)); + o.localPos.xyz = float3(0, 0, -5); + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + } + + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + + o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal); + o.pos = UnityApplyLinearShadowBias(o.pos); + + return o; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta new file mode 100644 index 00000000..8b47a923 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 320903df6013a1a46b34c1bb4cf82899 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc new file mode 100644 index 00000000..0c18d1ad --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc @@ -0,0 +1,58 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + #endif + + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST; + + float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos) + { + + if (_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + spawnInEmission = saturate(inverseGradient + _SpawnInAlpha + _SpawnInEmissionOffset +noise - 1) * _SpawnInEmissionColor; + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } + + void applySpawnInShadow(float2 uv, float3 localPos) + { + + if(_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float alpha = gradient - _SpawnInAlpha - noise + length(_SpawnInVertOffset); + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta new file mode 100644 index 00000000..eb9fc214 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fb3e10e7845de35488344c777c5db7ba +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc new file mode 100644 index 00000000..fdcc457f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc @@ -0,0 +1,40 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + + #endif + //sampler2D _SpawnInNoiseVert; float4 _SpawnInNoiseVert_ST; + + float calculateGradientValueVert(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv) + { + + if (_EnableScifiSpawnIn) + { + float noise = 0; + float gradient = calculateGradientValueVert(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + worldPos.xyz += saturate(inverseGradient + _SpawnInAlpha + _SpawnInVertOffsetOffset -1) * float3(0, _SpawnInVertOffset, 0); + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + //float noise = tex2Dlod(_SpawnInNoise, float4(TRANSFORM_TEX(uv, _SpawnInNoise))).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta new file mode 100644 index 00000000..92957e3f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2d09763e019c2b4478c405bedb4d638c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc new file mode 100644 index 00000000..f5287465 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc @@ -0,0 +1,488 @@ +#ifndef POI_SPECULAR + #define POI_SPECULAR + float _SpecWhatTangent; + float _SpecularType; + float _SmoothnessFrom; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap); + POI_TEXTURE_NOSAMPLER(_SpecularMap); + fixed _CenterOutSpecColor; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro); + float _SpecularAnisoJitterMirrored; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoFakeUV); + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap); + POI_TEXTURE_NOSAMPLER(_SpecularMask); + float _SpecularAnisoJitterMicroMultiplier; + float _SpecularAnisoJitterMacroMultiplier; + float4 _SpecularTint; + float _SpecularSmoothness; + float _Spec1Offset; + float _Spec1JitterStrength; + float _Spec2Smoothness; + float _Spec2Offset; + float _Spec2JitterStrength; + float _AnisoUseTangentMap; + float _AnisoSpec1Alpha; + float _AnisoSpec2Alpha; + float _SpecularInvertSmoothness; + half _SpecularMetallic; + float _SpecularNormal; + float _SpecularNormal1; + // Toon + fixed _SpecularToonStart; + fixed _SpecularToonEnd; + half4 _SpecularToonInnerOuter; + + float _EnableSpecular1; + float _SpecWhatTangent1; + float _SpecularType1; + float _SmoothnessFrom1; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMap1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro1); + float _SpecularAnisoJitterMirrored1; + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMask1); + float _SpecularAnisoJitterMicroMultiplier1; + float _SpecularAnisoJitterMacroMultiplier1; + float4 _SpecularTint1; + float _SpecularSmoothness1; + float _Spec1Offset1; + float _Spec1JitterStrength1; + float _Spec2Smoothness1; + float _Spec2Offset1; + float _Spec2JitterStrength1; + float _AnisoUseTangentMap1; + float _AnisoSpec1Alpha1; + float _AnisoSpec2Alpha1; + float _SpecularInvertSmoothness1; + half _SpecularMetallic1; + // Toon + half4 _SpecularToonInnerOuter1; + fixed _SpecularToonStart1; + fixed _SpecularToonEnd1; + + UnityIndirect ZeroIndirect() + { + UnityIndirect ind; + ind.diffuse = 0; + ind.specular = 0; + return ind; + } + + // From unity just putting it here in case I want to mod it + half4 poiRealisticSpecular(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, + float3 normal, float3 halfDir, + UnityLight light, UnityIndirect gi) + { + float perceptualRoughness = SmoothnessToPerceptualRoughness(smoothness); + #define UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV 0 + + #if UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV + half shiftAmount = dot(normal, poiCam.viewDir); + normal = shiftAmount < 0.0f ? normal + poiCam.viewDir * (-shiftAmount + 1e-5f): normal; + float nv = saturate(dot(normal, poiCam.viewDir)); + #else + half nv = abs(dot(normal, poiCam.viewDir)); + #endif + + float nl = saturate(dot(normal, light.dir)); + float nh = saturate(dot(normal, halfDir)); + + half lv = saturate(dot(light.dir, poiCam.viewDir)); + half lh = saturate(dot(light.dir, halfDir)); + + half diffuseTerm = DisneyDiffuse(nv, nl, lh, perceptualRoughness) * nl; + + float roughness = PerceptualRoughnessToRoughness(perceptualRoughness); + + roughness = max(roughness, 0.002); + float V = SmithJointGGXVisibilityTerm(nl, nv, roughness); + float D = GGXTerm(nh, roughness); + + float specularTerm = V * D * UNITY_PI; + + #ifdef UNITY_COLORSPACE_GAMMA + specularTerm = sqrt(max(1e-4h, specularTerm)); + #endif + + specularTerm = max(0, specularTerm * nl); + #if defined(_POI_SPECULARHIGHLIGHTS_OFF) + specularTerm = 0.0; + #endif + + half surfaceReduction; + #ifdef UNITY_COLORSPACE_GAMMA + surfaceReduction = 1.0 - 0.28 * roughness * perceptualRoughness; + #else + surfaceReduction = 1.0 / (roughness * roughness + 1.0); + #endif + + specularTerm *= any(specColor) ? 1.0: 0.0; + + half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); + half3 color = diffColor * (gi.diffuse + light.color * diffuseTerm) + + specularTerm * light.color * FresnelTerm(specColor, lh) + + surfaceReduction * gi.specular * FresnelLerp(specColor, grazingTerm, nv); + + return half4(color, 1); + } + + half3 calculateRealisticSpecular(float4 albedo, float2 uv, float4 specularTint, float specularSmoothness, float invertSmoothness, float mixAlbedoWithTint, float4 specularMap, float3 specularLight, float3 normal, float attenuation, float3 lightDirection, float nDotL, float3 halfDir) + { + half oneMinusReflectivity; + half3 finalSpecular; + UnityLight unityLight; + unityLight.color = specularLight; + unityLight.dir = lightDirection; + unityLight.ndotl = nDotL; + + + if (float(1) == 0) + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularMap.rgb * specularTint.rgb, /*out*/ oneMinusReflectivity); + finalSpecular = poiRealisticSpecular(diffColor, specularMap.rgb, oneMinusReflectivity, specularMap.a * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + else + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularTint.rgb, /*out*/ oneMinusReflectivity); + float smoothness = max(max(specularMap.r, specularMap.g), specularMap.b); + finalSpecular = poiRealisticSpecular(diffColor, 1, oneMinusReflectivity, smoothness * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + finalSpecular *= lerp(1, albedo.rgb, mixAlbedoWithTint); + return finalSpecular; + } + + half3 calculateToonSpecular(float4 albedo, float2 uv, float2 specularToonInnerOuter, float specularMixAlbedoIntoTint, float smoothnessFrom, float4 specularMap, float3 specularLight, float3 normal, float3 halfDir, float attenuation) + { + half3 finalSpecular = smoothstep(1 - specularToonInnerOuter.y, 1 - specularToonInnerOuter.x, dot(halfDir, normal)) * specularLight; + + if (smoothnessFrom == 0) + { + finalSpecular.rgb *= specularMap.rgb * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + finalSpecular *= specularMap.a; + } + else + { + finalSpecular *= specularMap.r * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + return finalSpecular; + } + + float3 strandSpecular(float TdotL, float TdotV, float specPower, float nDotL) + { + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + float Specular = saturate(nDotL) * pow(saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV), specPower); + half normalization = sqrt((specPower + 1) * ((specPower) + 1)) / (8 * pi); + Specular *= normalization; + return Specular; + } + + half3 AnisotropicSpecular( + float specWhatTangent, float anisoUseTangentMap, float specularSmoothness, float spec2Smoothness, + float anisoSpec1Alpha, float anisoSpec2Alpha, float4 specularTint, float specularMixAlbedoIntoTint, float4 specularMap, float3 specularLight, float3 lightDirection, float3 halfDir, float nDotL, float jitter, float4 packedTangentMap, in float4 albedo) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + tangentDirectionMap += float(0) +jitter; + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + half specPower = RoughnessToSpecPower(1.0 - specularSmoothness * specularMap.a); + half spec2Power = RoughnessToSpecPower(1.0 - spec2Smoothness * specularMap.a); + half Specular = 0; + + float3 spec = strandSpecular(TdotL, TdotV, specPower, nDotL) * anisoSpec1Alpha; + float3 spec2 = strandSpecular(TdotL, TdotV, spec2Power, nDotL) * anisoSpec2Alpha; + + return max(spec, spec2) * specularMap.rgb * specularTint.a * specularLight * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + + inline float3 toonAnisoSpecular(float specWhatTangent, float anisoUseTangentMap, float3 lightDirection, float halfDir, float4 specularMap, float nDotL, fixed gradientStart, fixed gradientEnd, float4 specColor, float4 finalColor, fixed metallic, float jitter, float mirrored, float4 packedTangentMap) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + if (!mirrored) + { + tangentDirectionMap += jitter; + } + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + + float specular = saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV); + + fixed smoothAlpha = specular; + if(mirrored) + { + smoothAlpha = max(specular - jitter, 0); + } + + specular = smoothstep(gradientStart, gradientEnd, smoothAlpha); + + /* + + if(_CenterOutSpecColor) + { + specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, clamp(float2(specular, specular), 0.01, .99), float4(0,0,0,0)); + } + */ + + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + + return saturate(nDotL) * specular * poiLight.color * specColor * specularMap.rgb * lerp(1, finalColor, metallic) * specularMap.a; + } + + inline float SpecularHQ(half roughness, half dotNH, half dotLH) + { + roughness = saturate(roughness); + roughness = max((roughness * roughness), 0.002); + half roughnessX2 = roughness * roughness; + + half denom = dotNH * dotNH * (roughnessX2 - 1.0) + 1.0f; + half D = roughnessX2 / (3.14159 * denom * denom); + + half k = roughness / 2.0f; + half k2 = k * k; + half invK2 = 1.0f - k2; + + half vis = rcp(dotLH * dotLH * invK2 + k2); + + float specTerm = vis * D; + + return specTerm; + } + + float3 calculateNewSpecular(in float3 specularMap, uint colorFrom, in float4 albedo, in float3 specularTint, in float specularMetallic, in float specularSmoothness, in half dotNH, in half dotLH, in float3 lightColor, in float attenuation) + { + float3 specColor = specularTint; + float metallic = specularMetallic; + float roughness = 1 - specularSmoothness; + float perceptualRoughness = roughness; + //float reflectInverse = DielectricSpec.a - metallic * DielectricSpec.a; + //float reflectivity = 1.0h - reflectInverse; + float3 specMapColor = lerp(specularMap, 1, colorFrom); + float3 specularColor = lerp(DielectricSpec.rgb * specMapColor, lerp(specularMap, albedo.rgb, colorFrom), metallic); + //albedo.rgb *= reflectInverse; + return clamp(specularColor * lightColor * attenuation * specularTint * SpecularHQ(perceptualRoughness, dotNH, dotLH), 0, lightColor * specularTint); + } + + float3 calculateSpecular(in float4 albedo) + { + half3 finalSpecular = 0; + half3 finalSpecular1 = 0; + float4 realisticAlbedo = albedo; + float4 realisticAlbedo1 = albedo; + float4 specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half metallic = POI2D_SAMPLER_PAN(_SpecularMetallicMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + half specularMask = POI2D_SAMPLER_PAN(_SpecularMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float attenuation = saturate(poiLight.nDotL); + #ifdef POI_LIGHTING + + if (float(0) && float(0) == 0 && float(0) == 1) + { + attenuation = poiLight.rampedLightMap; + } + #endif + + + if(float(1) == 1) // Realistic + { + if (float(1) == 1) + { + specularMap.a = specularMap.r; + specularMap.rgb = 1; + } + + if(float(0)) + { + specularMap.a = 1 - specularMap.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, attenuation); + #else + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic, jitter, float(0), packedTangentMap); + finalSpecular *= attenuation; + } + + #ifdef FORWARD_BASE_PASS + + if(float(1) == 2) // Toon + { + finalSpecular += calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic, float(1), specularMap, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += AnisotropicSpecular(float(0), float(0), float(1), float(0), float(1), float(1), float4(1,1,1,1), metallic, specularMap, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular *= float4(1,1,1,1); + finalSpecular *= attenuation; + } + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + + finalSpecular *= float4(1,1,1,1).a; + finalSpecular = finalSpecular.rgb; + finalSpecular *= specularMask; + + + if (float(0)) + { + float4 specularMap1 = POI2D_SAMPLER_PAN(_SpecularMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half specularMask1 = POI2D_SAMPLER_PAN(_SpecularMask1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + half metallic1 = POI2D_SAMPLER_PAN(_SpecularMetallicMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + float attenuation = poiLight.attenuation; + + if(float(1) == 1) // Realistic + { + + if (float(1) == 1) + { + specularMap1.a = specularMap1.r; + specularMap1.rgb = 1; + } + else + { + realisticAlbedo1.rgb = specularMap1.rgb; + } + + + if(float(0)) + { + specularMap1.a = 1 - specularMap1.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, saturate(poiLight.nDotL)); + #else + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap1, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic1, jitter, float(0), packedTangentMap); + finalSpecular1 *= poiLight.attenuation; + } + + + if(float(1) == 2) // Toon + { + finalSpecular1 = calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic1, float(1), specularMap1, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular1 *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 = AnisotropicSpecular(float(0), float(0), float(0.75), float(0), float(1), float(1), float4(1,1,1,1), metallic1, specularMap1, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular1 *= float4(1,1,1,1); + finalSpecular1 *= poiLight.attenuation; + } + + #ifdef FORWARD_BASE_PASS + // Non Important Lights + #ifdef VERTEXLIGHT_ON + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular1 += calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + #endif + + finalSpecular1 *= float4(1,1,1,1).a; + finalSpecular1 = finalSpecular1.rgb; + finalSpecular1 *= specularMask1; + } + return finalSpecular + finalSpecular1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta new file mode 100644 index 00000000..f6f3cff0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c5b29c10dd79b754ba981dd8fcded368 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc new file mode 100644 index 00000000..b7c21c01 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc @@ -0,0 +1,28 @@ +#ifndef SUBSURFACE + #define SUBSURFACE + + float _SSSThicknessMod; + float _SSSSCale; + float _SSSPower; + float _SSSDistortion; + float4 _SSSColor; + float _EnableSSS; + + POI_TEXTURE_NOSAMPLER(_SSSThicknessMap); + + float3 calculateSubsurfaceScattering() + { + float SSS = 1 - POI2D_SAMPLER_PAN(_SSSThicknessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + half3 vLTLight = poiLight.direction + poiMesh.normals[0] * float(1); + half flTDot = pow(saturate(dot(poiCam.viewDir, -vLTLight)), float(5)) * float(0.25); + #ifdef FORWARD_BASE_PASS + half3 fLT = (flTDot) * saturate(SSS + - 1 * float(0)); + #else + half3 fLT = poiLight.attenuation * (flTDot) * saturate(SSS + - 1 * float(0)); + #endif + + return fLT * poiLight.color * float4(1,0,0,1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta new file mode 100644 index 00000000..c4f53d50 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ba640c0f94a01954ebe57de7fc834c50 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc new file mode 100644 index 00000000..4912473d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc @@ -0,0 +1,117 @@ +#ifndef POI_TESSELLATION + #define POI_TESSELLATION + + float _TessellationPhongStrength; + float _TessellationEdgeLength; + float _TessellationExtrusionAmount; + float _TessellationUniform; + + struct TessellationControlPoint + { + float4 vertex: INTERNALTESSPOS; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + }; + + struct TessellationFactors + { + float edge[3]: SV_TessFactor; + float inside: SV_InsideTessFactor; + }; + + TessellationControlPoint poiTessellationVert(appdata v) + { + TessellationControlPoint p; + p.vertex = v.vertex; + p.normal = v.normal; + p.tangent = v.tangent; + p.color = v.color; + p.uv0 = v.uv0; + p.uv1 = v.uv1; + p.uv2 = v.uv2; + p.uv3 = v.uv3; + return p; + } + + float TessellationEdgeFactor(float3 p0, float3 p1) + { + #ifndef _FADING_ON + float edgeLength = distance(p0, p1); + + float3 edgeCenter = (p0 + p1) * 0.5; + float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos); + + return edgeLength * _ScreenParams.y / + (_TessellationEdgeLength * viewDistance); + #else + return _TessellationUniform; + #endif + } + + TessellationFactors poiPatchConst( + InputPatch < TessellationControlPoint, 3 > patch + ) + { + + TessellationFactors f; + float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz; + float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz; + float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz; + f.edge[0] = TessellationEdgeFactor(p1, p2); + f.edge[1] = TessellationEdgeFactor(p2, p0); + f.edge[2] = TessellationEdgeFactor(p0, p1); + f.inside = (TessellationEdgeFactor(p1, p2) + + TessellationEdgeFactor(p2, p0) + + TessellationEdgeFactor(p0, p1)) * (1 / 3.0); + return f; + } + + [UNITY_domain("tri")] + [UNITY_outputcontrolpoints(3)] + [UNITY_outputtopology("triangle_cw")] + [UNITY_partitioning("fractional_odd")] + [UNITY_patchconstantfunc("poiPatchConst")] + TessellationControlPoint poiHull( + InputPatch < TessellationControlPoint, 3 > patch, + uint id: SV_OutputControlPointID + ) + { + return patch[id]; + } + + [UNITY_domain("tri")] + v2f poiDomain( + TessellationFactors factors, + OutputPatch < TessellationControlPoint, 3 > patch, + float3 barycentricCoordinates: SV_DomainLocation + ) + { + appdata data; + + #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z; + + MY_DOMAIN_PROGRAM_INTERPOLATE(vertex) + float3 pp[3]; + for (int i = 0; i < 3; ++ i) + { + pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + } + data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz; + MY_DOMAIN_PROGRAM_INTERPOLATE(normal) + data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount; + MY_DOMAIN_PROGRAM_INTERPOLATE(tangent) + MY_DOMAIN_PROGRAM_INTERPOLATE(color) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv0) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv1) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv2) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv3) + + return vert(data); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta new file mode 100644 index 00000000..0edf0e44 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6956f447282919c44a32a21578a635b7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc new file mode 100644 index 00000000..38d5fd75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc @@ -0,0 +1,34 @@ +#ifndef POI_UV_DISTORTION + #define POI_UV_DISTORTION + + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture); float4 _DistortionFlowTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture1); float4 _DistortionFlowTexture1_ST; + POI_TEXTURE_NOSAMPLER(_DistortionMask); + + float _DistortionStrength; + float _DistortionStrength1; + float2 _DistortionSpeed; + float2 _DistortionSpeed1; + + float2 getTorusUv(float2 uv) + { + // translated to hlsl from https://www.shadertoy.com/view/Md3Bz7 + // http://web.cs.ucdavis.edu/~amenta/s12/findnorm.pdf + float phi = 6.28318530718f * uv.x; + float theta = 6.28318530718f * uv.y; + float3 c = cos(float3(phi, phi + 1.57079632679f, theta)); + float2 result = float2(c.x * c.z, -c.y * c.z); + return result * 0.5 + 0.5; + } + + float2 calculateDistortionUV(float2 uv) + { + half distortionMask = POI2D_SAMPLER_PAN(_DistortionMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flowVector = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + float4 flowVector1 = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture1, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture1) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + flowVector *= float(0.5); + flowVector1 *= float(0.5); + return uv + ((flowVector.xy + flowVector1.xy) / 2) * distortionMask; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta new file mode 100644 index 00000000..627862bf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0ab6fdb2f2245b246b5eae46d0a507f6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc new file mode 100644 index 00000000..0e29a179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc @@ -0,0 +1,34 @@ +#ifndef POI_V2F + #define POI_V2F + + struct v2f + { + float4 pos: SV_POSITION; + float4 uv0: TEXCOORD0; + float4 uv1: TEXCOORD1; + float3 normal: TEXCOORD2; + float3 tangentViewDir: TEXCOORD3; + float4 tangent: TEXCOORD4; + float4 worldPos: TEXCOORD5; + float4 localPos: TEXCOORD6; + float4 grabPos: TEXCOORD7; + float3 barycentricCoordinates: TEXCOORD8; + #if defined(GRAIN) + float4 worldDirection: TEXCOORD9; + #endif + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV: TEXCOORD10; + #endif + float3 modelPos: TEXCOORD11; + float angleAlpha: TEXCOORD12; + float4 vertexColor: TEXCOORD14; + #ifdef FUR + float furAlpha: TEXCOORD15; + #endif + UNITY_SHADOW_COORDS(16) + UNITY_FOG_COORDS(17) + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta new file mode 100644 index 00000000..d85c5011 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f5a691b4d58b5bc45af7c57abfe7dd45 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc new file mode 100644 index 00000000..1558e937 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc @@ -0,0 +1,126 @@ +#ifndef POI_VERT + #define POI_VERT + + float _VertexManipulationHeightUV; + float _VertexUnwrap; + + #define PM UNITY_MATRIX_P + + inline float4 CalculateFrustumCorrection() + { + float x1 = -PM._31 / (PM._11 * PM._34); + float x2 = -PM._32 / (PM._22 * PM._34); + return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23); + } + + v2f vert(appdata v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + #ifdef _COLOROVERLAY_ON + v.vertex.xyz = lerp(v.vertex.xyz, float3(v.uv0.x - .5, v.uv0.y - .5, 0), float(0)); + #endif + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.tangent, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + #ifdef _REQUIRE_UV2 //POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.normal = UnityObjectToWorldNormal(v.normal); + //o.localPos.x *= -1; + //o.localPos.xz += sin(o.localPos.y * 100 + _Time.y * 5) * .0025; + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, o.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + o.vertexColor = v.color; + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + + #ifdef POI_BULGE + bulgyWolgy(o); + #endif + + + o.angleAlpha = 1; + #ifdef _SUNDISK_NONE //POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + #if defined(LIGHTMAP_ON) + o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0.xy); + UNITY_TRANSFER_FOG(o, o.pos); + + #if defined(_PARALLAXMAP) // POI_PARALLAX + v.tangent.xyz = normalize(v.tangent.xyz); + v.normal = normalize(v.normal); + float3x3 objectToTangent = float3x3( + v.tangent.xyz, + cross(v.normal, v.tangent.xyz) * v.tangent.w, + v.normal + ); + o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex)); + #endif + + #ifdef POI_META_PASS + o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); + #endif + + #if defined(GRAIN) + float4 worldDirection; + + worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos; + worldDirection.w = dot(o.pos, CalculateFrustumCorrection()); + o.worldDirection = worldDirection; + #endif + + return o; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta new file mode 100644 index 00000000..bab6c990 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 60790c56131d3dd49a8ecb29ad5fefeb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc new file mode 100644 index 00000000..94c16148 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc @@ -0,0 +1,93 @@ +#ifndef POI_VERTEX_MANIPULATION + #define POI_VERTEX_MANIPULATION + + #include "CGI_PoiMath.cginc" + + float4 _VertexManipulationLocalTranslation; + float4 _VertexManipulationLocalRotation; + float4 _VertexManipulationLocalScale; + float4 _VertexManipulationWorldTranslation; + + float _VertexManipulationHeight; + float _VertexManipulationHeightBias; + sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST; + float2 _VertexManipulationHeightPan; + + + //Vertex Glitching + float _EnableVertexGlitch; + sampler2D _VertexGlitchMap; float4 _VertexGlitchMap_ST; + float _VertexGlitchThreshold; + float _VertexGlitchFrequency; + float _VertexGlitchStrength; + // Rounding + float _VertexRoundingDivision; + float _VertexRoundingEnabled; + + void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyVertexRounding(inout float4 worldPos, inout float4 localPos) + { + + if (float(0)) + { + worldPos.xyz = (ceil(worldPos * float(500)) / float(500)) - 1 / float(500) * .5; + localPos = mul(unity_WorldToObject, worldPos); + } + } + + void applyVertexGlitching(inout float4 worldPos, inout float4 localPos) + { + + if(_EnableVertexGlitch) + { + float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + forward.y = 0; + forward = normalize(forward); + float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward)); + float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1; + /* + float uvl = worldPos.y * _VertexGlitchDensity + _Time.x * _VertexGlitchMapPanSpeed; + float uvr = worldPos.y * _VertexGlitchDensity - _Time.x * _VertexGlitchMapPanSpeed; + float glitchAmountLeft = tex2Dlod(_VertexGlitchMap, float4(uvl, uvl, 0, 0)).r; + float glitchAmountRight = -tex2Dlod(_VertexGlitchMap, float4(uvr, uvr, 0, 0)).r; + float glitchAmount = glitchAmountLeft + glitchAmountRight; + */ + float time = _Time.y * _VertexGlitchFrequency; + float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4; + worldPos.xyz += glitchAmount * glitchDirection * (_VertexGlitchStrength * .01) * step(_VertexGlitchThreshold, randomGlitch); + localPos = mul(unity_WorldToObject, worldPos); + } + } + +#endif +// diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta new file mode 100644 index 00000000..4b7d6049 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: da62c58f34c958242b1c3eafe1c9f993 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc new file mode 100644 index 00000000..ec2d37e4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc @@ -0,0 +1,266 @@ +#ifndef POI_VIDEO + #define POI_VIDEO + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoPixelTexture); float4 _VideoPixelTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoMaskTexture); float4 _VideoMaskTexture_ST; + + float _VideoUVNumber; + float _VideoType; + float3 pixels; + float2 _VideoResolution; + sampler2D _VideoGameboyRamp; + half _VideoBacklight; + half _VideoCRTRefreshRate; + half _VideoCRTPixelEnergizedTime; + half _VideoEnableVideoPlayer; + half _VideoRepeatVideoTexture; + half _VideoPixelateToResolution; + float2 _VideoMaskPanning; + // Video Settings + half _VideoSaturation; + half _VideoContrast; + float2 _VideoTiling; + float2 _VideoOffset; + float2 _VideoPanning; + //Debug + half _VideoEnableDebug; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoDebugTexture); float4 _VideoDebugTexture_ST; + + + sampler2D _VRChat_VideoPlayer; + float4 _VRChat_VideoPlayer_TexelSize; + + float4 globalVideoPlayerColor; + float3 globalColorToDisplayOnScreen; + float globalVideoOn; + + float3 applyBacklight(float3 albedo, half backlightStrength) + { + return max(backlightStrength, albedo.rgb); + } + + float3 applyViewAngleTN(float3 albedo) + { + float3 reflectionVector = normalize(reflect(poiCam.viewDir.rgb, poiMesh.normals[1].rgb)); + float upwardShift = dot(reflectionVector, poiMesh.binormal); + upwardShift = pow(upwardShift, 1); + float sideShift = dot(reflectionVector, poiMesh.tangent); + sideShift *= pow(sideShift, 3); + #if !UNITY_COLORSPACE_GAMMA + albedo = LinearToGammaSpace(albedo); + #endif + albedo = saturate(lerp(half3(0.5, 0.5, 0.5), albedo, upwardShift + 1)); + #if !UNITY_COLORSPACE_GAMMA + albedo = GammaToLinearSpace(albedo); + #endif + albedo = (lerp(albedo, albedo.gbr, sideShift)); + return albedo; + } + + float calculateCRTPixelBrightness() + { + float totalPixels = _VideoResolution.x * _VideoResolution.y; + float2 uvPixel = float2((floor((1 - poiMesh.uv[_VideoUVNumber].y) * _VideoResolution.y)) / _VideoResolution.y, (floor(poiMesh.uv[_VideoUVNumber].x * _VideoResolution.x)) / _VideoResolution.x); + float currentPixelNumber = _VideoResolution.x * (_VideoResolution.y * uvPixel.x) + _VideoResolution.y * uvPixel.y; + float currentPixelAlpha = currentPixelNumber / totalPixels; + half electronBeamAlpha = frac(_Time.y * _VideoCRTRefreshRate); + float electronBeamPixelNumber = totalPixels * electronBeamAlpha; + + float DistanceInPixelsFromCurrentElectronBeamPixel = 0; + if (electronBeamPixelNumber >= currentPixelNumber) + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber - currentPixelNumber; + } + else + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber + (totalPixels - currentPixelNumber); + } + float CRTFrameTime = 1 / _VideoCRTRefreshRate; + float timeSincecurrentPixelWasHitByElectronBeam = (DistanceInPixelsFromCurrentElectronBeamPixel / totalPixels); + + return saturate(_VideoCRTPixelEnergizedTime - timeSincecurrentPixelWasHitByElectronBeam); + } + + void applyContrastSettings(inout float3 pixel) + { + #if !UNITY_COLORSPACE_GAMMA + pixel = LinearToGammaSpace(pixel); + #endif + pixel = saturate(lerp(half3(0.5, 0.5, 0.5), pixel, _VideoContrast + 1)); + #if !UNITY_COLORSPACE_GAMMA + pixel = GammaToLinearSpace(pixel); + #endif + } + + void applySaturationSettings(inout float3 pixel) + { + pixel = lerp(pixel.rgb, dot(pixel.rgb, float3(0.3, 0.59, 0.11)), -_VideoSaturation); + } + + void applyVideoSettings(inout float3 pixel) + { + applySaturationSettings(pixel); + applyContrastSettings(pixel); + } + + void calculateLCD(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateTN(inout float4 albedo) + { + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + globalColorToDisplayOnScreen = applyViewAngleTN(globalColorToDisplayOnScreen); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateCRT(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + float brightness = calculateCRTPixelBrightness(); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * brightness * _VideoBacklight; + } + void calculateOLED(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateGameboy(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + half brightness = saturate((globalColorToDisplayOnScreen.r + globalColorToDisplayOnScreen.g + globalColorToDisplayOnScreen.b) * .3333333); + albedo.rgb = tex2D(_VideoGameboyRamp, brightness); + } + void calculateProjector(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + + float3 projectorColor = albedo * globalColorToDisplayOnScreen * _VideoBacklight; + albedo.r = clamp(projectorColor.r, albedo.r, 1000); + albedo.g = clamp(projectorColor.g, albedo.g, 1000); + albedo.b = clamp(projectorColor.b, albedo.b, 1000); + } + + void applyScreenEffect(inout float4 albedo, inout float3 videoEmission) + { + float4 albedoBeforeScreen = albedo; + + pixels = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoPixelTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoPixelTexture) * _VideoResolution); + globalVideoOn = 0; + + if(_VideoEnableVideoPlayer == 1) + { + float4 videoTexture = 0; + + if(_VideoPixelateToResolution) + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, round(TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoResolution + .5) / _VideoResolution); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, round(poiMesh.uv[_VideoUVNumber] * _VideoResolution + .5) / _VideoResolution); + } + } + else + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoTiling + _VideoOffset); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, ((poiMesh.uv[_VideoUVNumber] + _Time.x * _VideoPanning) * _VideoTiling) + _VideoOffset); + } + } + if(videoTexture.a == 1) + { + globalColorToDisplayOnScreen = videoTexture.rgb; + globalVideoOn = 1; + } + } + + + if(_VideoRepeatVideoTexture == 1) + { + if(poiMesh.uv[_VideoUVNumber].x > 1 || poiMesh.uv[_VideoUVNumber].x < 0 || poiMesh.uv[_VideoUVNumber].y > 1 || poiMesh.uv[_VideoUVNumber].y < 0) + { + return; + } + } + + switch(_VideoType) + { + case 0: // LCD + { + calculateLCD(albedo); + break; + } + case 1: // TN + { + calculateTN(albedo); + break; + } + case 2: // CRT + { + calculateCRT(albedo); + break; + } + case 3: // OLED + { + calculateOLED(albedo); + break; + } + case 4: // Gameboy + { + calculateGameboy(albedo); + break; + } + case 5: // Projector + { + calculateProjector(albedo); + break; + } + } + + float screenMask = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoMaskTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoMaskTexture) + _Time.x * _VideoMaskPanning); + albedo = lerp(albedoBeforeScreen, albedo, screenMask); + videoEmission = max(albedo.rgb * screenMask - 1, 0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta new file mode 100644 index 00000000..b011f716 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bc454bef5964c124c8ea43d9d7314f06 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc new file mode 100644 index 00000000..db3d3130 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc @@ -0,0 +1,304 @@ +#ifndef POI_VORONOI + #define POI_VORONOI + + #include "CGI_PoiRNG.cginc" + + float _VoronoiSpace; + float _VoronoiBlend; + float _VoronoiType; + float4 _VoronoiColor0; + float _VoronoiEmission0; + float4 _VoronoiColor1; + float _VoronoiEmission1; + float2 _VoronoiGradient; + float _VoronoiScale; + float3 _VoronoiSpeed; + float _VoronoiEnableRandomCellColor; + float2 _VoronoiRandomMinMaxSaturation; + float2 _VoronoiRandomMinMaxBrightness; + float3 randomPoint; + float _VoronoiEffectsMaterialAlpha; + + POI_TEXTURE_NOSAMPLER(_VoronoiMask); + POI_TEXTURE_NOSAMPLER(_VoronoiNoise); + float _VoronoiNoiseIntensity; + + float2 inoise(float3 P, float jitter) + { + float3 Pi = mod(floor(P), 289.0); + float3 Pf = frac(P); + float3 oi = float3(-1.0, 0.0, 1.0); + float3 of = float3(-0.5, 0.5, 1.5); + float3 px = Permutation(Pi.x + oi); + float3 py = Permutation(Pi.y + oi); + + float3 p, ox, oy, oz, dx, dy, dz; + float2 F = 1e6; + + for (int i = 0; i < 3; i ++) + { + for (int j = 0; j < 3; j ++) + { + p = Permutation(px[i] + py[j] + Pi.z + oi); // pij1, pij2, pij3 + + ox = frac(p * K) - Ko; + oy = mod(floor(p * K), 7.0) * K - Ko; + + p = Permutation(p); + + oz = frac(p * K) - Ko; + + dx = Pf.x - of[i] + jitter * ox; + dy = Pf.y - of[j] + jitter * oy; + dz = Pf.z - of + jitter * oz; + + float3 d = dx * dx + dy * dy + dz * dz; // dij1, dij2 and dij3, squared + + //Find lowest and second lowest distances + for (int n = 0; n < 3; n ++) + { + if (d[n] < F[0]) + { + F[1] = F[0]; + F[0] = d[n]; + randomPoint = p; + } + else if(d[n] < F[1]) + { + F[1] = d[n]; + } + } + } + } + + return F; + } + + float voronoi2D(in float2 x, float scale, float2 speed) + { + x *= scale; + x += speed * _Time.x; + float2 n = floor(x); + float2 f = frac(x); + + // first pass: regular voronoi + float2 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 g = float2(float(i), float(j)); + float2 o = random2(n + g); + float2 currentPoint = o; + + float2 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint.xy = currentPoint; + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + float2 g = mg + float2(float(q), float(r)); + float2 o = random2(n + g); + + float2 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + return md; + } + + float voronoi3D(in float3 x, float scale, float3 speed) + { + x *= scale; + x += speed * _Time.x; + float3 n = floor(x); + float3 f = frac(x); + + // first pass: regular voronoi + float3 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + for (int h = -1; h <= 1; h ++) + { + float3 g = float3(float(h), float(i), float(j)); + float3 o = random3(n + g); + float3 currentPoint = o; + + float3 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint = currentPoint; + } + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + for (int p = -2; p <= 2; p ++) + { + float3 g = mg + float3(float(p), float(q), float(r)); + float3 o = random3(n + g); + + float3 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + } + return md; + } + + + + // fracal sum, range -1.0 - 1.0 + float VoronoiNoise_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + float VoronoiNoiseDiff_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[1]) - sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + void applyVoronoi(inout float4 finalColor, inout float3 VoronoiEmission) + { + float voronoiOctaveNumber = 1; + float voronoiOctaveScale = 1; + float voronoiOctaveAttenuation = 1; + randomPoint = 0; + float4 voronoiColor1 = _VoronoiColor1; + + float voronoi = 0; + + float3 position = 0; + + + if (_VoronoiSpace == 0) + { + position = poiMesh.localPos; + } + + if(_VoronoiSpace == 1) + { + position = poiMesh.worldPos; + } + + if(_VoronoiSpace == 2) + { + position = float3(poiMesh.uv[0].x, poiMesh.uv[0].y, 0); + } + + float mask = POI2D_SAMPLER_PAN(_VoronoiMask, _MainTex, poiMesh.uv[_VoronoiMaskUV], _VoronoiMaskPan).r; + float edgeNoise = POI2D_SAMPLER_PAN(_VoronoiNoise, _MainTex, poiMesh.uv[_VoronoiNoiseUV], _VoronoiNoisePan).r * _VoronoiNoiseIntensity; + + + if(_VoronoiType == 0) // Basic + { + voronoi = voronoi2D(position.xy, _VoronoiScale, _VoronoiSpeed); + } + + if (_VoronoiType == 1) // Diff + { + voronoi = VoronoiNoiseDiff_Octaves(position, _VoronoiScale, _VoronoiSpeed, voronoiOctaveNumber, voronoiOctaveScale, voronoiOctaveAttenuation, 1, _Time.x); + } + + if (_VoronoiType == 2) // Fixed Border + { + voronoi = voronoi3D(position, _VoronoiScale, _VoronoiSpeed); + // isolines + //color = c.x * (0.5 + 0.5 * sin(64.0 * c.x)) * 1.0; + } + + if (_VoronoiEnableRandomCellColor == 1) + { + float3 rando = random3(randomPoint); + fixed hue = rando.x; + fixed saturation = lerp(_VoronoiRandomMinMaxSaturation.x, _VoronoiRandomMinMaxSaturation.y, rando.y); + fixed value = lerp(_VoronoiRandomMinMaxBrightness.x, _VoronoiRandomMinMaxBrightness.y, rando.z); + float3 hsv = float3(hue, saturation, value); + + voronoiColor1.rgb = HSVtoRGB(hsv); + } + + float2 voronoiGradient = _VoronoiGradient; + voronoiGradient.xy += edgeNoise; + float ramp = smoothstep(voronoiGradient.x, voronoiGradient.y, voronoi); + + + if(_VoronoiBlend == 0) + { + float4 voronoiColor = lerp(_VoronoiColor0, voronoiColor1, ramp); + + if(_VoronoiEffectsMaterialAlpha) + { + finalColor.rgba = lerp(finalColor, voronoiColor, mask); + } + else + { + finalColor.rgb = lerp(finalColor.rgb, voronoiColor.rgb, mask * voronoiColor.a); + } + } + float4 voronoiEmissionColor = lerp(_VoronoiColor0 * _VoronoiEmission0, voronoiColor1 * _VoronoiEmission1, ramp); + VoronoiEmission = voronoiEmissionColor.rgb * mask * voronoiEmissionColor.a; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta new file mode 100644 index 00000000..ca38f79c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: decd07914f6c95b4abe338abb4f9a742 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc new file mode 100644 index 00000000..49c602c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc @@ -0,0 +1,111 @@ +#ifndef POI_WIREFRAME + #define POI_WIREFRAME + + UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST; + float2 _WireframeTexturePan; + float _WireframeSmoothing; + float _WireframeThickness; + float4 _WireframeColor; + float _WireframeAlpha; + float _WireframeEnable; + float _WireframeWaveEnabled; + float _WireframeWaveDensity; + float _WireframeWaveSpeed; + float _WireframeEdgeOpacity; + float _WireframeFaceOpacity; + half _WireframeEmissionAlpha; + float _WireframeEmissionStrength; + float _WireframeQuad; + float _WireframeUV; + + #ifndef POI_SHADOW + void applyWireframe(inout float3 wireframeEmission, inout float4 albedo) + { + + if (_WireframeEnable) + { + float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan); + float size = _WireframeThickness; + half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates)); + half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates); + half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1; + + float4 wireframeColor = _WireframeColor * colorMap; + + albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary); + wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a; + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream) + { + + if(_WireframeQuad) + { + float e1 = length(IN[0].localPos - IN[1].localPos); + float e2 = length(IN[1].localPos - IN[2].localPos); + float e3 = length(IN[2].localPos - IN[0].localPos); + + float3 quad = 0; + if(e1 > e2 && e1 > e3) + quad.y = 1.; + else if(e2 > e3 && e2 > e1) + quad.x = 1; + else + quad.z = 1; + + IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad; + IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad; + IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad; + } + else + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + } + + + + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #else + + float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos) + { + + if(_WireframeEnable) + { + float wireframeFadeAlpha = _WireframeAlpha; + float3 finalWireframeColor = 0; + + float3 barys; + barys.xy = barycentricCoordinates; + barys.z = 1 - barys.x - barys.y; + float3 deltas = fwidth(barys); + float3 smoothing = deltas * _WireframeSmoothing; + float wireframeThickness = _WireframeThickness; + float3 thickness = deltas * wireframeThickness; + barys = smoothstep(thickness, thickness + smoothing, barys); + float minBary = min(barys.x, min(barys.y, barys.z)); + + return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream) + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta new file mode 100644 index 00000000..b87b4745 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 83e41be92e75b944797238655b63bb9d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc new file mode 100644 index 00000000..319de57c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc @@ -0,0 +1,171 @@ +#ifndef POICLUDES + #define POICLUDES + + UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _PoiGrab; + sampler2D _CameraDepthTexture; + float _Cutoff; + float _AlphaMod; + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #ifdef OUTLINE + float _LineWidth; + float _OutlineEmission; + float4 _LineColor; + sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV; + float4 _OutlineFadeDistance; + float4 _OutlineGlobalPan; + #endif + + struct PoiLighting + { + half3 direction; + half3 color; + fixed attenuation; + #ifdef FORWARD_ADD_PASS + fixed additiveShadow; + #endif + half3 directLighting; + half3 indirectLighting; + half lightMap; + half3 rampedLightMap; + half3 finalLighting; + half3 halfDir; + half nDotL; + half nDotH; + half lDotv; + half lDotH; + half nDotV; + half N0DotV; + half diffuseTerm; + + // World normal dot half direction + #ifdef POI_VAR_DOTNH + half dotNH; + #endif + + // Light direction dot half direction + #ifdef POI_VAR_DOTLH + half dotLH; + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + float4 vDotNL; + float3 vColor[4]; + float4 vCorrectedDotNL; + float4 vAttenuation; + float4 vAttenuationDotNL; + float3 vPosition[4]; + float3 vDirection[4]; + float3 vFinalLighting; + float3 vHalfDir[4]; + + #ifdef POI_VAR_DOTLH + half4 vDotLH; + #endif + + #ifdef POI_VAR_DOTNH + half4 vDotNH; + #endif + + #endif + }; + + struct PoiCamera + { + half3 viewDir; + half3 tangentViewDir; + half3 forwardDir; + half3 worldPos; + float viewDotNormal; + float distanceToModel; + float distanceToVert; + float3 reflectionDir; + float3 vertexReflectionDir; + float2 screenUV; + float4 clipPos; + #if defined(GRAIN) + float4 worldDirection; + #endif + float4 grabPos; + }; + + struct PoiMesh + { + float3 normals[2]; + float3 tangent; + float3 binormal; + float3 localPos; + float3 worldPos; + float3 modelPos; + float3 tangentSpaceNormal; + float2 uv[5]; + float4 vertexColor; + fixed3 barycentricCoordinates; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV; + #endif + float isFrontFace; + #ifdef FUR + float furAlpha; + #endif + }; + + struct PoiTangentData + { + float3x3 tangentTransform; + float3x3 tangentToWorld; + }; + + struct FragmentCommonData + { + half3 diffColor, specColor; + // Note: smoothness & oneMinusReflectivity for optimization purposes, mostly for DX9 SM2.0 level. + // Most of the math is being done on these (1-x) values, and that saves a few precious ALU slots. + half oneMinusReflectivity, smoothness; + float3 normalWorld; + float3 eyeVec; + half alpha; + float3 posWorld; + + #if UNITY_STANDARD_SIMPLE + half3 reflUVW; + #endif + + #if UNITY_STANDARD_SIMPLE + half3 tangentSpaceNormal; + #endif + }; + + struct Debug + { + float debug1; + float2 debug2; + float3 debug3; + float4 debug4; + }; + + static Debug debug; + static PoiLighting poiLight; + static PoiCamera poiCam; + static PoiMesh poiMesh; + static UnityGI gi; + static FragmentCommonData s; + static PoiTangentData poiTData; + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta new file mode 100644 index 00000000..143b2df7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1dee265bf607b544fb765778bc36c154 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta new file mode 100644 index 00000000..24b549c7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8776b332bec46864ebec20a86b195961 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader new file mode 100644 index 00000000..ea014563 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader @@ -0,0 +1,7648 @@ +Shader "Hidden/.poiyomi/• Poiyomi Toon •/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 + [HideInInspector] shader_master_label ("Poiyomi Toon V7.0.100", Float) = 0 + [HideInInspector] shader_presets ("poiToonPresets", Float) = 0 + [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0 + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + // Keyword to remind users in the VRChat SDK that this material hasn't been locked. Inelegant but it works. + [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 + [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0 + [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0 + + [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7, Multiplicative Grab Pass, 8)]_Mode("Rendering Preset--{on_value_actions:[ + {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2451}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]}, + {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:RenderType=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]} + }]}]}", Int) = 0 + [HideInInspector] m_LockingInfo ("Locking Info--{button_right:{text:Tutorial,action:{type:URL,data:https://youtu.be/asWeDJb5LAo},hover:YouTube},is_hideable:true}", Float) = 0 + [Helpbox(1)] _HelpBoxLocking ("LOCKING IN THE SHADER WILL DRAMATICALLY INCREASE PERFORMANCE AND DRAMATICALLY LOWER THE FILE SIZE OF AN AVATAR PACKAGE. + + LOCKED IN MATERIALS CANNOT BE ANIMATED WITHOUT SETTING THE SPECIFIC PROPERTY TO DYNAMIC. RIGHT CLICK MATERIAL PROPERTIES YOU WISH TO ANIMATE, A CLOCK ICON WILL APPEAR BESIDE THE PROPERTY SIGNIFYING THAT IT CAN BE ANIMATED. + + FOR MORE INFORMATION ON LOCKING PLEASE WATCH THE LOCKING TUTORIAL IN THE HEADER ABOVE.", Int) = 0 + [Helpbox(2)] _HelpBoxHideLocking ("TO HIDE THIS CATEGORY SELECT CUSTOM UI AT THE TOP AND UNCHECK THE LOCKING INFO CATEGORY", Float) = 0 + // Main + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color & Alpha", Color) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("UV", Int) = 0 + _Saturation ("Saturation", Range(-1, 1)) = 0 + _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _BumpMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _AlphaMask ("Alpha Map", 2D) = "white" { } + [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AlphaMaskUV ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector] m_start_MainHueShift ("Hue Shift", Float) = 0 + [HideInInspector][Toggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0 + [ToggleUI]_MainHueShiftReplace ("Replace?", Float) = 1 + _MainHueShift ("Hue Shift", Range(0, 1)) = 0 + _MainHueShiftSpeed ("Shift Speed", Float) = 0 + _MainHueShiftMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainHueShiftMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainHueShiftMaskUV ("UV", Int) = 0 + [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0 + + // RGB Masking + [HideInInspector] m_start_RGBMask ("RGB Color Masking", Float) = 0 + [HideInInspector][Toggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0 + [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0 + [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0 + _RGBMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBMaskUV ("UV", int) = 0 + _RedColor ("R Color", Color) = (1, 1, 1, 1) + _RedTexure ("R Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBRed_UV ("UV", int) = 0 + _GreenColor ("G Color", Color) = (1, 1, 1, 1) + _GreenTexture ("G Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBGreen_UV ("UV", int) = 0 + _BlueColor ("B Color", Color) = (1, 1, 1, 1) + _BlueTexture ("B Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBBlue_UV ("UV", int) = 0 + // RGB MASKED NORMALS + [Toggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0 + [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0 + [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalRUV ("UV", int) = 0 + _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalGUV ("UV", int) = 0 + _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalBUV ("UV", int) = 0 + _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0 + + // Detail Options + [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0 + _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { } + [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailMaskUV ("UV", Int) = 0 + _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1) + _DetailTex ("Detail Texture", 2D) = "gray" { } + [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailTexUV ("UV", Int) = 0 + _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1 + _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1 + [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1 + [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailNormalMapUV ("UV", Int) = 0 + [HideInInspector] m_end_DetailOptions ("Details", Float) = 0 + + // Vertex Colors + [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0 + _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0 + _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0 + + //Vertex Manipulations + [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0 + [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1) + [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1) + _VertexManipulationHeight ("Vertex Height", Float) = 0 + _VertexManipulationHeightMask ("Height Map", 2D) = "while" { } + [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0 + _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0 + [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0 + _VertexRoundingDivision ("Division Amount", Float) = 500 + [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0 + + // Alpha Options + [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0 + _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0 + _DitherGradient ("Dither Gradient", Range(0, 1)) = .1 + [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0 + _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0 + [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0 + [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0 + _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25 + [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0 + _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 + [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 + + // Decal Texture + [HideInInspector] m_start_DecalSection ("Decal", Float) = 0 + [HideInInspector][Toggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0 + _DecalColor ("Color", Color) = (1, 1, 1, 1) + _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _DecalTexture ("Decal", 2D) = "white" { } + [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalTextureUV ("UV", Int) = 0 + _DecalMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalMaskUV ("UV", Int) = 0 + [ToggleUI]_DecalTiled ("Tiled?", Float) = 0 + [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0) + [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0) + _DecalRotation ("Rotation", Range(0, 360)) = 0 + _DecalRotationSpeed ("Rotation Speed", Float) = 0 + _DecalBlendAdd ("Add", Range(0, 1)) = 0 + _DecalBlendMultiply ("Multiply", Range(0, 1)) = 0 + _DecalBlendReplace ("Replace", Range(0, 1)) = 0 + [HideInInspector] m_end_DecalSection ("Decal", Float) = 0 + + // Back Face Textures and Emission + [HideInInspector] m_start_backFace ("Back Face", Float) = 0 + [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0 + _BackFaceColor ("Color", Color) = (1, 1, 1, 1) + _BackFaceTexture ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_BackFaceTextureUV ("UV#", Int) = 0 + _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1 + _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0 + _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [HideInInspector] m_end_backFace ("Back Face", Float) = 0 + + // Lighting + [HideInInspector] m_lightingOptions ("Lighting", Float) = 0 + [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0 + [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1 + [Enum(Toon, 0, Realistic, 1)] _LightingMode ("Lighting Type", Int) = 0 + _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0 + [ToggleUI]_LightingShadingEnabled ("Enable Shading--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0 + [Enum(Ramp Texture, 0, Math Gradient, 1)] _LightingRampType ("Ramp Type--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Int) = 0 + [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", 2D) = "white" { } + _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowMaskUV ("UV", Int) = 0 + _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0 + _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = 0 + _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = .5 + _LightingShadowColor ("Shadow Tint--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Color) = (1, 1, 1, 1) + _ShadowStrength ("Shadow Strength--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 1 + _AttenuationMultiplier ("Unity Shadows--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==1},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 0 + [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + + [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0 + [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0 + [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0 + [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0 + [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0 + _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0 + _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 + _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0 + [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0 + + [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled}", Float) = 0 + [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0 + _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingDetailShadowsUV ("UV", Int) = 0 + _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0 + + [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0 + _LightingAOTex ("AO Map", 2D) = "white" { } + [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingAOTexUV ("UV", Int) = 0 + _AOStrength ("AO Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0 + + [HideInInspector] m_start_shadowTexture ("Shadow Texture--{reference_property:_UseShadowTexture, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + [HideInInspector][ToggleUI]_UseShadowTexture ("EnableShadowTexture--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + _LightingShadowTexture ("Shadow Texture--{reference_properties:[_LightingShadowTexturePan, _LightingShadowTextureUV], condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_shadowTexture ("Shadow Texture", Float) = 0 + + // HSL Lighting + [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0 + _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1 + _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5 + _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5 + _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5 + [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0 + + // point/spot Light Settings + [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_commentIfZero_LightingAdditiveEnable,button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0 + [HideInInspector][ToggleUI]_commentIfZero_LightingAdditiveEnable ("Enable Additive", Float) = 1 + [Enum(Realistic, 0, Toon, 1)] _LightingAdditiveType ("Lighting Type", Int) = 1 + _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0 + _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5 + _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5 + _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1 + [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0 + _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1 + [Toggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1 + [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0 + [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0 + + // Subsurface Scattering + [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0 + [Toggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0 + _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1) + _SSSThicknessMap ("Thickness Map", 2D) = "black" { } + [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SSSThicknessMapUV ("UV", Int) = 0 + _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0 + _SSSSCale ("Light Strength", Range(0, 1)) = 0.25 + _SSSPower ("Light Spread", Range(1, 100)) = 5 + _SSSDistortion ("Light Distortion", Range(0, 1)) = 1 + [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0 + + // Rim Lighting + [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0 + [Toggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0 + [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1 + [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimTexUV ("UV", Int) = 0 + _RimMask ("Rim Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimMaskUV ("UV", Int) = 0 + + // Rim Noise + [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0 + _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { } + [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0 + _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1 + [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0 + + // Rim Shadow Mix + [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0 + _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0 + _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5 + _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5 + [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0 + [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0 + + // Environmental Rim Lighting + [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0 + [Toggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0 + _RimEnviroMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimEnviroMaskUV ("UV", Int) = 0 + _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7 + _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45 + _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0 + _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0 + _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1 + [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0 + + // Baked Lighting + [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0 + _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1 + [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown + [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown + [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0 + + // Metallics + [HideInInspector] m_start_Metallic ("Metallics", Float) = 0 + [Toggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1) + _MetallicTintMap ("Tint Map", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicTintMapUV ("UV", Int) = 0 + _MetallicMask ("Metallic Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicMaskUV ("UV", Int) = 0 + _Metallic ("Metallic", Range(0, 1)) = 0 + _SmoothnessMask ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SmoothnessMaskUV ("UV", Int) = 0 + [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _Smoothness ("Smoothness", Range(0, 1)) = 0 + [HideInInspector] m_end_Metallic ("Metallics", Float) = 0 + + // Clearcoat + [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0 + [Toggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0 + [Enum(Vertex, 0, Pixel, 1)] _ClearCoatNormalToUse ("What Normal?", Int) = 0 + _ClearCoatCubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_ClearCoatSampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _ClearCoatTint ("Reflection Tint", Color) = (1, 1, 1) + _ClearCoatMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatMaskUV ("UV", Int) = 0 + _ClearCoat ("Clear Coat", Range(0, 1)) = 1 + _ClearCoatSmoothnessMap ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatSmoothnessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatSmoothnessMapUV ("UV", Int) = 0 + [ToggleUI]_ClearCoatInvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _ClearCoatSmoothness ("Smoothness", Range(0, 1)) = 0 + [ToggleUI]_ClearCoatForceLighting ("Force Lighting", Float) = 0 + [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0 + + // First Matcap + [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0 + [Toggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0 + _MatcapColor ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { } + _MatcapBorder ("Border", Range(0, .5)) = 0.43 + _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MatcapMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0 + _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _MatcapIntensity ("Intensity", Range(0, 5)) = 1 + _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 + _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1 + _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0 + _MatcapAdd ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1 + [HideInInspector] m_end_matcap ("Matcap", Float) = 0 + + // Second Matcap + [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0 + [ToggleUI]_Matcap2Enable ("Enable Matcap 2", Float) = 0 + _Matcap2Color ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { } + _Matcap2Border ("Border", Range(0, .5)) = 0.43 + _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _Matcap2MaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0 + _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _Matcap2Intensity ("Intensity", Range(0, 5)) = 1 + _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0 + _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0 + _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0 + _Matcap2Add ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1 + [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0 + + // Specular + [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0 + [Toggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1 + _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMapUV ("UV", Int) = 0 + _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1 + [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMapUV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0 + _SpecularMask ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMaskUV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1 + // Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0 + _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0 + _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMapUV ("UV", Int) = 0 + //toon aniso + _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95 + _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0 + // Toon Specular + [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0 + + // Second Specular + [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0 + [ToggleUI]_EnableSpecular1 ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1 + _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0 + _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75 + _SpecularMap1 ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMap1UV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0 + _SpecularMask1 ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMask1UV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1 + // Second Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0 + _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0 + _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMap1UV ("UV", Int) = 0 + // Second toon aniso + _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95 + _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor1 ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0 + // Second Toon Specular + [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0 + + // First Emission + [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0 + [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0 + [Toggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0 + [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMapUV ("UV", Int) = 0 + _EmissionMask ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMaskUV ("UV", Int) = 0 + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0 + _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 + + // Center out emission + [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0 + + // Glow in the dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + // Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + _EmissionScrollingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0 + + // Second Enission + [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0 + [Toggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0 + [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMap1UV ("UV", Int) = 0 + _EmissionMask1 ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMask1UV ("UV", Int) = 0 + _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0 + _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0 + + // Second Center Out Enission + [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0 + + // Second Glow In The Dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Second Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + + // Scrolling Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0 + _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width1 ("Width", Float) = 10 + _EmissiveScroll_Velocity1 ("Velocity", Float) = 10 + _EmissiveScroll_Interval1 ("Interval", Float) = 20 + _EmissionScrollingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0 + + // Flipbook + [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0 + [Toggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0 + [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0 + [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookTexArrayUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookMask ("Mask", 2D) = "white" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookMaskUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1) + _FlipbookTotalFrames ("Total Frames", Int) = 1 + _FlipbookFPS ("FPS", Float) = 30.0 + _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0) + [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0 + _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _FlipbookRotation ("Rotation", Range(0, 360)) = 0 + _FlipbookRotationSpeed ("Rotation Speed", Float) = 0 + _FlipbookReplace ("Replace", Range(0, 1)) = 1 + _FlipbookMultiply ("Multiply", Range(0, 1)) = 0 + _FlipbookAdd ("Add", Range(0, 1)) = 0 + + // Flipbook Manual Control + [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0 + _FlipbookCurrentFrame ("Current Frame", Float) = -1 + [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0 + [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0 + + // Dissolve + [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0 + [Toggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0 + [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1 + _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025 + _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5 + _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1) + [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { } + _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0 + _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1) + _DissolveToTexture ("Dissolved Texture", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveToTextureUV ("UV", Int) = 0 + _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0 + _DissolveNoiseTexture ("Dissolve Noise", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0 + _DissolveDetailNoise ("Dissolve Detail Noise", 2D) = "black" { } + [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0 + _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1 + _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0 + _DissolveMask ("Dissolve Mask", 2D) = "white" { } + [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0 + [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0 + _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0 + [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2 + [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0 + + // Point to Point Dissolve + [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0 + [Enum(Local, 0, World, 1)] _DissolveP2PWorldLocal ("World/Local", Int) = 0 + _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1 + [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0) + [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0) + [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0 + + // Locked in anim sldiers + [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0 + _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0 + _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0 + _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0 + _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0 + _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0 + _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0 + _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0 + _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0 + _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0 + _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0 + [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0 + [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0 + + // Panosphere + [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + [Toggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0 + [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0 + _PanosphereColor ("Color", Color) = (1, 1, 1, 1) + _PanosphereTexture ("Texture", 2D) = "white" { } + _PanoMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _PanoMaskUV ("UV", Int) = 0 + _PanoEmission ("Emission Strength", Range(0, 10)) = 0 + _PanoBlend ("Alpha", Range(0, 1)) = 0 + [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0) + [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0 + [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { } + [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + + // Glitter + [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0 + [Toggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0 + [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0 + [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0 + [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0 + [HDR]_GlitterColor ("Color", Color) = (1, 1, 1) + _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0 + _GlitterColorMap ("Glitter Color Map", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterColorMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterMask ("Glitter Mask", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterMaskUV ("UV", Int) = 0 + _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterTextureRotation ("Rotation Speed", Float) = 0 + _GlitterFrequency ("Glitter Density", Float) = 300.0 + _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0 + _GlitterSpeed ("Glitter Speed", Float) = 10.0 + _GlitterSize ("Glitter Size", Range(0, 1)) = .3 + _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300 + _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90 + _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0 + _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3 + _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8 + _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08 + _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20 + _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0 + + // Glitter Random Colors + [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0 + [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0 + [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1) + [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1) + [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0 + [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1) + [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0 + [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0 + [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0 + + // MSDF OVERLAY + [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0 + _TextGlyphs ("Font Array", 2D) = "black" { } + _TextPixelRange ("Pixel Range", Float) = 4.0 + [Toggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0 + + // FPS + [HideInInspector] m_start_TextFPS ("FPS", Float) = 0 + [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextFPSUV ("FPS UV", Int) = 0 + _TextFPSColor ("Color", Color) = (1, 1, 1, 1) + _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextFPSRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1) + _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextFPS ("FPS", Float) = 0 + + // POSITION + [HideInInspector] m_start_TextPosition ("Position", Float) = 0 + [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextPositionUV ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVertical ("Vertical?", Float) = 0 + _TextPositionColor ("Color", Color) = (1, 0, 1, 1) + _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextPositionRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1) + _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextPosition ("Position", Float) = 0 + + // INSTANCE TIME + [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0 + [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextTimeUV ("Time UV", Int) = 0 + _TextTimeColor ("Color", Color) = (1, 0, 1, 1) + _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextTimeRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1) + _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0 + [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0 + + // Mirror Rendering + [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0 + [Toggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0 + [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0 + [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0 + _MirrorTexture ("Mirror Tex", 2D) = "white" { } + [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MirrorTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0 + + // Distance Fade + [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0 + _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0 + _MainFadeTexture ("Fade Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainFadeTextureUV ("UV", Int) = 0 + [Vector2]_MainDistanceFade ("Distance Fade X to Y", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0 + + // Angular Fade + [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0 + [Toggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0 + [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0 + [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0 + [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0) + _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45 + _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90 + _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45 + _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90 + _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0 + + // UV Distortion + [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0 + [Toggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0 + _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0 + _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { } + _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { } + _DistortionStrength ("Strength1", Float) = 0.5 + _DistortionStrength1 ("Strength2", Float) = 0.5 + [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0) + [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0) + [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0 + + // Outline Options + [HideInInspector] m_outlineOptions ("Outlines", Float) = 0 + [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0 + [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0 + _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0 + _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0 + _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0) + _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0) + [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0 + [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0 + [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1 + _LineWidth ("Width", Float) = 0 + _LineColor ("Color", Color) = (1, 1, 1, 1) + _OutlineEmission ("Outline Emission", Float) = 0 + _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineTextureUV ("UV", Int) = 0 + _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineMaskUV ("UV", Int) = 0 + _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0 + [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0) + [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1 + _OutlineOffsetFactor("Offset Factor", Float) = 0 + _OutlineOffsetUnits("Offset Units", Float) = 0 + [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0 + + // Parallax Mapping + [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0 + [Toggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0 + [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0 + [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0 + [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0 + [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0) + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0 + _ParallaxHeightMap ("Height Map", 2D) = "black" { } + _ParallaxHeightMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0 + _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0 + [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0 + [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0 + [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0 + [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0 + _ParallaxInternalMap ("Internal Map", 2D) = "black" { } + _ParallaxInternalMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0 + _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1 + _ParallaxInternalMinDepth ("Min Depth", Float) = 0 + _ParallaxInternalMaxDepth ("Max Depth", Float) = 1 + _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0 + _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1 + _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1) + _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1) + [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0) + [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0 + [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0 + _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42 + [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0 + + // Rendering Options + [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1 + [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15 + _OffsetFactor ("Offset Factor", Float) = 0.0 + _OffsetUnits ("Offset Units", Float) = 0.0 + [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 + [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown + + // Blending Options + [HideInInspector] m_start_blending ("Blending", Float) = 0 + [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 + [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1 + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0 + [HideInInspector] m_end_blending ("Blending", Float) = 0 + + // Stencils + [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 + + // Outline Stencil + [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{is_hideable:true, condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + // Debug Options + [HideInInspector] m_start_debugOptions ("Debug", Float) = 0 + [HideInInspector][Toggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0 + _VertexUnwrap ("Unwrap", Range(0, 1)) = 0 + [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0 + [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0 + [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0 + [HideInInspector] m_end_debugOptions ("Debug", Float) = 0 + + //[HideInInspector] m_animationToggles ("Animation Support Toggles", Float) = 0 + //[HelpBox(1)] _AnimationToggleHelp ("You don't need to search through this list. You can enable animation support on any property by right clicking it", Int) = 0 + + // Main + [HideInInspector]_ColorAnimated ("Color & Alpha", Int) = 0 + [HideInInspector]_MainTexAnimated ("Texture", Int) = 0 + [HideInInspector]_MainTex_STAnimated ("Texture Offset/Scale", Int) = 0 + [HideInInspector]_MainTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_SaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_MainVertexColoringAnimated ("Use Vertex Color", Int) = 0 + [HideInInspector]_MainUseVertexColorAlphaAnimated ("Use Vertex Alpha", Int) = 0 + [HideInInspector]_MainEmissionStrengthAnimated ("Basic Emission", Int) = 0 + [HideInInspector]_BumpMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_BumpMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_BumpMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_BumpScaleAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_AlphaMaskAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_AlphaMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AlphaMaskUVAnimated ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector]_MainHueShiftToggleAnimated ("Toggle Hueshift", Int) = 0 + [HideInInspector]_MainHueShiftReplaceAnimated ("Replace?", Int) = 0 + [HideInInspector]_MainHueShiftAnimated ("Hue Shift", Int) = 0 + [HideInInspector]_MainHueShiftSpeedAnimated ("Shift Speed", Int) = 0 + [HideInInspector]_MainHueShiftMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MainHueShiftMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainHueShiftMaskUVAnimated ("UV", Int) = 0 + + // RGB Masking + [HideInInspector]_RGBMaskEnabledAnimated ("RGB Mask Enabled", Int) = 0 + [HideInInspector]_RGBUseVertexColorsAnimated ("Use Vertex Colors", Int) = 0 + [HideInInspector]_RGBBlendMultiplicativeAnimated ("Multiplicative?", Int) = 0 + [HideInInspector]_RGBMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RGBMaskPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RedColorAnimated ("R Color", Int) = 0 + [HideInInspector]_RedTexureAnimated ("R Texture", Int) = 0 + [HideInInspector]_RGBRedPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBRed_UVAnimated ("UV", Int) = 0 + [HideInInspector]_GreenColorAnimated ("G Color", Int) = 0 + [HideInInspector]_GreenTextureAnimated ("G Texture", Int) = 0 + [HideInInspector]_RGBGreenPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBGreen_UVAnimated ("UV", Int) = 0 + [HideInInspector]_BlueColorAnimated ("B Color", Int) = 0 + [HideInInspector]_BlueTextureAnimated ("B Texture", Int) = 0 + [HideInInspector]_RGBBluePanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBBlue_UVAnimated ("UV", Int) = 0 + [HideInInspector]_RGBNormalBlendAnimated ("UV", Int) = 0 + + // Detail Options + [HideInInspector]_DetailMaskAnimated ("Detail Mask (R:Texture, G:Normal)", Int) = 0 + [HideInInspector]_DetailMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTintAnimated ("Detail Texture Tint", Int) = 0 + [HideInInspector]_DetailTexAnimated ("Detail Texture", Int) = 0 + [HideInInspector]_DetailTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTexIntensityAnimated ("Detail Tex Intensity", Int) = 0 + [HideInInspector]_DetailBrightnessAnimated ("Detail Brightness:", Int) = 0 + [HideInInspector]_DetailNormalMapAnimated ("Detail Normal", Int) = 0 + [HideInInspector]_DetailNormalMapScaleAnimated ("Detail Normal Intensity", Int) = 0 + [HideInInspector]_DetailNormalMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailNormalMapUVAnimated ("UV", Int) = 0 + + //Vertex Manipulations + [HideInInspector]_VertexManipulationLocalTranslationAnimated ("Local Translation", Int) = 0 + [HideInInspector]_VertexManipulationLocalRotationAnimated ("Local Rotation", Int) = 0 + [HideInInspector]_VertexManipulationLocalScaleAnimated ("Local Scale", Int) = 0 + [HideInInspector]_VertexManipulationWorldTranslationAnimated ("World Translation", Int) = 0 + [HideInInspector]_VertexManipulationHeightAnimated ("Vertex Height", Int) = 0 + [HideInInspector]_VertexManipulationHeightMaskAnimated ("Height Map", Int) = 0 + [HideInInspector]_VertexManipulationHeightPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VertexManipulationHeightUVAnimated ("UV", Int) = 0 + [HideInInspector]_VertexManipulationHeightBiasAnimated ("Mask Bias", Int) = 0 + [HideInInspector]_VertexRoundingEnabledAnimated ("Rounding Enabled", Int) = 0 + [HideInInspector]_VertexRoundingDivisionAnimated ("Division Amount", Int) = 0 + + // Alpha Options + [HideInInspector]_AlphaModAnimated ("Alpha Mod", Int) = 0 + [HideInInspector]_CutoffAnimated ("Alpha Cuttoff", Int) = 0 + [HideInInspector]_DitheringEnabledAnimated ("Enable Dithering", Int) = 0 + [HideInInspector]_DitherGradientAnimated ("Dither Gradient", Int) = 0 + [HideInInspector]_ForceOpaqueAnimated ("Force Opaque", Int) = 0 + [HideInInspector]_MainShadowClipModAnimated ("Shadow Clip Mod", Int) = 0 + [HideInInspector]_AlphaToMaskAnimated ("Alpha To Coverage", Int) = 0 + [HideInInspector]_MainAlphaToCoverageAnimated ("Sharpenned A2C", Int) = 0 + [HideInInspector]_AlphaPremultiplyAnimated ("Alpha Premultiply", Int) = 0 + [HideInInspector]_MainMipScaleAnimated ("Mip Level Alpha Scale", Int) = 0 + + // Decal Texture + [HideInInspector]_DecalEnabledAnimated ("Enable", Int) = 0 + [HideInInspector]_DecalColorAnimated ("Color", Int) = 0 + [HideInInspector]_DecalEmissionStrengthAnimated ("Color", Int) = 0 + [HideInInspector]_DecalTextureAnimated ("Decal", Int) = 0 + [HideInInspector]_DecalTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DecalMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_DecalScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_DecalPositionAnimated ("Position", Int) = 0 + [HideInInspector]_DecalRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_DecalRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_DecalBlendAddAnimated ("Add", Int) = 0 + [HideInInspector]_DecalBlendMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_DecalBlendReplaceAnimated ("Replace", Int) = 0 + + // Lighting + [HideInInspector]_EnableLightingAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LightingModeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingStandardSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_LightingShadingEnabledAnimated ("Enable Shading-",Int) = 0 + [HideInInspector]_LightingRampTypeAnimated ("Ramp Type", Int) = 0 + [HideInInspector]_ToonRampAnimated ("Lighting Ramp", Int) = 0 + [HideInInspector]_LightingShadowMaskAnimated ("Ramp Mask", Int) = 0 + [HideInInspector]_LightingShadowMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ShadowOffsetAnimated ("Ramp Offset", Int) = 0 + [HideInInspector]_LightingGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingShadowColorAnimated ("Shadow Tint", Int) = 0 + [HideInInspector]_ShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_AttenuationMultiplierAnimated ("Unity Shadows", Int) = 0 + [HideInInspector]_LightingIgnoreAmbientColorAnimated ("Ignore Ambient Color", Int) = 0 + + [HideInInspector]_LightingDirectColorModeAnimated ("D Color", Int) = 0 + [HideInInspector]_LightingIndirectColorModeAnimated ("I Color?", Int) = 0 + [HideInInspector]_LightingMonochromaticAnimated ("Monochromatic Lighting?", Int) = 0 + [HideInInspector]_LightingUncappedAnimated ("Uncapped Lighting", Int) = 0 + [HideInInspector]_LightingOnlyUnityShadowsAnimated ("Only Unity Shadows", Int) = 0 + [HideInInspector]_LightingMinLightBrightnessAnimated ("Min Brightnes", Int) = 0 + [HideInInspector]_LightingMinShadowBrightnessRatioAnimated ("Shadow:Light min Ratio", Int) = 0 + + [HideInInspector]_LightingDetailShadowsEnabledAnimated ("Enabled Detail Shadows?", Int) = 0 + [HideInInspector]_LightingDetailShadowsAnimated ("Detail Shadows", Int) = 0 + [HideInInspector]_LightingDetailShadowsPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingDetailShadowsUVAnimated ("UV", Int) = 0 + [HideInInspector]_LightingDetailStrengthAnimated ("Detail Strength", Int) = 0 + + [HideInInspector]_LightingEnableAOAnimated ("Enable AO", Int) = 0 + [HideInInspector]_LightingAOTexAnimated ("AO Map", Int) = 0 + [HideInInspector]_LightingAOTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingAOTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_AOStrengthAnimated ("AO Strength", Range(0, 1)) = 0 + + [HideInInspector]_UseShadowTextureAnimated ("EnableShadowTexture", Int) = 0 + [HideInInspector]_LightingShadowTextureAnimated ("Shadow Texture", Int) = 0 + [HideInInspector]_LightingShadowTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowTextureUVAnimated ("UV", Int) = 0 + + [HideInInspector]_LightingEnableHSLAnimated ("Enabled HSL Lighting", Int) = 0 + [HideInInspector]_LightingHSLIntensityAnimated ("Shadow HSL Intensity", Int) = 0 + [HideInInspector]_LightingShadowHueAnimated ("Shadow Hue Change", Int) = 0 + [HideInInspector]_LightingShadowSaturationAnimated ("Shadow Saturation Change", Int) = 0 + [HideInInspector]_LightingShadowLightnessAnimated ("Shadow Lightness Change", Int) = 0 + + // point/spot Light Settings + [HideInInspector]_commentIfZero_LightingAdditiveEnableAnimated ("Enable Additive", Int) = 0 + [HideInInspector]_LightingAdditiveTypeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingAdditiveGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingAdditiveGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingAdditivePassthroughAnimated ("Point Light Passthrough", Int) = 0 + [HideInInspector]_LightingAdditiveDetailStrengthAnimated ("Detail Shadow Strength", Int) = 0 + [HideInInspector]_LightingAdditiveLimitIntensityAnimated ("Limit Intensity", Int) = 0 + [HideInInspector]_LightingAdditiveMaxIntensityAnimated ("Max Intensity", Int) = 0 + + // Subsurface Scattering + [HideInInspector]_EnableSSSAnimated ("Enable Subsurface Scattering", Int) = 0 + [HideInInspector]_SSSColorAnimated ("Subsurface Color", Int) = 0 + [HideInInspector]_SSSThicknessMapAnimated ("Thickness Map", Int) = 0 + [HideInInspector]_SSSThicknessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SSSThicknessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SSSThicknessModAnimated ("Thickness mod", Int) = 0 + [HideInInspector]_SSSSCaleAnimated ("Light Strength", Int) = 0 + [HideInInspector]_SSSPowerAnimated ("Light Spread", Int) = 0 + [HideInInspector]_SSSDistortionAnimated ("Light Distortion", Int) = 0 + + // Rim Lighting + [HideInInspector]_EnableRimLightingAnimated ("Enable Rim Lighting", Int) = 0 + [HideInInspector]_RimLightNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_RimLightingInvertAnimated ("Invert Rim Lighting", Int) = 0 + [HideInInspector]_RimLightColorAnimated ("Rim Color", Int) = 0 + [HideInInspector]_RimWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimStrengthAnimated ("Rim Emission", Int) = 0 + [HideInInspector]_RimBrightenAnimated ("Rim Color Brighten", Int) = 0 + [HideInInspector]_RimLightColorBiasAnimated ("Rim Color Bias", Int) = 0 + [HideInInspector]_RimTexAnimated ("Rim Texture", Int) = 0 + [HideInInspector]_RimTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimMaskAnimated ("Rim Mask", Int) = 0 + [HideInInspector]_RimMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimMaskUVAnimated ("UV", Int) = 0 + + // Rim Noise + [HideInInspector]_RimWidthNoiseTextureAnimated ("Rim Width Noise", Int) = 0 + [HideInInspector]_RimWidthNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimWidthNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimWidthNoiseStrengthAnimated ("Intensity", Int) = 0 + + // Rim Shadow Mix + [HideInInspector]_ShadowMixAnimated ("Shadow Mix In", Int) = 0 + [HideInInspector]_ShadowMixThresholdAnimated ("Shadow Mix Threshold", Int) = 0 + [HideInInspector]_ShadowMixWidthModAnimated ("Shadow Mix Width Mod", Int) = 0 + + // Environmental Rim Lighting + [HideInInspector]_EnableEnvironmentalRimAnimated ("Enable Environmental Rim", Int) = 0 + [HideInInspector]_RimEnviroMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RimEnviroMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimEnviroMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimEnviroBlurAnimated ("Blur", Int) = 0 + [HideInInspector]_RimEnviroWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimEnviroSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimEnviroMinBrightnessAnimated ("Min Brightness Threshold", Int) = 0 + [HideInInspector]_RimEnviroIntensityAnimated ("Intensity", Int) = 0 + + // Metallics + [HideInInspector]_EnableMetallicAnimated ("Enable Metallics", Int) = 0 + [HideInInspector]_CubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_SampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_MetalReflectionTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_MetallicTintMapAnimated ("Tint Map", Int) = 0 + [HideInInspector]_MetallicTintMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicTintMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicMaskAnimated ("Metallic Mask", Int) = 0 + [HideInInspector]_MetallicMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SmoothnessMaskAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SmoothnessMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_InvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessAnimated ("Smoothness", Int) = 0 + + // Clearcoat + [HideInInspector]_EnableClearCoatAnimated ("Enable Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatNormalToUseAnimated ("What Normal?", Int) = 0 + [HideInInspector]_ClearCoatCubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_ClearCoatSampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_ClearCoatTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_ClearCoatMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ClearCoatMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatInvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_ClearCoatForceLightingAnimated ("Force Lighting", Int) = 0 + + // First Matcap + [HideInInspector]_MatcapEnableAnimated ("Enable Matcap", Int) = 0 + [HideInInspector]_MatcapColorAnimated ("Color", Int) = 0 + [HideInInspector]_MatcapAnimated ("Matcap", Int) = 0 + [HideInInspector]_MatcapBorderAnimated ("Border", Int) = 0 + [HideInInspector]_MatcapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MatcapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MatcapMaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_MatcapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MatcapEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_MatcapIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_MatcapLightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_MatcapReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_MatcapMultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_MatcapAddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_MatcapNormalAnimated ("Normal to use", Int) = 0 + + // Second Matcap + [HideInInspector]_Matcap2EnableAnimated ("Enable Matcap 2", Int) = 0 + [HideInInspector]_Matcap2ColorAnimated ("Color", Int) = 0 + [HideInInspector]_Matcap2Animated ("Matcap", Int) = 0 + [HideInInspector]_Matcap2BorderAnimated ("Border", Int) = 0 + [HideInInspector]_Matcap2MaskAnimated ("Mask", Int) = 0 + [HideInInspector]_Matcap2MaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_Matcap2MaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_Matcap2MaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_Matcap2EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_Matcap2IntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_Matcap2LightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_Matcap2ReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_Matcap2MultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_Matcap2AddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_Matcap2NormalAnimated ("Normal to use", Int) = 0 + + // Specular + [HideInInspector]_EnableSpecularAnimated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularTypeAnimated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTintAnimated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMapAnimated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothnessAnimated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMaskAnimated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFromAnimated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangentAnimated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1AlphaAnimated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2AlphaAnimated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1OffsetAnimated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2SmoothnessAnimated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMapAnimated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMapAnimated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStartAnimated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEndAnimated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColorAnimated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirroredAnimated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroAnimated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplierAnimated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroAnimated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplierAnimated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuterAnimated ("Inner/Outer Edge", Int) = 0 + + // Second Specular + [HideInInspector]_EnableSpecular1Animated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularType1Animated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormal1Animated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTint1Animated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallic1Animated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothness1Animated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMap1Animated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothness1Animated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMask1Animated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFrom1Animated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangent1Animated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1Alpha1Animated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2Alpha1Animated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1Offset1Animated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2Smoothness1Animated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMap1Animated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMap1Animated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStart1Animated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEnd1Animated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColor1Animated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirrored1Animated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1Animated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplier1Animated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1Animated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplier1Animated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuter1Animated ("Inner/Outer Edge", Int) = 0 + + // First Emission + [HideInInspector]_EnableEmissionAnimated ("Enable Emission", Int) = 0 + [HideInInspector]_EmissionReplaceAnimated ("Replace Base Color", Int) = 0 + [HideInInspector]_EmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMapAnimated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMapAnimated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMaskAnimated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabledAnimated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShiftAnimated ("Hue Shift", Int) = 0 + + // Center out emission + [HideInInspector]_EmissionCenterOutEnabledAnimated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeedAnimated ("Flow Speed", Int) = 0 + + // Glow in the dark Emission + [HideInInspector]_EnableGITDEmissionAnimated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMeshAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplierAnimated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplierAnimated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLightAnimated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLightAnimated ("Max Lighting", Int) = 0 + + // Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_MinAnimated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_MaxAnimated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_VelocityAnimated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffsetAnimated ("Offset", Int) = 0 + + // Scrolling Emission + [HideInInspector]_ScrollingEmissionAnimated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurveAnimated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurveAnimated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColorAnimated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_DirectionAnimated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_WidthAnimated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_VelocityAnimated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_IntervalAnimated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffsetAnimated ("Offset", Int) = 0 + + // Second Enission + [HideInInspector]_EnableEmission1Animated ("Enable Emission 2", Int) = 0 + [HideInInspector]_EmissionColor1Animated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMap1Animated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMap1Animated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMask1Animated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrength1Animated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabled1Animated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShift1Animated ("Hue Shift", Int) = 0 + + // Second Center Out Enission + [HideInInspector]_EmissionCenterOutEnabled1Animated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeed1Animated ("Flow Speed", Int) = 0 + + // Second Glow In The Dark Emission + [HideInInspector]_EnableGITDEmission1Animated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMesh1Animated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplier1Animated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplier1Animated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLight1Animated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLight1Animated ("Max Lighting", Int) = 0 + + // Second Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_Min1Animated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_Max1Animated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_Velocity1Animated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffset1Animated ("Offset", Int) = 0 + + // Scrolling Scrolling Emission + [HideInInspector]_ScrollingEmission1Animated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurve1Animated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurve1Animated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColor1Animated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_Direction1Animated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_Width1Animated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_Velocity1Animated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_Interval1Animated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffset1Animated ("Offset", Int) = 0 + + // Flipbook + [HideInInspector]_EnableFlipbookAnimated ("Enable Flipbook", Int) = 0 + [HideInInspector]_FlipbookAlphaControlsFinalAlphaAnimated ("Flipbook Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookIntensityControlsAlphaAnimated ("Intensity Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookColorReplacesAnimated ("Color Replaces Flipbook", Int) = 0 + [HideInInspector]_FlipbookTexArrayAnimated ("Texture Array", Int) = 0 + [HideInInspector]_FlipbookTexArrayUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookTexArrayPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_FlipbookMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookColorAnimated ("Color & alpha", Int) = 0 + [HideInInspector]_FlipbookTotalFramesAnimated ("Total Frames", Int) = 0 + [HideInInspector]_FlipbookFPSAnimated ("FPS", Int) = 0 + [HideInInspector]_FlipbookScaleOffsetAnimated ("Scale | Offset", Int) = 0 + [HideInInspector]_FlipbookTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_FlipbookEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_FlipbookRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_FlipbookRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_FlipbookReplaceAnimated ("Replace", Int) = 0 + [HideInInspector]_FlipbookMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_FlipbookAddAnimated ("Add", Int) = 0 + [HideInInspector]_FlipbookCurrentFrameAnimated ("Current Frame", Int) = 0 + + // Dissolve + [HideInInspector]_EnableDissolveAnimated ("Enable Dissolve", Int) = 0 + [HideInInspector]_DissolveTypeAnimated ("Dissolve Type", Int) = 0 + [HideInInspector]_DissolveEdgeWidthAnimated ("Edge Width", Int) = 0 + [HideInInspector]_DissolveEdgeHardnessAnimated ("Edge Hardness", Int) = 0 + [HideInInspector]_DissolveEdgeColorAnimated ("Edge Color", Int) = 0 + [HideInInspector]_DissolveEdgeGradientAnimated ("Edge Gradient", Int) = 0 + [HideInInspector]_DissolveEdgeEmissionAnimated ("Edge Emission", Int) = 0 + [HideInInspector]_DissolveTextureColorAnimated ("Dissolved Color", Int) = 0 + [HideInInspector]_DissolveToTextureAnimated ("Dissolved Texture", Int) = 0 + [HideInInspector]_DissolveToTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveToTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveToEmissionStrengthAnimated ("Dissolved Emission Strength", Int) = 0 + [HideInInspector]_DissolveNoiseTextureAnimated ("Dissolve Noise", Int) = 0 + [HideInInspector]_DissolveNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailNoiseAnimated ("Dissolve Detail Noise", Int) = 0 + [HideInInspector]_DissolveDetailNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveDetailNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertDetailNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailStrengthAnimated ("Dissolve Detail Strength", Int) = 0 + [HideInInspector]_DissolveAlphaAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveUseVertexColorsAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveMaskAnimated ("Dissolve Mask", Int) = 0 + [HideInInspector]_DissolveMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveMaskInvertAnimated ("Invert?", Int) = 0 + [HideInInspector]_ContinuousDissolveAnimated ("Continuous Dissolve Speed", Int) = 0 + [HideInInspector]_DissolveEmissionSideAnimated ("Emission 1", Int) = 0 + [HideInInspector]_DissolveEmission1SideAnimated ("Emission 2", Int) = 0 + + // Point to Point Dissolve + [HideInInspector]_DissolveP2PWorldLocalAnimated ("World/Local", Int) = 0 + [HideInInspector]_DissolveP2PEdgeLengthAnimated ("Edge Length", Int) = 0 + [HideInInspector]_DissolveStartPointAnimated ("Start Point", Int) = 0 + [HideInInspector]_DissolveEndPointAnimated ("End Point", Int) = 0 + + [HideInInspector]_DissolveAlpha0Animated ("_DissolveAlpha0", Int) = 0 + [HideInInspector]_DissolveAlpha1Animated ("_DissolveAlpha1", Int) = 0 + [HideInInspector]_DissolveAlpha2Animated ("_DissolveAlpha2", Int) = 0 + [HideInInspector]_DissolveAlpha3Animated ("_DissolveAlpha3", Int) = 0 + [HideInInspector]_DissolveAlpha4Animated ("_DissolveAlpha4", Int) = 0 + [HideInInspector]_DissolveAlpha5Animated ("_DissolveAlpha5", Int) = 0 + [HideInInspector]_DissolveAlpha6Animated ("_DissolveAlpha6", Int) = 0 + [HideInInspector]_DissolveAlpha7Animated ("_DissolveAlpha7", Int) = 0 + [HideInInspector]_DissolveAlpha8Animated ("_DissolveAlpha8", Int) = 0 + [HideInInspector]_DissolveAlpha9Animated ("_DissolveAlpha9", Int) = 0 + + // Panosphere + [HideInInspector]_PanoToggleAnimated ("Enable Panosphere", Int) = 0 + [HideInInspector]_PanoInfiniteStereoToggleAnimated ("Infinite Stereo", Int) = 0 + [HideInInspector]_PanosphereColorAnimated ("Color", Int) = 0 + [HideInInspector]_PanosphereTextureAnimated ("Texture", Int) = 0 + [HideInInspector]_PanoMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_PanoMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_PanoMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_PanoEmissionAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_PanoBlendAnimated ("Alpha", Int) = 0 + [HideInInspector]_PanospherePanAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_PanoCubeMapToggleAnimated ("Use Cubemap", Int) = 0 + [HideInInspector]_PanoCubeMapAnimated ("CubeMap", Int) = 0 + + // Glitter + [HideInInspector]_GlitterEnableAnimated ("Enable Glitter?", Int) = 0 + [HideInInspector]_GlitterModeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterShapeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterBlendTypeAnimated ("Blend Mode", Int) = 0 + [HideInInspector]_GlitterColorAnimated ("Color", Int) = 0 + [HideInInspector]_GlitterUseSurfaceColorAnimated ("Use Surface Color", Int) = 0 + [HideInInspector]_GlitterColorMapAnimated ("Glitter Color Map", Int) = 0 + [HideInInspector]_GlitterColorMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterColorMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterTextureAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterRandomRotationAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterFrequencyAnimated ("Glitter Density", Int) = 0 + [HideInInspector]_GlitterJitterAnimated ("Glitter Jitter", Int) = 0 + [HideInInspector]_GlitterSpeedAnimated ("Glitter Wobble Speed", Int) = 0 + [HideInInspector]_GlitterSizeAnimated ("Glitter Size", Int) = 0 + [HideInInspector]_GlitterContrastAnimated ("Glitter Contrast", Int) = 0 + [HideInInspector]_GlitterAngleRangeAnimated ("Glitter Angle Range", Int) = 0 + [HideInInspector]_GlitterMinBrightnessAnimated ("Glitter Min Brightness", Int) = 0 + [HideInInspector]_GlitterBrightnessAnimated ("Glitter Max Brightness", Int) = 0 + [HideInInspector]_GlitterBiasAnimated ("Glitter Bias", Int) = 0 + [HideInInspector]_GlitterCenterSizeAnimated ("center size", Int) = 0 + [HideInInspector]_GlitterTextureRotationAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_glitterFrequencyLinearEmissiveAnimated ("Frequency", Int) = 0 + [HideInInspector]_GlitterJaggyFixAnimated ("Jaggy Fix", Int) = 0 + + // Glitter Random Colors + [HideInInspector]_GlitterRandomColorsAnimated ("Enable", Int) = 0 + [HideInInspector]_GlitterMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_GlitterMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + [HideInInspector]_GlitterRandomSizeAnimated ("random Size Toggle", Int) = 0 + [HideInInspector]_GlitterMinMaxSizeAnimated ("Min Max Random Size", Int) = 0 + + // MSDF OVERLAY + [HideInInspector]_TextGlyphsAnimated ("Font Array", Int) = 0 + [HideInInspector]_TextPixelRangeAnimated ("Pixel Range", Int) = 0 + [HideInInspector]_TextEnabledAnimated ("Text?", Int) = 0 + + // FPS + [HideInInspector]_TextFPSEnabledAnimated ("FPS Text?", Int) = 0 + [HideInInspector]_TextFPSUVAnimated ("FPS UV", Int) = 0 + [HideInInspector]_TextFPSColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextFPSEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextFPSOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextFPSRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextFPSScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextFPSPaddingAnimated ("Padding Reduction", Int) = 0 + + // POSITION + [HideInInspector]_TextPositionEnabledAnimated ("Position Text?", Int) = 0 + [HideInInspector]_TextPositionUVAnimated ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVerticalAnimated ("Vertical?", Int) = 0 + [HideInInspector]_TextPositionColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextPositionEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextPositionOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextPositionRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextPositionScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextPositionPaddingAnimated ("Padding Reduction", Int) = 0 + + // INSTANCE TIME + [HideInInspector]_TextTimeEnabledAnimated ("Time Text?", Int) = 0 + [HideInInspector]_TextTimeUVAnimated ("Time UV", Int) = 0 + [HideInInspector]_TextTimeColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextTimeEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextTimeOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextTimeRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextTimeScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextTimePaddingAnimated ("Padding Reduction", Int) = 0 + + // Mirror Rendering + [HideInInspector]_EnableMirrorOptionsAnimated ("Enable Mirror Options", Int) = 0 + [HideInInspector]_MirrorAnimated ("Show in mirror", Int) = 0 + [HideInInspector]_EnableMirrorTextureAnimated ("Enable Mirror Texture", Int) = 0 + [HideInInspector]_MirrorTextureAnimated ("Mirror Tex", Int) = 0 + [HideInInspector]_MirrorTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MirrorTextureUVAnimated ("UV", Int) = 0 + + // Distance Fade + [HideInInspector]_MainMinAlphaAnimated ("Minimum Alpha", Int) = 0 + [HideInInspector]_MainFadeTextureAnimated ("Fade Mask", Int) = 0 + [HideInInspector]_MainFadeTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainFadeTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_MainDistanceFadeAnimated ("Distance Fade X to Y", Int) = 0 + + // Angular Fade + [HideInInspector]_EnableRandomAnimated ("Enable Angular Fade", Int) = 0 + [HideInInspector]_AngleTypeAnimated ("Angle Type", Int) = 0 + [HideInInspector]_AngleCompareToAnimated ("Model or Vert Positon", Int) = 0 + [HideInInspector]_AngleForwardDirectionAnimated ("Forward Direction", Int) = 0 + [HideInInspector]_CameraAngleMinAnimated ("Camera Angle Min", Int) = 0 + [HideInInspector]_CameraAngleMaxAnimated ("Camera Angle Max", Int) = 0 + [HideInInspector]_ModelAngleMinAnimated ("Model Angle Min", Int) = 0 + [HideInInspector]_ModelAngleMaxAnimated ("Model Angle Max", Int) = 0 + [HideInInspector]_AngleMinAlphaAnimated ("Min Alpha", Int) = 0 + + // UV Distortion + [HideInInspector]_EnableDistortionAnimated ("Enabled?", Int) = 0 + [HideInInspector]_DistortionMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DistortionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DistortionMaskUVAnimated ("Distortion Mask UV", Int) = 0 + [HideInInspector]_DistortionFlowTextureAnimated ("Distortion Texture 1", Int) = 0 + [HideInInspector]_DistortionFlowTexture1Animated ("Distortion Texture 2", Int) = 0 + [HideInInspector]_DistortionStrengthAnimated ("Strength1", Int) = 0 + [HideInInspector]_DistortionStrength1Animated ("Strength2", Int) = 0 + [HideInInspector]_DistortionSpeedAnimated ("Speed1", Int) = 0 + [HideInInspector]_DistortionSpeed1Animated ("Speed2", Int) = 0 + + // Video Options + [HideInInspector]_EnableVideoAnimated ("Enable Video", Int) = 0 + [HideInInspector]_VideoUVNumberAnimated ("Screen UV#", Int) = 0 + [HideInInspector]_VideoTypeAnimated ("Screen Type", Int) = 0 + [HideInInspector]_VideoBacklightAnimated ("Brightness", Int) = 0 + [HideInInspector]_VideoPixelTextureAnimated ("Pixel Texture", Int) = 0 + [HideInInspector]_VideoResolutionAnimated ("Resolution", Int) = 0 + [HideInInspector]_VideoMaskTextureAnimated ("Mask", Int) = 0 + [HideInInspector]_VideoMaskPanningAnimated ("Mask Pan Speed", Int) = 0 + [HideInInspector]_VideoEnableVideoPlayerAnimated ("Enable Video Player", Int) = 0 + [HideInInspector]_VideoPixelateToResolutionAnimated ("Pixelate To Resolution", Int) = 0 + [HideInInspector]_VideoRepeatVideoTextureAnimated ("Clamp To UV", Int) = 0 + [HideInInspector]_VideoPanningAnimated ("Panning Speed", Int) = 0 + [HideInInspector]_VideoTilingAnimated ("Tiling", Int) = 0 + [HideInInspector]_VideoOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_VideoSaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_VideoContrastAnimated ("Contrast boost", Int) = 0 + [HideInInspector]_VideoEnableDebugAnimated ("Enable Debug", Int) = 0 + [HideInInspector]_VideoDebugTextureAnimated ("Video Debug Tex", Int) = 0 + [HideInInspector]_VideoCRTRefreshRateAnimated ("Refresh Rate", Int) = 0 + [HideInInspector]_VideoCRTPixelEnergizedTimeAnimated ("Pixel Fade Time", Int) = 0 + [HideInInspector]_VideoGameboyRampAnimated ("Color Ramp", Int) = 0 + + // TouchFX + [HideInInspector]_EnableBulgeAnimated ("Bulge", Int) = 0 + [HideInInspector]_BulgeMaskAnimated ("Bulge Mask", Int) = 0 + [HideInInspector]_BuldgeFadeLengthAnimated ("Touch Distance", Int) = 0 + [HideInInspector]_BuldgeHeightAnimated ("Bulge Height", Int) = 0 + + [HideInInspector]_EnableTouchGlowAnimated ("Enable Touch Glow", Int) = 0 + [HideInInspector]_DepthGradientTextureUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientBlendAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientPanAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientUVAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskPanAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGlowColorAnimated ("Depth Glow Color", Int) = 0 + [HideInInspector]_DepthGradientAnimated ("Depth Gradient", Int) = 0 + [HideInInspector]_DepthMaskAnimated ("Depth Mask", Int) = 0 + [HideInInspector]_DepthGlowEmissionAnimated ("Depth Glow Emission", Int) = 0 + [HideInInspector]_FadeLengthAnimated ("Fade Length", Int) = 0 + [HideInInspector]_DepthAlphaMinAnimated ("Alpha Min", Int) = 0 + [HideInInspector]_DepthAlphaMaxAnimated ("Alpha Max", Int) = 0 + + // Hologram + [HideInInspector]_EnableHoloAnimated ("Enable Hologram Alpha", Int) = 0 + [HideInInspector]_HoloAlphaMapAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_HoloCoordinateSpaceAnimated ("Coordinate Space", Int) = 0 + [HideInInspector]_HoloDirectionAnimated ("Scroll Direction", Int) = 0 + [HideInInspector]_HoloLineDensityAnimated ("Line Density", Int) = 0 + [HideInInspector]_HoloScrollSpeedAnimated ("Scroll Speed", Int) = 0 + [HideInInspector]_HoloFresnelAlphaAnimated ("Intensity", Int) = 0 + [HideInInspector]_HoloRimSharpnessAnimated ("Sharpness", Int) = 0 + [HideInInspector]_HoloRimWidthAnimated ("Width", Int) = 0 + + // GrabPass + [HideInInspector]_GrabPassUseAlphaAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabPassBlendFactorAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabSrcBlendAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabDstBlendAnimated ("Destination Blend", Int) = 0 + [HideInInspector]_RefractionEnabledAnimated ("Enable Refraction,", Int) = 0 + [HideInInspector]_RefractionIndexAnimated ("Refraction", Int) = 0 + [HideInInspector]_RefractionChromaticAberattionAnimated ("Chromatic Aberration", Int) = 0 + [HideInInspector]_EnableBlurAnimated ("Enable Blur", Int) = 0 + [HideInInspector]_GrabBlurDistanceAnimated ("Blur Distance", Int) = 0 + [HideInInspector]_GrabBlurQualityAnimated ("Blur Quality", Int) = 0 + [HideInInspector]_GrabBlurDirectionsAnimated ("Blur Direction", Int) = 0 + + // Iridescence + [HideInInspector]_EnableIridescenceAnimated ("Enable Iridescence", Int) = 0 + [HideInInspector]_IridescenceRampAnimated ("Ramp", Int) = 0 + [HideInInspector]_IridescenceNormalToggleAnimated ("Custom Normals?", Int) = 0 + [HideInInspector]_IridescenceNormalMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_IridescenceMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_IridescenceNormalIntensityAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_IridescenceNormalUVAnimated ("Normal UV", Int) = 0 + [HideInInspector]_IridescenceMaskUVAnimated ("Mask UV", Int) = 0 + [HideInInspector]_IridescenceNormalSelectionAnimated ("Normal Select", Int) = 0 + [HideInInspector]_IridescenceIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_IridescenceAddBlendAnimated ("Blend Add", Int) = 0 + [HideInInspector]_IridescenceReplaceBlendAnimated ("Blend Replace", Int) = 0 + [HideInInspector]_IridescenceMultiplyBlendAnimated ("Blend Multiply", Int) = 0 + [HideInInspector]_IridescenceEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_IridescenceTimeAnimated ("When To Run", Int) = 0 + + // Vertex Glitching + [HideInInspector]_EnableVertexGlitchAnimated ("Enable Vertex Glitching", Int) = 0 + [HideInInspector]_VertexGlitchFrequencyAnimated ("Glitch Interval", Int) = 0 + [HideInInspector]_VertexGlitchThresholdAnimated ("Glitch Threshold", Int) = 0 + [HideInInspector]_VertexGlitchStrengthAnimated ("Glitch Strength", Int) = 0 + + // Spawn In Effects + [HideInInspector]_EnableScifiSpawnInAnimated ("Enable Sci Fi Spawn", Int) = 0 + [HideInInspector]_SpawnInNoiseAnimated ("Spawn Noise", Int) = 0 + [HideInInspector]_SpawnInNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_SpawnInAlphaAnimated ("Spawn Alpha", Int) = 0 + [HideInInspector]_SpawnInGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_SpawnInGradientFinishAnimated ("Gradient End", Int) = 0 + [HideInInspector]_SpawnInEmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_SpawnInEmissionOffsetAnimated ("Emission Width", Int) = 0 + [HideInInspector]_SpawnInVertOffsetAnimated ("Vertex Offset Speed", Int) = 0 + [HideInInspector]_SpawnInVertOffsetOffsetAnimated ("vert width", Int) = 0 + + // Voronoi + [HideInInspector]_VoronoiTypeAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiSpaceAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiBlendAnimated ("Blend", Int) = 0 + [HideInInspector]_EnableVoronoiAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiEffectsMaterialAlphaAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_VoronoiMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseAnimated ("Edge Noise", Int) = 0 + [HideInInspector]_VoronoiNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_VoronoiColor0Animated ("Color 0", Int) = 0 + [HideInInspector]_VoronoiEmission0Animated ("Emission 0", Int) = 0 + [HideInInspector]_VoronoiColor1Animated ("Color 1", Int) = 0 + [HideInInspector]_VoronoiEmission1Animated ("Emission 1", Int) = 0 + [HideInInspector]_VoronoiGradientAnimated ("Gradient", Int) = 0 + [HideInInspector]_VoronoiScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_VoronoiSpeedAnimated ("Speed", Int) = 0 + [HideInInspector]_VoronoiEnableRandomCellColorAnimated ("Rando Cell Col", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + + // Blacklight mask + [HideInInspector]_BlackLightMaskEnabledAnimated ("Black Light Mask Enabled", Int) = 0 + [HideInInspector]_BlackLightMaskKeysAnimated ("Mask Keys", Int) = 0 + [HideInInspector]_BlackLightMaskStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_BlackLightMaskEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_BlackLightMaskDebugAnimated ("Visualize", Int) = 0 + [HideInInspector]_BlackLightMaskMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_BlackLightMaskClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_BlackLightMaskMatcapAnimated ("Matcap 1", Int) = 0 + [HideInInspector]_BlackLightMaskMatcap2Animated ("Matcap 2", Int) = 0 + [HideInInspector]_BlackLightMaskEmissionAnimated ("Emission 1", Int) = 0 + [HideInInspector]_BlackLightMaskEmission2Animated ("Emission 2", Int) = 0 + [HideInInspector]_BlackLightMaskFlipbookAnimated ("Flipbook", Int) = 0 + [HideInInspector]_BlackLightMaskDissolveAnimated ("Dissolve", Int) = 0 + [HideInInspector]_BlackLightMaskPanosphereAnimated ("Panosphere", Int) = 0 + [HideInInspector]_BlackLightMaskGlitterAnimated ("Glitter", Int) = 0 + [HideInInspector]_BlackLightMaskIridescenceAnimated ("Iridescence", Int) = 0 + + // Outline Options + [HideInInspector]_OutlineModeAnimated ("Mode", Int) = 0 + [HideInInspector]_OutlineFixedSizeAnimated ("Fixed Size?", Int) = 0 + [HideInInspector]_OutlineUseVertexColorsAnimated ("V Color", Int) = 0 + [HideInInspector]_OutlineLitAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LineWidthAnimated ("Width", Int) = 0 + [HideInInspector]_LineColorAnimated ("Color", Int) = 0 + [HideInInspector]_OutlineTintMixAnimated ("Tint Mix", Int) = 0 + [HideInInspector]_OutlineEmissionAnimated ("Outline Emission", Int) = 0 + [HideInInspector]_OutlineTextureAnimated ("Outline Texture", Int) = 0 + [HideInInspector]_OutlineMaskAnimated ("Outline Mask", Int) = 0 + [HideInInspector]_OutlineTexturePanAnimated ("Outline Texture Pan", Int) = 0 + [HideInInspector]_OutlineShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_OutlineRimLightBlendAnimated ("Rim Light Blend", Int) = 0 + [HideInInspector]_OutlinePersonaDirectionAnimated ("directional Offset XY", Int) = 0 + [HideInInspector]_OutlineDropShadowOffsetAnimated ("Drop Direction XY", Int) = 0 + [HideInInspector]_OutlineFadeDistanceAnimated ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetFactor ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetUnits ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineCullAnimated ("Cull", Int) = 0 + + // Parallax Mapping + [HideInInspector]_ParallaxMapAnimated ("Enable Parallax FX", Int) = 0 + [HideInInspector]_ParallaxHeightMapEnabledAnimated ("Enable Parallax Height", Int) = 0 + [HideInInspector]_ParallaxInternalMapEnabledAnimated ("Enable Parallax Internal", Int) = 0 + [HideInInspector]_ParallaxHeightMapPanAnimated ("Pan", Int) = 0 + [HideInInspector]_ParallaxUVAnimated ("Parallax UV", Int) = 0 + [HideInInspector]_ParallaxHeightMapAnimated ("Height Map", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxStrengthAnimated ("Parallax Strength", Int) = 0 + [HideInInspector]_ParallaxInternalHeightmapModeAnimated ("Parallax Mode", Int) = 0 + [HideInInspector]_ParallaxInternalHeightFromAlphaAnimated ("HeightFromAlpha", Int) = 0 + [HideInInspector]_ParallaxInternalMapAnimated ("Internal Map", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxInternalIterationsAnimated ("Parallax Internal Iterations", Int) = 0 + [HideInInspector]_ParallaxInternalMinDepthAnimated ("Min Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMaxDepthAnimated ("Max Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMinFadeAnimated ("Min Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMaxFadeAnimated ("Max Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMinColorAnimated ("Min Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalMaxColorAnimated ("Max Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalPanSpeedAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_ParallaxInternalPanDepthSpeedAnimated ("Per Level Speed Multiplier", Int) = 0 + [HideInInspector]_ParallaxBiasAnimated ("Parallax Bias (0.42)", Int) = 0 + + // Rendering Options + [HideInInspector]_CullAnimated ("Cull", Int) = 0 + [HideInInspector]_ZTestAnimated ("ZTest", Int) = 0 + [HideInInspector]_ZWriteAnimated ("ZWrite", Int) = 0 + [HideInInspector]_ColorMaskAnimated ("Color Mask", Int) = 0 + [HideInInspector]_OffsetFactorAnimated ("Offset Factor", Int) = 0 + [HideInInspector]_OffsetUnitsAnimated ("Offset Units", Int) = 0 + [HideInInspector]_IgnoreFogAnimated ("Ignore Fog", Int) = 0 + + // Blending Options + [HideInInspector]_BlendOpAnimated ("RGB Blend Op", Int) = 0 + [HideInInspector]_BlendOpAlphaAnimated ("Alpha Blend Op", Int) = 0 + [HideInInspector]_SrcBlendAnimated ("RGB Source Blend", Int) = 0 + [HideInInspector]_DstBlendAnimated ("RGB Destination Blend", Int) = 0 + + // Stencils + [HideInInspector]_StencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_StencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_StencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_StencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_StencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_StencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_StencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Outline Stencil + [HideInInspector]_OutlineStencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_OutlineStencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_OutlineStencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_OutlineStencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_OutlineStencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_OutlineStencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_OutlineStencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Debug Options + [HideInInspector]_VertexUnwrapAnimated ("Unwrap", Range(0, 1)) = 0 + [HideInInspector]_DebugMeshDataAnimated ("Mesh Data", Int) = 0 + [HideInInspector]_DebugLightingDataAnimated ("Lighting Data", Int) = 0 + [HideInInspector]_DebugCameraDataAnimated ("Camera Data", Int) = 0 + } + + + //originalEditorCustomEditor "PoiToon" + CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "Opaque" "Queue" = "Geometry" } + +// //EnableOutlinePass +// Pass +// { +// Name "Outline" +// Tags { "LightMode" = "ForwardBase" } +// Stencil +// { +// Ref [_OutlineStencilRef] +// ReadMask [_OutlineStencilReadMask] +// WriteMask [_OutlineStencilWriteMask] +// Comp [_OutlineStencilCompareFunction] +// Pass [_OutlineStencilPassOp] +// Fail [_OutlineStencilFailOp] +// ZFail [_OutlineStencilZFailOp] +// } +// ZTest [_ZTest] +// ColorMask [_ColorMask] +// Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits] +// BlendOp [_BlendOp], [_BlendOpAlpha] +// Blend [_SrcBlend] [_DstBlend] +// ZWrite [_ZWrite] +// AlphaToMask [_AlphaToMask] +// Cull [_OutlineCull] +// CGPROGRAM +// +// #pragma target 5.0 +// #define FORWARD_BASE_PASS +// #define OUTLINE +// float _Mode; +// // patreon Additive +// // Black Light Mask +//// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF +// // voronoi +//// #pragma shader_feature CHROMATIC_ABERRATION +// // UV Distortion +//// #pragma shader_feature USER_LUT +// // Vertex Offsets +//// #pragma shader_feature AUTO_EXPOSURE +// // Mirror +//// #pragma shader_feature _REQUIRE_UV2 +// // Random +//// #pragma shader_feature _SUNDISK_NONE +// // Dissolve +//// #pragma shader_feature DISTORT +// // Lighting +//// #pragma shader_feature VIGNETTE_MASKED +// #pragma multi_compile_fwdbase +// #pragma fragmentoption ARB_precision_hint_fastest +// #pragma multi_compile_fog +// #pragma multi_compile_instancing +// #pragma vertex vert +// #pragma fragment frag +// #include "../Includes/CGI_PoiPassOutline.cginc" +// ENDCG +// +// } + //EnableOutlinePass + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + + ZWrite [_ZWrite] + Cull [_Cull] + AlphaToMask [_AlphaToMask] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend] + + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_BASE_PASS + float _Mode; + // Base Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + #pragma multi_compile _ VERTEXLIGHT_ON + // patreon Base + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Grab Pass Blur +// #pragma shader_feature CHROMATIC_ABERRATION_LOW + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Touch Color +// #pragma shader_feature GRAIN + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma multi_compile_instancing + #pragma multi_compile_fwdbase + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile_fog + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + + //LightingAdditiveEnable + Pass + { + Name "ForwardAddPass" + Tags { "LightMode" = "ForwardAdd" } + + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend One One + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_ADD_PASS + float _Mode; + // Add Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + // patreon Additive + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW +// #pragma shader_feature _PARALLAX_MAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Disable Directionals +// #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + + #pragma multi_compile_instancing + #pragma multi_compile_fwdadd_fullshadows + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + //LightingAdditiveEnable + + //LightingCastShadows + Pass + { + Name "ShadowCasterPass" + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + AlphaToMask Off + ZWrite [_ZWrite] + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_SHADOW + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Dissolve +// #pragma shader_feature DISTORT + #pragma multi_compile_instancing + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + #include "../Includes/CGI_PoiPassShadow.cginc" + ENDCG + + } + //LightingCastShadows + + Pass + { + Tags { "LightMode" = "Meta" } + Cull Off + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_META_PASS + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta new file mode 100644 index 00000000..7ddf5637 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Costume02_08-930551b9/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cd30bc36f60ceef4e95d8c7496886b6f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269.meta new file mode 100644 index 00000000..1c2a9726 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 082d3d3110f654d4e87611a6d9600363 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets.meta new file mode 100644 index 00000000..c4c223a5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 612fa8cbc5c75f2478903d9fe19e36ba +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources.meta new file mode 100644 index 00000000..5eb0ae7b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c304457926b600b4cbc7f22b3f81de9e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi.meta new file mode 100644 index 00000000..0d684aa1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a9ff61d19eb32dd4caaec763540afda8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders.meta new file mode 100644 index 00000000..16e3626b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 34c8304f3ac7ca843aa552ea7140bf95 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon.meta new file mode 100644 index 00000000..a944fbe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 990adb9b1bd62e6439d01f18d386ae1e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta new file mode 100644 index 00000000..f66e8ae8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: fe2160a2849ff494c83e141678694835 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc new file mode 100644 index 00000000..9b2e74f4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc @@ -0,0 +1,32 @@ +#ifndef POI_ALPHA_TO_COVERAGE + #define POI_ALPHA_TO_COVERAGE + + half _MainMipScale; + float _MainAlphaToCoverage; + + float CalcMipLevel(float2 texture_coord) + { + float2 dx = ddx(texture_coord); + float2 dy = ddy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + + return 0.5 * log2(delta_max_sqr); + } + + void ApplyAlphaToCoverage(inout float4 finalColor) + { + // Force Model Opacity to 1 if desired + + if (float(0) == 1) + { + + if(float(0)) + { + // rescale alpha by mip level + finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.03125,0.015625,32,64).zw)) * float(0.25); + // rescale alpha by partial derivative + finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta new file mode 100644 index 00000000..7e25036b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3f3f44fe16e4b964980d4fb37dcb3561 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc new file mode 100644 index 00000000..e529136f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc @@ -0,0 +1,32 @@ +#ifndef POI_BACKFACE + #define POI_BACKFACE + + float _BackFaceEnabled; + float _BackFaceTextureUV; + float _BackFaceDetailIntensity; + float _BackFaceEmissionStrength; + float2 _BackFacePanning; + float _BackFaceHueShift; + float4 _BackFaceColor; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST; + + float3 BackFaceColor; + void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission) + { + backFaceEmission = 0; + BackFaceColor = 0; + + if (float(0)) + { + if(!poiMesh.isFrontFace) + { + albedo = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + backFaceDetailIntensity = float(1); + BackFaceColor = albedo.rgb; + mixedHueShift = float(0); + backFaceEmission = BackFaceColor * float(0); + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta new file mode 100644 index 00000000..72101cf8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6dbbef2e417667244bc4341c4a75b4a8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc new file mode 100644 index 00000000..750364ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc @@ -0,0 +1,54 @@ +#ifndef POI_BLACKLIGHT + #define POI_BLACKLIGHT + + float4 _BlackLightMaskStart; + float4 _BlackLightMaskEnd; + float4 _BlackLightMaskKeys; + float _BlackLightMaskDebug; + float _BlackLightMaskDissolve; + float _BlackLightMaskMetallic; + float _BlackLightMaskClearCoat; + float _BlackLightMaskMatcap; + float _BlackLightMaskMatcap2; + float _BlackLightMaskEmission; + float _BlackLightMaskEmission2; + float _BlackLightMaskFlipbook; + float _BlackLightMaskPanosphere; + float _BlackLightMaskIridescence; + + half _BlackLightMaskGlitter; + + half4 blackLightMask; + + void createBlackLightMask() + { + blackLightMask = 0; + #ifdef VERTEXLIGHT_ON + + for (int lightIndex = 0; lightIndex < 4; lightIndex ++) + { + float3 lightPos = float3(unity_4LightPosX0[lightIndex], unity_4LightPosY0[lightIndex], unity_4LightPosZ0[lightIndex]); + if (!distance(unity_LightColor[lightIndex].rgb, float3(0, 0, 0))) + { + for (int maskIndex = 0; maskIndex < 4; maskIndex ++) + { + float4 comparison = _BlackLightMaskKeys; + if(unity_LightColor[lightIndex].a == comparison[maskIndex]) + { + blackLightMask[maskIndex] = max(blackLightMask[maskIndex], smoothstep(_BlackLightMaskEnd[maskIndex], _BlackLightMaskStart[maskIndex], distance(poiMesh.worldPos, lightPos))); + } + } + } + } + #endif + } +#endif + +/* +#ifdef POI_BLACKLIGHT + if (_BlackLightMaskDissolve != 4) + { + blackLightMask[mask]; + } +#endif +*/ diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta new file mode 100644 index 00000000..1b6c07b9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a629f99038124bf408dd4e0be59baed3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc new file mode 100644 index 00000000..f87ae6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc @@ -0,0 +1,39 @@ +#ifndef POI_BLENDING + #define POI_BLENDING + + /* + 0: Zero float4(0.0, 0.0, 0.0, 0.0), + 1: One float4(1.0, 1.0, 1.0, 1.0), + 2: DstColor destinationColor, + 3: SrcColor sourceColor, + 4: OneMinusDstColor float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + 5: SrcAlpha sourceColor.aaaa, + 6: OneMinusSrcColor float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + 7: DstAlpha destinationColor.aaaa, + 8: OneMinusDstAlpha float4(1.0, 1.0, 1.0, 1.0) - destinationColor., + 9: SrcAlphaSaturate saturate(sourceColor.aaaa), + 10: OneMinusSrcAlpha float4(1.0, 1.0, 1.0, 1.0) - sourceColor.aaaa, + */ + + float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor) + { + float4 sA = 1-blendFactor; + const float4 blendData[11] = { + float4(0.0, 0.0, 0.0, 0.0), + float4(1.0, 1.0, 1.0, 1.0), + destinationColor, + sourceColor, + float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sA, + saturate(sourceColor.aaaa), + 1 - sA, + }; + + return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor,sourceColor, sA); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta new file mode 100644 index 00000000..7977fbd3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6c0b390f1299fba4c921ee46ca8d2440 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc new file mode 100644 index 00000000..6e4db3fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc @@ -0,0 +1,34 @@ +#ifndef POI_BULGE + #define POI_BULGE + + + sampler2D _BulgeMask; + float _BuldgeFadeLength; + float _BuldgeHeight; + + void bulgyWolgy(inout v2f o) + { + float depth = DecodeFloatRG(tex2Dlod(_CameraDepthTexture, float4(o.grabPos.xy / o.grabPos.w, 0, 0))); + float bulgeMask = tex2Dlod(_BulgeMask, float4(o.uv0.xy, 0, 0)); + depth = Linear01Depth(depth); + + float intersect = 0; + if (depth != 1) + { + float diff = distance(depth, Linear01Depth(o.pos.z / o.pos.w)); + if(diff > 0) + { + intersect = 1 - smoothstep(0, _ProjectionParams.w * _BuldgeFadeLength, diff); + } + } + float4 offset = intersect * _BuldgeHeight * float4(o.normal, 0); + + offset = IsInMirror() ? 0: offset; + offset *= bulgeMask; + + o.worldPos = mul(unity_ObjectToWorld, o.localPos) + offset; + o.localPos = mul(unity_WorldToObject, o.worldPos); + o.pos = UnityObjectToClipPos(o.localPos); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta new file mode 100644 index 00000000..8f45e90b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8825d91e2fa2b0045aa9f74c2b31af3f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc new file mode 100644 index 00000000..5adf7340 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc @@ -0,0 +1,108 @@ +#ifndef POI_CLEARCOAT + #define POI_CLEARCOAT + + samplerCUBE _ClearCoatCubeMap; + float _ClearCoatSampleWorld; + POI_TEXTURE_NOSAMPLER(_ClearCoatMask); + POI_TEXTURE_NOSAMPLER(_ClearCoatSmoothnessMap); + float _ClearCoatInvertSmoothness; + float _ClearCoat; + float _ClearCoatSmoothness; + float3 _ClearCoatTint; + float _ClearCoatNormalToUse; + float _ClearCoatForceLighting; + float lighty_clear_boy_uwu_var; + + + float3 CalculateClearCoatEnvironmentalReflections() + { + float3 reflectionColor; + + float smoothnessMap = (POI2D_SAMPLER_PAN(_ClearCoatSmoothnessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + if (float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + float roughness = 1 - smoothnessMap; + + lighty_clear_boy_uwu_var = 0; + + float3 reflectedDir = float(0) == 0 ? poiCam.vertexReflectionDir: poiCam.reflectionDir; + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + + + if(float(0) == 0 && no_probe == 0) + { + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflectionColor = lerp(probe1, probe0, interpolator); + } + else + { + reflectionColor = probe0; + } + } + else + { + lighty_clear_boy_uwu_var = 1; + reflectionColor = texCUBElod(_ClearCoatCubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + if(float(0)) + { + lighty_clear_boy_uwu_var = 1; + } + + return reflectionColor * float4(1,1,1,1); + } + + void calculateAndApplyClearCoat(inout float4 finalColor) + { + half clearCoatMap = POI2D_SAMPLER_PAN(_ClearCoatMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskClearCoat != 4) + { + clearCoatMap *= blackLightMask[_BlackLightMaskClearCoat]; + } + #endif + + half3 reflectionColor = CalculateClearCoatEnvironmentalReflections(); + + float NormalDotView = abs(dot(float(1), float(0) == 0 ? poiLight.N0DotV: poiLight.nDotV).r); + #ifdef POI_LIGHTING + finalColor.rgb = lerp(finalColor.rgb, reflectionColor * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var), clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + //finalColor.rgb += reflectionColor; + //finalColor.rgb = finalColor.rgb * (1- (reflectionColor.r + reflectionColor.g + reflectionColor.b)/3) + reflectionColor * clearCoatMap * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var); + #else + finalColor.rgb = lerp(finalColor.rgb, reflectionColor, clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta new file mode 100644 index 00000000..a16bc327 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 40c16f7267702284f80e2f483a81516c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc new file mode 100644 index 00000000..687dc443 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc @@ -0,0 +1,262 @@ +#ifndef POI_COLOR + #define POI_COLOR + + #ifndef pi + #define pi float(3.14159265359) + #endif + + static const float Epsilon = 1e-10; + // The weights of RGB contributions to luminance. + // Should sum to unity. + static const float3 HCYwts = float3(0.299, 0.587, 0.114); + static const float HCLgamma = 3; + static const float HCLy0 = 100; + static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5 + static const float3 wref = float3(1.0, 1.0, 1.0); + #define TAU 6.28318531 + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 RGBtoHCV(in float3 RGB) + { + // Based on work by Sam Hocevar and Emil Persson + float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0); + float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx); + float C = Q.x - min(Q.w, Q.y); + float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z); + return float3(H, C, Q.x); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float3 RGBtoHSV(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float S = HCV.y / (HCV.z + Epsilon); + return float3(HCV.x, S, HCV.z); + } + + float3 HSLtoRGB(in float3 HSL) + { + float3 RGB = HUEtoRGB(HSL.x); + float C = (1 - abs(2 * HSL.z - 1)) * HSL.y; + return(RGB - 0.5) * C + HSL.z; + } + + float3 RGBtoHSL(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float L = HCV.z - HCV.y * 0.5; + float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon); + return float3(HCV.x, S, L); + } + + float3 HCYtoRGB(in float3 HCY) + { + + + float3 RGB = HUEtoRGB(HCY.x); + float Z = dot(RGB, HCYwts); + if (HCY.z < Z) + { + HCY.y *= HCY.z / Z; + } + else if(Z < 1) + { + HCY.y *= (1 - HCY.z) / (1 - Z); + } + return(RGB - Z) * HCY.y + HCY.z; + } + + float3 RGBtoHCY(in float3 RGB) + { + // Corrected by David Schaeffer + float3 HCV = RGBtoHCV(RGB); + float Y = dot(RGB, HCYwts); + float Z = dot(HUEtoRGB(HCV.x), HCYwts); + if (Y < Z) + { + HCV.y *= Z / (Epsilon + Y); + } + else + { + HCV.y *= (1 - Z) / (Epsilon + 1 - Y); + } + return float3(HCV.x, HCV.y, Y); + } + + float3 HCLtoRGB(in float3 HCL) + { + float3 RGB = 0; + if(HCL.z != 0) + { + float H = HCL.x; + float C = HCL.y; + float L = HCL.z * HCLmaxL; + float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0)); + float U = (2 * L - C) / (2 * Q - 1); + float V = C / Q; + float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2; + float T; + H *= 6; + if(H <= 0.999) + { + T = tan(A); + RGB.r = 1; + RGB.g = T / (1 + T); + } + else if(H <= 1.001) + { + RGB.r = 1; + RGB.g = 1; + } + else if(H <= 2) + { + T = tan(A); + RGB.r = (1 + T) / T; + RGB.g = 1; + } + else if(H <= 3) + { + T = tan(A); + RGB.g = 1; + RGB.b = 1 + T; + } + else if(H <= 3.999) + { + T = tan(A); + RGB.g = 1 / (1 + T); + RGB.b = 1; + } + else if(H <= 4.001) + { + RGB.g = 0; + RGB.b = 1; + } + else if(H <= 5) + { + T = tan(A); + RGB.r = -1 / T; + RGB.b = 1; + } + else + { + T = tan(A); + RGB.r = 1; + RGB.b = -T; + } + RGB = RGB * V + U; + } + return RGB; + } + + float3 RGBtoHCL(in float3 RGB) + { + float3 HCL; + float H = 0; + float U = min(RGB.r, min(RGB.g, RGB.b)); + float V = max(RGB.r, max(RGB.g, RGB.b)); + float Q = HCLgamma / HCLy0; + HCL.y = V - U; + if(HCL.y != 0) + { + H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi; + Q *= U / V; + } + Q = exp(Q); + HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6); + HCL.y *= Q; + HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2); + return HCL; + } + + //HSL MODIFT + float3 ModifyViaHSL(float3 color, float3 HSLMod) + { + float3 colorHSL = RGBtoHSL(color); + colorHSL.r = frac(colorHSL.r + HSLMod.r); + colorHSL.g = saturate(colorHSL.g + HSLMod.g); + colorHSL.b = saturate(colorHSL.b + HSLMod.b); + return HSLtoRGB(colorHSL); + } + + float3 hueShift(float3 col, float hueAdjust) + { + hueAdjust *= 2 * pi; + const float3 k = float3(0.57735, 0.57735, 0.57735); + half cosAngle = cos(hueAdjust); + return col * cosAngle + cross(k, col) * sin(hueAdjust) + k * dot(k, col) * (1.0 - cosAngle); + } + + float3 poiSaturation(float3 In, float Saturation) + { + float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750)); + return luma.xxx + Saturation.xxx * (In - luma.xxx); + } + // LCH + float xyzF(float t) + { + return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645)); + } + float xyzR(float t) + { + return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655)); + } + float3 rgb2lch(in float3 c) + { + c = mul(float3x3(0.4124, 0.3576, 0.1805, + 0.2126, 0.7152, 0.0722, + 0.0193, 0.1192, 0.9505), c); + c.x = xyzF(c.x / wref.x); + c.y = xyzF(c.y / wref.y); + c.z = xyzF(c.z / wref.z); + float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z)); + return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y)); + } + + float3 lch2rgb(in float3 c) + { + c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y); + + float lg = 1. / 116. * (c.x + 16.); + float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y), + wref.y * xyzR(lg), + wref.z * xyzR(lg - 0.005 * c.z)); + + float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986, + - 0.9689, 1.8758, 0.0415, + 0.0557, -0.2040, 1.0570), xyz); + + return rgb; + } + + //cheaply lerp around a circle + float lerpAng(in float a, in float b, in float x) + { + float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi; + return ang * x + b; + } + + //Linear interpolation between two colors in Lch space + float3 lerpLch(in float3 a, in float3 b, in float x) + { + float hue = lerpAng(a.z, b.z, x); + return float3(lerp(b.xy, a.xy, x), hue); + } + + float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha) + { + return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha)); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta new file mode 100644 index 00000000..f8283079 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: eb88ab2e7cf4fc149a43f7d9c113af89 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc new file mode 100644 index 00000000..cd354f85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc @@ -0,0 +1,249 @@ +#ifndef POI_DATA + #define POI_DATA + + float _ParallaxBias; + float _LightingAdditiveLimitIntensity; + float _LightingAdditiveMaxIntensity; + POI_TEXTURE_NOSAMPLER(_BumpMap); + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailMask); + POI_TEXTURE_NOSAMPLER(_DetailNormalMap); + float _DetailNormalMapScale; + #endif + float _BumpScale; + + void calculateAttenuation(v2f i) + { + #ifdef FORWARD_ADD_PASS + #if defined(POINT) || defined(SPOT) + POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz) + poiLight.additiveShadow = shadow; + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + poiLight.additiveShadow == 0; + #endif + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + // fix for rare bug where light atten is 0 when there is no directional light in the scene + #ifdef FORWARD_BASE_PASS + if (all(_LightColor0.rgb == 0.0)) + { + attenuation = 1.0; + } + #endif + #endif + poiLight.attenuation = attenuation; + } + + void calculateVertexLightingData(in v2f i) + { + #ifdef VERTEXLIGHT_ON + float4 toLightX = unity_4LightPosX0 - i.worldPos.x; + float4 toLightY = unity_4LightPosY0 - i.worldPos.y; + float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z; + float4 lengthSq = 0; + lengthSq += toLightX * toLightX; + lengthSq += toLightY * toLightY; + lengthSq += toLightZ * toLightZ; + + float4 lightAttenSq = unity_4LightAtten0; + float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq); + float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25)); + poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight); + + poiLight.vDotNL = 0; + poiLight.vDotNL += toLightX * poiMesh.normals[1].x; + poiLight.vDotNL += toLightY * poiMesh.normals[1].y; + poiLight.vDotNL += toLightZ * poiMesh.normals[1].z; + + float4 corr = rsqrt(lengthSq); + poiLight.vDotNL = max(0, poiLight.vDotNL * corr); + poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL; + + for (int index = 0; index < 4; index ++) + { + poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]); + + float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos; + poiLight.vDirection[index] = normalize(vertexToLightSource); + //poiLight.vAttenuationDotNL[index] = 1.0 / (1.0 + unity_4LightAtten0[index] * poiLight.vDotNL[index]); + poiLight.vColor[index] = unity_LightColor[index].rgb; + + if (float(0) == 1) + { + float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b)); + poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1))); + } + poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir); + poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]); + poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1); + + #ifdef POI_VAR_DOTLH + poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index])); + #endif + + #ifdef POI_VAR_DOTNH + poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index])); + #endif + } + #endif + } + + void calculateLightingData(in v2f i) + { + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb; + poiLight.color = magic + normalLight; + #else + #ifdef FORWARD_ADD_PASS + poiLight.color = _LightColor0.rgb; + + + if (float(0) == 1) + { + float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b)); + poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1))); + } + #endif + #endif + + #ifdef FORWARD_BASE_PASS + poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + #else + #if defined(POINT) || defined(SPOT) + poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #else + poiLight.direction = _WorldSpaceLightPos0; + #endif + #endif + + poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); + + #ifdef POI_VAR_DOTNH + poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir)); + #endif + + #ifdef POI_VAR_DOTLH + poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir)); + #endif + + poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir); + poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir); + poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); + poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); + poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); + poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); + } + + float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) + { + return cross(normal, tangent.xyz) * (binormalSign * unity_WorldTransformParams.w); + } + + void InitializeMeshData(inout v2f i, uint facing) + { + poiMesh.isFrontFace = facing; + poiMesh.normals[0] = normalize(i.normal); + poiMesh.binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + poiMesh.tangent = i.tangent.xyz; + + #ifndef OUTLINE + if(!poiMesh.isFrontFace) + { + poiMesh.normals[0] *= -1; + poiMesh.tangent *= -1; + poiMesh.binormal *= -1; + } + #endif + + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + poiMesh.barycentricCoordinates = i.barycentricCoordinates; + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + #ifdef POI_UV_DISTORTION + poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy); + #else + poiMesh.uv[4] = poiMesh.uv[0]; + #endif + + poiMesh.vertexColor = i.vertexColor; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + poiMesh.lightmapUV = i.lightmapUV; + #endif + poiMesh.modelPos = i.modelPos; + + #ifdef FUR + poiMesh.furAlpha = i.furAlpha; + #endif + } + + void initializeCamera(v2f i) + { + poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); + poiCam.forwardDir = getCameraForward(); + poiCam.worldPos = _WorldSpaceCameraPos; + poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos); + poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); + poiCam.grabPos = i.grabPos; + poiCam.screenUV = calcScreenUVs(i.grabPos); + poiCam.clipPos = i.pos; + #if defined(GRAIN) + poiCam.worldDirection = i.worldDirection; + #endif + + poiCam.tangentViewDir = normalize(i.tangentViewDir); + poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42)); + } + + void calculateTangentData() + { + poiTData.tangentTransform = float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0]); + poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0])); + } + + void CalculateReflectionData() + { + #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON) + poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); + poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); + #endif + } + + void calculateNormals(inout half3 detailMask) + { + half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + #ifdef FINALPASS + detailMask = POI2D_SAMPLER_PAN(_DetailMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(1) > 0) + { + half3 detailNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_DetailNormalMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1) * detailMask.g); + poiMesh.tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + } + else + { + poiMesh.tangentSpaceNormal = mainNormal; + } + #else + poiMesh.tangentSpaceNormal = mainNormal; + #endif + + #ifdef POI_RGBMASK + calculateRGBNormals(poiMesh.tangentSpaceNormal); + #endif + + poiMesh.normals[1] = normalize( + poiMesh.tangentSpaceNormal.x * poiMesh.tangent + + poiMesh.tangentSpaceNormal.y * poiMesh.binormal + + poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] + ); + + poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1])); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta new file mode 100644 index 00000000..ee9c2c25 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 24c5f69f7f2b4e2439ac048678973cf3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc new file mode 100644 index 00000000..125d2cd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc @@ -0,0 +1,107 @@ +#ifndef POI_DEBUG + #define POI_DEBUG + + float _DebugEnabled; + float _DebugMeshData; + float _DebugLightingData; + float _DebugCameraData; + + void displayDebugInfo(inout float4 finalColor) + { + + if (float(0) != 0) + { + //Mesh Data + if (float(0) == 1) + { + finalColor.rgb = poiMesh.normals[0]; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiMesh.normals[1]; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiMesh.tangent; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiMesh.binormal; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiMesh.localPos; + return; + } + + #ifdef POI_LIGHTING + if(float(0) == 1) + { + finalColor.rgb = poiLight.attenuation; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiLight.directLighting; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiLight.indirectLighting; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiLight.lightMap; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiLight.rampedLightMap; + return; + } + else if(float(0) == 6) + { + finalColor.rgb = poiLight.finalLighting; + return; + } + else if(float(0) == 7) + { + finalColor.rgb = poiLight.nDotL; + return; + } + #endif + + if(float(0) == 1) + { + finalColor.rgb = poiCam.viewDir; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiCam.tangentViewDir; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiCam.forwardDir; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiCam.worldPos; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiCam.viewDotNormal; + return; + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta new file mode 100644 index 00000000..20fd8282 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f6cfc85b10c6d624c8023d725b7c8a1d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc new file mode 100644 index 00000000..280fcbc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc @@ -0,0 +1,58 @@ +#ifndef POI_DECAL + #define POI_DECAL + + POI_TEXTURE_NOSAMPLER(_DecalTexture); + POI_TEXTURE_NOSAMPLER(_DecalMask); + float4 _DecalColor; + fixed _DecalTiled; + fixed _DecalBlendAdd; + fixed _DecalBlendMultiply; + fixed _DecalBlendReplace; + half _DecalRotation; + half2 _DecalScale; + half2 _DecalPosition; + half _DecalRotationSpeed; + float _DecalEmissionStrength; + + void applyDecal(inout float4 albedo, inout float3 decalEmission) + { + float2 uv = poiMesh.uv[float(0)]; + float2 decalCenter = float4(0.5,0.5,0,0); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); + uv = remap(uv, float2(0, 0) - float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float2(0, 0), float2(1, 1)); + + half decalAlpha = 1; + //float2 uv = TRANSFORM_TEX(poiMesh.uv[float(0)], _DecalTexture) + _Time.x * float4(0,0,0,0); + float4 decalColor = POI2D_SAMPLER_PAN(_DecalTexture, _MainTex, uv, float4(0,0,0,0)) * float4(1,1,1,1); + decalAlpha *= POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if (!float(0)) + { + if(uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) + { + decalAlpha = 0; + } + } + + if(float(0)) + { + albedo.rgb = lerp(albedo.rgb, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb *= lerp(1, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb += decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + albedo = saturate(albedo); + decalEmission = decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta new file mode 100644 index 00000000..7c46245a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cf6b039cdfc6bf8448784e7055da9f43 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc new file mode 100644 index 00000000..9b70067a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc @@ -0,0 +1,21 @@ +#ifndef POI_DEFINES + #define POI_DEFINES + + #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) + + #ifdef _SPECGLOSSMAP // Specular + #ifndef POI_VAR_DOTNH + #define POI_VAR_DOTNH + #endif + #ifndef POI_VAR_DOTLH + #define POI_VAR_DOTLH + #endif + #endif + + #ifdef VIGNETTE_MASKED // Lighting + #ifndef POI_VAR_DOTNL + #define POI_VAR_DOTNL + #endif + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta new file mode 100644 index 00000000..8a2bbf7f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 233e8a7e6669a9d4f89b001a0cf98619 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc new file mode 100644 index 00000000..828460bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc @@ -0,0 +1,112 @@ +#ifndef POI_DEPTH_COLOR + #define POI_DEPTH_COLOR + + float4 _DepthGlowColor; + float _DepthGlowEmission; + float _FadeLength; + float _DepthAlphaMin; + float _DepthAlphaMax; + POI_TEXTURE_NOSAMPLER(_DepthGradient); + POI_TEXTURE_NOSAMPLER(_DepthMask); + float _DepthGradientTextureUV; + float _DepthGradientBlend; + + /* + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, float4 worldDirection, float4 clipPos) + { + float3 touchEmission = 0; + if (!IsInMirror()) + { + float fadeLength = _FadeLength; + fadeLength *= 0.01; + float depth = DecodeFloatRG(tex2Dproj(_CameraDepthTexture, worldDirection)); + depth = Linear01Depth(depth); + if(depth != 1) + { + float diff = distance(depth, Linear01Depth(clipPos.z)); + float intersect = 0; + if(diff > 0) + { + intersect = clamp(1 - smoothstep(0, _ProjectionParams.w * fadeLength, diff), 0, 1); + } + half4 depthGradient = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthGradient, _MainTex, intersect); + half3 depthMask = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthMask, _MainTex, poiMesh.uv[0]); + half3 depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + } + } + depthTouchEmission = touchEmission; + } + */ + + inline float CorrectedLinearEyeDepth(float z, float B) + { + return 1.0 / (z / PM._34 + B); + } + + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, in float4 worldDirection) + { + float3 touchEmission = 0; + float fadeLength = _FadeLength; + fadeLength *= 0.01; + + float perspectiveDivide = 1.0f / poiCam.clipPos.w; + float4 direction = worldDirection * perspectiveDivide; + float2 screenPos = poiCam.grabPos.xy * perspectiveDivide; + float z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenPos); + + #if UNITY_REVERSED_Z + if (z == 0) + #else + if(z == 1) + #endif + return; + + float depth = CorrectedLinearEyeDepth(z, direction.w); + float3 worldpos = direction * depth + _WorldSpaceCameraPos.xyz; + /* + finalColor.rgb = frac(worldpos); + return; + */ + + float diff = distance(worldpos, poiMesh.worldPos); + float intersect = 0; + intersect = clamp(1 - smoothstep(0, fadeLength, diff), 0, 1); + half3 depthMask = POI2D_SAMPLER_PAN(_DepthMask, _MainTex, poiMesh.uv[_DepthMaskUV], _DepthMaskPan); + + half4 depthGradient = 0; + half3 depthColor = 0; + + + if (_DepthGradientTextureUV == 0) + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, float2(intersect, intersect), _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + } + else + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, poiMesh.uv[_DepthGradientUV], _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb * intersect; + } + + + if(_DepthGradientBlend == 0) // rpelace + { + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + } + else if(_DepthGradientBlend == 1) // add + { + finalColor.rgb += depthColor * intersect * depthMask; + } + else if(_DepthGradientBlend == 2) // multiply + { + finalColor.rgb *= lerp(1, depthColor, intersect * depthMask); + } + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect * depthMask); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + + depthTouchEmission = touchEmission; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta new file mode 100644 index 00000000..04912c5b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e4d11bd6ad953724fae0420c0d1fd067 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc new file mode 100644 index 00000000..13175f00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc @@ -0,0 +1,171 @@ +#ifndef POI_DISSOLVE + #define POI_DISSOLVE + + float _DissolveType; + float _DissolveEdgeWidth; + float4 _DissolveEdgeColor; + sampler2D _DissolveEdgeGradient; float4 _DissolveEdgeGradient_ST; + float _DissolveEdgeEmission; + float4 _DissolveTextureColor; + + POI_TEXTURE_NOSAMPLER(_DissolveToTexture); + POI_TEXTURE_NOSAMPLER(_DissolveNoiseTexture); + POI_TEXTURE_NOSAMPLER(_DissolveDetailNoise); + POI_TEXTURE_NOSAMPLER(_DissolveMask); + + float _DissolveMaskInvert; + float _DissolveAlpha; + float _ContinuousDissolve; + float _DissolveDetailStrength; + float _DissolveEdgeHardness; + float _DissolveInvertNoise; + float _DissolveInvertDetailNoise; + float _DissolveToEmissionStrength; + + // Point to Point + float _DissolveP2PWorldLocal; + float _DissolveP2PEdgeLength; + float4 _DissolveStartPoint; + float4 _DissolveEndPoint; + + // World Dissolve + float _DissolveWorldShape; + float4 _DissolveShapePosition; + float4 _DissolveShapeRotation; + float _DissolveShapeScale; + float _DissolveInvertShape; + float _DissolveShapeEdgeLength; + + float _DissolveAlpha0; + float _DissolveAlpha1; + float _DissolveAlpha2; + float _DissolveAlpha3; + float _DissolveAlpha4; + float _DissolveAlpha5; + float _DissolveAlpha6; + float _DissolveAlpha7; + float _DissolveAlpha8; + float _DissolveAlpha9; + + // Masking + float _DissolveEmissionSide; + float _DissolveEmission1Side; + float _DissolveUseVertexColors; + + float4 edgeColor; + float edgeAlpha; + float dissolveAlpha; + float4 dissolveToTexture; + //Globals + + + void calculateDissolve(inout float4 albedo, inout float3 dissolveEmission) + { + + float dissolveMask = POI2D_SAMPLER_PAN(_DissolveMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + + if (float(0)) + { + // Vertex Color Imprecision hype + dissolveMask = ceil(poiMesh.vertexColor.g * 100000) / 100000; + } + + dissolveToTexture = POI2D_SAMPLER_PAN(_DissolveToTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + float dissolveNoiseTexture = POI2D_SAMPLER_PAN(_DissolveNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + float da = float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0); + da = saturate(da); + + float dds = float(0.1); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskDissolve != 4) + { + dissolveMask *= blackLightMask[_BlackLightMaskDissolve]; + } + #endif + + if(float(0)) + { + dissolveMask = 1 - dissolveMask; + } + + float dissolveDetailNoise = POI2D_SAMPLER_PAN(_DissolveDetailNoise, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(0)) + { + dissolveNoiseTexture = 1 - dissolveNoiseTexture; + } + if(float(0)) + { + dissolveDetailNoise = 1 - dissolveDetailNoise; + } + if(float(0) != 0) + { + da = sin(_Time.y * float(0)) * .5 + .5; + } + da *= dissolveMask; + dissolveAlpha = da; + edgeAlpha = 0; + + + if(float(1) == 1) // Basic + { + da = remap(da, 0, 1, -float(0.025), 1); + dissolveAlpha = da; + //Adjust detail strength to avoid artifacts + dds *= smoothstep(1, .99, da); + float noise = saturate(dissolveNoiseTexture - dissolveDetailNoise * dds); + + noise = saturate(noise + 0.001); + //noise = remap(noise, 0, 1, float(0.025), 1 - float(0.025)); + dissolveAlpha = dissolveAlpha >= noise; + edgeAlpha = remapClamped(noise, da + float(0.025), da, 0, 1) * (1 - dissolveAlpha); + } + else if (float(1) == 2) // Point to Point + { + float3 direction; + float3 currentPos; + float distanceTo = 0; + direction = normalize(float4(0,1,0,0) - float4(0,-1,0,0)); + currentPos = lerp(float4(0,-1,0,0), float4(0,1,0,0), dissolveAlpha); + if (float(0) == 0) + { + distanceTo = dot(poiMesh.localPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + else + { + distanceTo = dot(poiMesh.worldPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + } + + albedo = lerp(albedo, dissolveToTexture, dissolveAlpha); + + + if(float(0.025)) + { + edgeColor = tex2D(_DissolveEdgeGradient, TRANSFORM_TEX(float2(edgeAlpha, edgeAlpha), _DissolveEdgeGradient)) * float4(1,1,1,1); + albedo.rgb = lerp(albedo.rgb, edgeColor.rgb, smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + dissolveEmission = lerp(0, dissolveToTexture * float(0), dissolveAlpha) + lerp(0, edgeColor.rgb * float(0), smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta new file mode 100644 index 00000000..0743dc1b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6cfc9c55b5ff49046b355837f554c148 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc new file mode 100644 index 00000000..91efad39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc @@ -0,0 +1,34 @@ +#ifndef POI_DITHERING + #define POI_DITHERING + fixed _DitheringEnabled; + fixed _DitherGradient; + + half calcDither(half2 grabPos) + { + half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8)); + return dither; + } + + #ifndef POI_SHADOW + void applyDithering(inout float4 finalColor) + { + + if (float(0)) + { + half dither = calcDither(poiCam.screenUV.xy); + finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1)); + } + } + #else + void applyShadowDithering(inout float alpha, float2 screenUV) + { + + if(float(0)) + { + half dither = calcDither(screenUV); + alpha = alpha - (dither * (1 - alpha) * float(0.1)); + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta new file mode 100644 index 00000000..2cfda8bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 399790953c7443649adfd7c1fa1efcfb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc new file mode 100644 index 00000000..cff31fe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc @@ -0,0 +1,240 @@ +#ifndef POI_EMISSION + #define POI_EMISSION + + float4 _EmissionColor; + POI_TEXTURE_NOSAMPLER(_EmissionMap); + POI_TEXTURE_NOSAMPLER(_EmissionMask); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve); float4 _EmissionScrollingCurve_ST; + float _EmissionBaseColorAsMap; + float _EmissionStrength; + float _EnableEmission; + float _EmissionHueShift; + float4 _EmissiveScroll_Direction; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissionBlinkingEnabled; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + float _EnableGITDEmission; + float _GITDEMinEmissionMultiplier; + float _GITDEMaxEmissionMultiplier; + float _GITDEMinLight; + float _GITDEMaxLight; + float _GITDEWorldOrMesh; + float _EmissionCenterOutEnabled; + float _EmissionCenterOutSpeed; + float _EmissionHueShiftEnabled; + float _EmissionBlinkingOffset; + float _EmissionScrollingOffset; + + float4 _EmissionColor1; + #ifdef EFFECT_HUE_VARIATION + POI_TEXTURE_NOSAMPLER(_EmissionMap1); + POI_TEXTURE_NOSAMPLER(_EmissionMask1); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve1); float4 _EmissionScrollingCurve1_ST; + #endif + float _EmissionBaseColorAsMap1; + float _EmissionStrength1; + float _EnableEmission1; + float _EmissionHueShift1; + float4 _EmissiveScroll_Direction1; + float _EmissiveScroll_Width1; + float _EmissiveScroll_Velocity1; + float _EmissiveScroll_Interval1; + float _EmissionBlinkingEnabled1; + float _EmissiveBlink_Min1; + float _EmissiveBlink_Max1; + float _EmissiveBlink_Velocity1; + float _ScrollingEmission1; + float _EnableGITDEmission1; + float _GITDEMinEmissionMultiplier1; + float _GITDEMaxEmissionMultiplier1; + float _GITDEMinLight1; + float _GITDEMaxLight1; + float _GITDEWorldOrMesh1; + float _EmissionCenterOutEnabled1; + float _EmissionCenterOutSpeed1; + float _EmissionHueShiftEnabled1; + float _EmissionBlinkingOffset1; + float _EmissionScrollingOffset1; + + float _EmissionReplace; + + float _EmissionScrollingVertexColor; + float _EmissionScrollingVertexColor1; + + float _EmissionScrollingUseCurve; + float _EmissionScrollingUseCurve1; + + float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled) + { + float glowInTheDarkMultiplier = 1; + + if (enabled) + { + #ifdef POI_LIGHTING + float3 lightValue = float(0) ? poiLight.finalLighting.rgb: poiLight.directLighting.rgb; + float gitdeAlpha = (clamp(poiMax(lightValue), minLight, maxLight) - minLight) / (maxLight - minLight); + glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); + #endif + } + return glowInTheDarkMultiplier; + } + + float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) + { + float phase = 0; + phase = dot(position, direction); + phase -= (_Time.y + offset) * velocity; + phase /= interval; + phase -= floor(phase); + phase = saturate(phase); + return(pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; + } + + float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) + { + float amplitude = (blinkMax - blinkMin) * 0.5f; + float base = blinkMin + amplitude; + return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; + } + + float3 calculateEmissionNew(in float4 baseColor, inout float4 finalColor) + { + // First Emission + float3 emission0 = 0; + float emissionStrength0 = float(0); + float3 emissionColor0 = 0; + + float glowInTheDarkMultiplier0 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + else + { + emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + + + if(float(0)) + { + float3 pos = poiMesh.localPos; + + if(float(0)) + { + pos = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve) + (dot(pos, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos); + } + } + + + if(float(0)) + { + emissionStrength0 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor0 = hueShift(emissionColor0, float(0) * float(0)); + float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask) + _Time.x * float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission != 4) + { + emissionMask0 *= blackLightMask[_BlackLightMaskEmission]; + } + #endif + + emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; + emission0 = emissionStrength0 * emissionColor0; + + #ifdef POI_DISSOLVE + + if(float(2) != 2) + { + emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + + // Second Emission + float3 emission1 = 0; + float emissionStrength1 = 0; + float3 emissionColor1 = 0; + + #ifdef EFFECT_HUE_VARIATION + emissionStrength1 = float(0); + float glowInTheDarkMultiplier1 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor1 = POI2D_SAMPLER_PAN(_EmissionMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + else + { + emissionColor1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap1, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)).rgb * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + + + if(float(0)) + { + float3 pos1 = poiMesh.localPos; + + if(float(0)) + { + pos1 = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength1 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve1) + (dot(pos1, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength1 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos1); + } + } + + if(float(0)) + { + emissionStrength1 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor1 = hueShift(emissionColor1, float(0) * float(0)); + float emissionMask1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask1) + _Time.x * float4(0,0,0,0)); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission2 != 4) + { + emissionMask1 *= blackLightMask[_BlackLightMaskEmission2]; + } + #endif + emissionStrength1 *= glowInTheDarkMultiplier1 * emissionMask1; + emission1 = emissionStrength1 * emissionColor1; + + #ifdef POI_DISSOLVE + if(float(2) != 2) + { + emission1 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + #endif + finalColor.rgb = lerp(finalColor.rgb, saturate(emissionColor0 + emissionColor1), saturate(emissionStrength0 + emissionStrength1) * float(0) * poiMax(emission0 + emission1)); + + return emission0 + emission1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta new file mode 100644 index 00000000..573e774b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0dfa2eebb0b0b384fb05efb84730333f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc new file mode 100644 index 00000000..1e9188ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc @@ -0,0 +1,43 @@ +#ifndef POI_ENVIRONMENTAL_RIM + #define POI_ENVIRONMENTAL_RIM + + //enviro rim + float _EnableEnvironmentalRim; + POI_TEXTURE_NOSAMPLER(_RimEnviroMask); + float _RimEnviroBlur; + float _RimEnviroMinBrightness; + float _RimEnviroWidth; + float _RimEnviroSharpness; + float _RimEnviroIntensity; + + float3 calculateEnvironmentalRimLighting(in float4 albedo) + { + float enviroRimAlpha = saturate(1 - smoothstep(min(float(0), float(0.45)), float(0.45), poiCam.viewDotNormal)); + float(0.7) *= 1.7 - 0.7 * float(0.7); + + float3 enviroRimColor = 0; + float interpolator = unity_SpecCube0_BoxMin.w; + + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + enviroRimColor = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + enviroRimColor = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + half enviroMask = poiMax(POI2D_SAMPLER_PAN(_RimEnviroMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb); + return lerp(0, max(0, (enviroRimColor - float(0)) * albedo.rgb), enviroRimAlpha).rgb * enviroMask * float(1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta new file mode 100644 index 00000000..56ce495b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 70395feb13be822408eb7b3448531002 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc new file mode 100644 index 00000000..0ed89b59 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc @@ -0,0 +1,153 @@ +#ifndef POI_FLIPBOOK + #define POI_FLIPBOOK + + UNITY_DECLARE_TEX2DARRAY(_FlipbookTexArray); float4 _FlipbookTexArray_ST; + float4 _FlipbookColor; + float _FlipbookFPS; + float _FlipbookTotalFrames; + float4 _FlipbookScaleOffset; + float _FlipbookTiled; + float _FlipbookCurrentFrame; + float _FlipbookEmissionStrength; + float _FlipbookRotation; + float _EnableFlipbook; + float _FlipbookTexArrayUV; + float _FlipbookAlphaControlsFinalAlpha; + float _FlipbookRotationSpeed; + float _FlipbookIntensityControlsAlpha; + float _FlipbookColorReplaces; + float2 _FlipbookTexArrayPan; + + // blending + float _FlipbookReplace; + float _FlipbookMultiply; + float _FlipbookAdd; + POI_TEXTURE_NOSAMPLER(_FlipbookMask); + + // anim + float _FlipbookMovementType; + float4 _FlipbookStartEndOffset; + float _FlipbookMovementSpeed; + + // Global + float4 flipBookPixel; + float4 flipBookPixelMultiply; + float flipBookMask; + + #ifndef POI_SHADOW + + void applyFlipbook(inout float4 finalColor, inout float3 flipbookEmission) + { + flipBookMask = POI2D_SAMPLER_PAN(_FlipbookMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float2 uv = frac(poiMesh.uv[float(0)]); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + // 2d rotation + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + if (float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipBookPixel = 0; + return; + } + } + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + flipBookPixel = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipBookPixel.a = poiMax(flipBookPixel.rgb); + } + + if(float(0)) + { + flipBookPixel.rgb = float4(1,1,1,1).rgb; + } + else + { + flipBookPixel.rgb *= float4(1,1,1,1).rgb; + } + + #ifdef POI_BLACKLIGHT + + if(_BlackLightMaskFlipbook != 4) + { + flipBookMask *= blackLightMask[_BlackLightMaskFlipbook]; + } + #endif + + finalColor.rgb = lerp(finalColor, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * float(1) * flipBookMask); + finalColor.rgb = finalColor + flipBookPixel.rgb * float(0) * flipBookMask; + finalColor.rgb = finalColor * lerp(1, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * flipBookMask * float(0)); + + + if(float(0)) + { + finalColor.a = lerp(finalColor.a, flipBookPixel.a * float4(1,1,1,1).a, flipBookMask); + } + flipbookEmission = lerp(0, flipBookPixel.rgb * float(0), flipBookPixel.a * float4(1,1,1,1).a * flipBookMask); + } + + #else + + float applyFlipbookAlphaToShadow(float2 uv) + { + + if(float(0)) + { + float flipbookShadowAlpha = 0; + + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float theta = radians(float(0)); + + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + half4 flipbookColor = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipbookColor.a = poiMax(flipbookColor.rgb); + } + + + if(float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipbookColor.a = 0; + } + } + return flipbookColor.a * float4(1,1,1,1).a; + } + return 1; + } + + #endif +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta new file mode 100644 index 00000000..64321750 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 96ee07bae7a96ff4da68017e695a3fd1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc new file mode 100644 index 00000000..aa950e7d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc @@ -0,0 +1,376 @@ +#ifndef POIFRAG + #define POIFRAG + + float _MainEmissionStrength; + float _IgnoreFog; + half _GIEmissionMultiplier; + float _IridescenceTime; + float _AlphaToMask; + float _ForceOpaque; + float _commentIfZero_EnableGrabpass; + float _AlphaPremultiply; + float2 _MainTexPan; + float _MainTextureUV; + float _commentIfZero_LightingAdditiveEnable; + + float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target + { + #ifdef FORWARD_ADD_PASS + #if !defined(POI_LIGHTING) + return 0; + #endif + #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL) + return 0; + #endif + #endif + #ifdef FORWARD_ADD_PASS + + if (float(1) == 0) + { + return 0; + } + #endif + UNITY_SETUP_INSTANCE_ID(i); + // Color + float4 albedo = 1; + float4 finalColor = 1; + + // Lighting + float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication + float3 finalSpecular0 = 0; + float3 finalSpecular1 = 0; + float3 finalSSS = 0; + fixed lightingAlpha = 1; + float3 finalEnvironmentalRim = 0; + + // Emissions + float3 finalEmission = 0; + float3 finalLighting = 1; + float3 IridescenceEmission = 0; + float3 spawnInEmission = 0; + float3 voronoiEmission = 0; + float3 matcapEmission = 0; + float3 depthTouchEmission = 0; + float3 decalEmission = 0; + float3 glitterEmission = 0; + float3 panosphereEmission = 0; + float3 backFaceEmission = 0; + float3 dissolveEmission = 0; + float3 rimLightEmission = 0; + float3 flipbookEmission = 0; + float3 textOverlayEmission = 0; + float3 videoEmission = 0; + /********************************************************************** + Initialize the base data that's needed everywhere else in the shader + **********************************************************************/ + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + + #ifdef POI_BLACKLIGHT + createBlackLightMask(); + + if (_BlackLightMaskDebug) + { + return float4(blackLightMask.rgb, 1); + } + #endif + + // This has to happen in the initializbecause it alters UV data globally + #ifdef POI_PARALLAX + calculateandApplyParallax(); + #endif + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + calculateVertexLightingData(i); + /********************************************************************** + Calculate Light Maps + **********************************************************************/ + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + /********************************************************************** + Calculate Color Data + **********************************************************************/ + + initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask); + + #ifdef POI_DECAL + applyDecal(albedo, decalEmission); + #endif + + + #ifdef POI_IRIDESCENCE + + if (_IridescenceTime == 0) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VORONOI + applyVoronoi(albedo, voronoiEmission); + #endif + + #ifdef POI_MSDF + ApplyTextOverlayColor(albedo, textOverlayEmission); + #endif + + #ifdef POI_ENVIRONMENTAL_RIM + finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo); + #endif + + #if defined(POI_METAL) || defined(POI_CLEARCOAT) + CalculateReflectionData(); + #endif + + #ifdef POI_DATA + distanceFade(albedo); + #endif + + #ifdef POI_RANDOM + albedo.a *= i.angleAlpha; + #endif + + #ifdef MATCAP + applyMatcap(albedo, matcapEmission); + #endif + + #ifdef PANOSPHERE + applyPanosphereColor(albedo, panosphereEmission); + #endif + + #ifdef POI_FLIPBOOK + applyFlipbook(albedo, flipbookEmission); + #endif + + #ifdef POI_GLITTER + applyGlitter(albedo, glitterEmission); + #endif + + #ifdef POI_RIM + applyRimLighting(albedo, rimLightEmission); + #endif + + #ifdef POI_DEPTH_COLOR + applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection); + #endif + + #ifdef POI_IRIDESCENCE + + if(_IridescenceTime == 1) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VIDEO + applyScreenEffect(albedo, videoEmission); + #endif + + applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos); + + /********************************************************************** + Handle a few alpha options + **********************************************************************/ + + if (float(0) == 1) + { + + if(float(0) == 0) + { + applyDithering(albedo); + } + } + + albedo.a = max(float(0), albedo.a); + + + if(float(0) >= 1) + { + clip(albedo.a - float(0.5)); + } + + + if(float(0)) + { + albedo.rgb *= saturate(albedo.a + 0.0000000001); + } + + /********************************************************************** + Lighting Time :) + **********************************************************************/ + + #ifdef POI_LIGHTING + finalLighting = calculateFinalLighting(albedo.rgb, finalColor); + + #ifdef SUBSURFACE + finalSSS = calculateSubsurfaceScattering(); + #endif + #endif + + float4 finalColorBeforeLighting = albedo; + finalColor = finalColorBeforeLighting; + + #ifdef POI_SPECULAR + finalSpecular0 = calculateSpecular(finalColorBeforeLighting); + #endif + #ifdef POI_PARALLAX + calculateAndApplyInternalParallax(finalColor); + #endif + + #ifdef POI_ALPHA_TO_COVERAGE + ApplyAlphaToCoverage(finalColor); + #endif + + + if (float(0) == 1) + { + + if(float(0) == 1) + { + applyDithering(finalColor); + } + } + + #ifdef POI_METAL + calculateMetallicness(); + bool probeExists = shouldMetalHappenBeforeLighting(); + + if(!probeExists) + { + ApplyMetallicsFake(finalColor, albedo); + } + #endif + + #ifdef POI_LIGHTING + #if defined(FORWARD_ADD_PASS) && defined(POI_METAL) + finalLighting *= 1 - metalicMap; + #endif + #endif + + #ifdef VERTEXLIGHT_ON + finalColor.rgb *= finalLighting + poiLight.vFinalLighting; + #else + finalColor.rgb *= finalLighting; + #endif + + #ifdef POI_METAL + + if(probeExists) + { + ApplyMetallics(finalColor, albedo); + } + #endif + + finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS; + + #ifdef FORWARD_BASE_PASS + #ifdef POI_CLEARCOAT + calculateAndApplyClearCoat(finalColor); + #endif + #endif + + finalColor.a = saturate(finalColor.a); + + /********************************************************************** + Add Up all the emission values :D + **********************************************************************/ + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a; + finalEmission += wireframeEmission; + finalEmission += IridescenceEmission; + finalEmission += spawnInEmission; + finalEmission += voronoiEmission; + finalEmission += matcapEmission; + finalEmission += depthTouchEmission; + finalEmission += decalEmission; + finalEmission += glitterEmission; + finalEmission += panosphereEmission; + finalEmission += backFaceEmission; + finalEmission += rimLightEmission; + finalEmission += flipbookEmission; + finalEmission += videoEmission; + finalEmission += textOverlayEmission; + finalEmission += dissolveEmission; + #ifdef POI_EMISSION + finalEmission += calculateEmissionNew(finalColorBeforeLighting, finalColor); + #endif + #endif + + /********************************************************************** + Meta Pass Hype :D + **********************************************************************/ + #ifdef POI_META_PASS + UnityMetaInput meta; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta); + meta.Emission = finalEmission * float(1); + meta.Albedo = saturate(finalColor.rgb); + #ifdef POI_SPECULAR + meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a; + #else + meta.SpecularColor = poiLight.color.rgb * albedo.rgb; + #endif + return UnityMetaFragment(meta); + #endif + + /********************************************************************** + Apply Emission to finalColor + **********************************************************************/ + finalColor.rgb += finalEmission; + + /********************************************************************** + Grabpass features + **********************************************************************/ + + + if (_commentIfZero_EnableGrabpass) + { + applyGrabEffects(finalColor); + } + + /********************************************************************** + Unity Fog + **********************************************************************/ + #ifdef FORWARD_BASE_PASS + + if (float(0) == 0) + { + UNITY_APPLY_FOG(i.fogCoord, finalColor); + } + #endif + + #ifdef FORWARD_ADD_PASS + if(float(0) > 0) + { + finalColor.rgb *= finalColor.a; + } + #endif + + + if(float(0) == 0) + { + finalColor.a = 1; + } + + #ifdef FORWARD_ADD_PASS + //finalColor.rgb = smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5)); + #endif + + #ifdef POI_DEBUG + displayDebugInfo(finalColor); + #endif + + //finalColor.rgb = frac(finalColor.rgb); + return finalColor; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta new file mode 100644 index 00000000..42312aa8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4aa7ea5fd71728f40ac1ddd88593ab23 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc new file mode 100644 index 00000000..8d260cdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc @@ -0,0 +1,41 @@ +#ifndef POI_FUR + #define POI_FUR + + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurTexture); float4 _FurTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurHeightMap); float4 _FurHeightMap_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurMask); float4 _FurMask_ST; + float _FurAO; + float4 _FurColor; + float _FurLayers; + float _FurMinDistance; + float _FurMaxDistance; + float _FurHeightMapMin; + float _FurHeightMapMax; + float _FurDebug; + float _AoRampMin; + float _AoRampMax; + float _FurTipAlpha; + float _FurFadeStart; + + //globals + half furHeightMap; + half furMask; + + void calculateFur() + { + + furHeightMap = UNITY_SAMPLE_TEX2D_SAMPLER(_FurHeightMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurHeightMap)).x; + furHeightMap = remap(furHeightMap, 0, _FurHeightMapMax, _FurHeightMapMin, 1); + furMask = poiMax(UNITY_SAMPLE_TEX2D_SAMPLER(_FurMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurMask)).xyz); + half3 furTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_FurTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurTexture)); + clip(furHeightMap - poiMesh.furAlpha); + clip(furMask - poiMesh.furAlpha); + + albedo.rgb = lerp(mainTexture.rgb, furTexture.rgb * _FurColor.rgb, ceil(poiMesh.furAlpha)); + float aoRampMax = _AoRampMax - (1 - furMask); + albedo.rgb *= lerp(1, smoothstep(_AoRampMin, aoRampMax, furHeightMap), _FurAO); + + albedo.a *= smoothstep(1.01, _FurTipAlpha, remapClamped(poiMesh.furAlpha, _FurFadeStart, 1, 0, 1)) + float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta new file mode 100644 index 00000000..f2c62b4a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 68caa0675fea5bd45983f52ccfde8b47 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc new file mode 100644 index 00000000..032f3b08 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc @@ -0,0 +1,37 @@ +float _FurLength; +float _FurGravityStrength; + +[instance(4)] +[maxvertexcount(20)] +void geomFur(triangle v2f IN[3], inout TriangleStream < v2f > tristream, uint InstanceID : SV_GSInstanceID) +{ + float4 fur_worldPos[3]; + v2f o_fur[3]; + float3 offset = (float3(0, -1, 0) * (_FurLength*.9) *_FurGravityStrength); + + for (int i = 0; i < 3; i++) + { + if (InstanceID == 0) { + IN[i].furAlpha = 0; + tristream.Append(IN[i]); + } + o_fur[i] = IN[i]; + fur_worldPos[i] = float4(IN[i].worldPos + IN[i].normal * _FurLength, 1); + } + if (InstanceID == 0) { + tristream.RestartStrip(); + } + int Total_FurLayers = clamp(floor(_FurLayers * (1 - smoothstep(_FurMinDistance, _FurMaxDistance, distance(IN[0].worldPos, getCameraPosition())))), min(1, _FurLayers), _FurLayers); + + int startLayer = max(int(InstanceID) * 6 - 1, 0); + for (int layer = startLayer; layer < Total_FurLayers; layer++) { + for (int i = 0; i < 3; i++) { + o_fur[i].furAlpha = float(layer) / Total_FurLayers; + o_fur[i].worldPos = float4(lerp(IN[i].worldPos, fur_worldPos[i] + offset * o_fur[i].furAlpha, o_fur[i].furAlpha),1); + o_fur[i].pos = UnityWorldToClipPos(o_fur[i].worldPos); + o_fur[i].furAlpha += .01; + tristream.Append(o_fur[i]); + } + tristream.RestartStrip(); + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta new file mode 100644 index 00000000..ec3eb08f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a837d9083e94f984b8b46fa963b3a165 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc new file mode 100644 index 00000000..e31b6498 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc @@ -0,0 +1,232 @@ +#ifndef POI_GLITTER + #define POI_GLITTER + + half3 _GlitterColor; + POI_TEXTURE_NOSAMPLER(_GlitterMask); + float2 _GlitterPan; + POI_TEXTURE_NOSAMPLER(_GlitterColorMap); + POI_TEXTURE_NOSAMPLER(_GlitterTexture); + half _GlitterSpeed; + half _GlitterBrightness; + float _GlitterFrequency; + float _GlitterJitter; + half _GlitterSize; + half _GlitterContrast; + half _GlitterAngleRange; + half _GlitterMinBrightness; + half _GlitterBias; + float _GlitterRandomColors; + float2 _GlitterMinMaxSaturation; + float2 _GlitterMinMaxBrightness; + fixed _GlitterUseSurfaceColor; + float _GlitterBlendType; + float _GlitterMode; + float _GlitterShape; + float _GlitterCenterSize; + float _glitterFrequencyLinearEmissive; + float _GlitterJaggyFix; + float _GlitterRandomRotation; + float _GlitterTextureRotation; + float4 _GlitterMinMaxSize; + float _GlitterRandomSize; + + + float3 randomFloat3(float2 Seed, float maximum) + { + return(.5 + float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) + ) * .5) * (maximum); + } + + float3 randomFloat3Range(float2 Seed, float Range) + { + return(float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1) * Range; + } + + float3 randomFloat3WiggleRange(float2 Seed, float Range) + { + float3 rando = (float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1); + float speed = 1 + float(10); + return float3(sin((_Time.x + rando.x * pi) * speed), sin((_Time.x + rando.y * pi) * speed), sin((_Time.x + rando.z * pi) * speed)) * Range; + } + + void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out) + { + float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233))) * 43758.5453); + Out = lerp(Min, Max, randomno); + } + + float3 RandomColorFromPoint(float2 rando) + { + fixed hue = random2(rando.x + rando.y).x; + fixed saturation = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.x); + fixed value = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.y); + float3 hsv = float3(hue, saturation, value); + return HSVtoRGB(hsv); + } + + void applyGlitter(inout float4 albedo, inout float3 glitterEmission) + { + + + // Scale + float2 st = poiMesh.uv[0] * float(300); + + // Tile the space + float2 i_st = floor(st); + float2 f_st = frac(st); + + float m_dist = 10.; // minimun distance + float2 m_point = 0; // minimum point + float2 randoPoint = 0; + float2 dank; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 neighbor = float2(i, j); + float2 pos = random2(i_st + neighbor); + float2 rando = pos; + pos = 0.5 + 0.5 * sin(float(1) * 6.2831 * pos); + float2 diff = neighbor + pos - f_st; + float dist = length(diff); + + if (dist < m_dist) + { + dank = diff; + m_dist = dist; + m_point = pos; + randoPoint = rando; + } + } + } + + float randomFromPoint = random(randoPoint); + + float size = float(0.3); + + if(float(0)) + { + size = remapClamped(randomFromPoint, 0, 1, float4(0.1,0.5,0,1).x, float4(0.1,0.5,0,1).y); + } + + + // Assign a color using the closest point position + //color += dot(m_point, float2(.3, .6)); + + // Add distance field to closest point center + // color.g = m_dist; + + // Show isolines + //color -= abs(sin(40.0 * m_dist)) * 0.07; + + // Draw cell center + half glitterAlpha = 1; + switch(float(0)) + { + case 0: //circle + glitterAlpha = (1. - step(size, m_dist)); + break; + case 1: //sqaure + float jaggyFix = pow(poiCam.distanceToVert, 2) * float(0); + + + if (float(0)) + { + float2 center = float2(0, 0); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + dank = float2((dank.x - center.x) * cs - (dank.y - center.y) * sn + center.x, (dank.x - center.x) * sn + (dank.y - center.y) * cs + center.y); + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + else + { + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + break; + } + + float3 finalGlitter = 0; + + switch(float(0)) + { + case 0: + float3 randomRotation = 0; + + if(float(10) > 0) + { + randomRotation = randomFloat3WiggleRange(randoPoint, float(90)); + } + else + { + randomRotation = randomFloat3Range(randoPoint, float(90)); + } + float3 norm = poiMesh.normals[0]; + + float3 glitterReflectionDirection = normalize(mul(poiRotationMatrixFromAngles(randomRotation), norm)); + finalGlitter = lerp(0, float(0) * glitterAlpha, glitterAlpha) + max(pow(saturate(dot(lerp(glitterReflectionDirection, poiCam.viewDir, float(0.8)), poiCam.viewDir)), float(300)), 0); + finalGlitter *= glitterAlpha; + break; + case 1: + float offset = random(randoPoint); + float brightness = sin((_Time.x + offset) * float(10)) * float(20) - (float(20) - 1); + finalGlitter = max(float(0) * glitterAlpha, brightness * glitterAlpha * smoothstep(0, 1, 1 - m_dist * float(0.08) * 10)); + break; + } + + + half3 glitterColor = float4(1,1,1,1); + glitterColor *= lerp(1, albedo, float(0)); + glitterColor *= POI2D_SAMPLER_PAN(_GlitterColorMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + + float2 uv = remapClamped(dank, -size, size, 0, 1); + + if(float(0) && !float(0)) + { + float2 fakeUVCenter = float2(.5, .5); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - fakeUVCenter.x) * cs - (uv.y - fakeUVCenter.y) * sn + fakeUVCenter.x, (uv.x - fakeUVCenter.x) * sn + (uv.y - fakeUVCenter.y) * cs + fakeUVCenter.y); + } + float4 glitterTexture = POI2D_SAMPLER_PAN(_GlitterTexture, _MainTex, uv, float4(0,0,0,0)); + //float4 glitterTexture = _GlitterTexture.SampleGrad(sampler_MainTex, frac(uv), ddx(uv), ddy(uv)); + glitterColor *= glitterTexture.rgb; + float glitterMask = POI2D_SAMPLER_PAN(_GlitterMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskGlitter != 4) + { + glitterMask *= blackLightMask[_BlackLightMaskGlitter]; + } + #endif + + if(float(0)) + { + glitterColor *= RandomColorFromPoint(random2(randoPoint.x + randoPoint.y)); + } + + + if(float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, finalGlitter * glitterColor * float(3), finalGlitter * glitterTexture.a * glitterMask); + glitterEmission = finalGlitter * glitterColor * max(0, (float(3) - 1) * glitterTexture.a) * glitterMask; + } + else + { + glitterEmission = finalGlitter * glitterColor * float(3) * glitterTexture.a * glitterMask; + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta new file mode 100644 index 00000000..a3e9acf9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5beebd49846a8714db64577df69b8ad6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc new file mode 100644 index 00000000..060cb720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc @@ -0,0 +1,127 @@ +#ifndef POI_GRAB + #define POI_GRAB + + float _RefractionIndex; + float _RefractionOpacity; + float _RefractionChromaticAberattion; + float _RefractionEnabled; + float _GrabSrcBlend; + float _GrabDstBlend; + float _GrabPassUseAlpha; + float _GrabPassBlendFactor; + float _GrabBlurDistance; + float _GrabBlurQuality; + float _GrabBlurDirections; + POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap); + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RefractionOpacityMask); float4 _RefractionOpacityMask_ST; + + float4 blur(float2 uv) + { + float two_pi = 6.28318530718; + + float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur + float quality = floor(_GrabBlurQuality); + float directions = floor(_GrabBlurDirections); + + // Pixel colour + float4 color = tex2D(_PoiGrab, uv); + + float deltaAngle = two_pi / directions; + float deltaQuality = 1.0 / quality; + for (int i = 0; i < directions; i ++) + { + for (int j = 0; j < quality; j ++) + { + float angle = deltaAngle * i + j; + float offset = deltaQuality * (j + 1); + color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset); + } + } + + // Output to screen + color /= quality * directions + 1; + return color; + } + + inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos) + { + float4 refractionColor; + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos)); + float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0))) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir))); + float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x)); + + + if (_RefractionChromaticAberattion > 0) + { + float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction)); + float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g; + float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b; + refractionColor = float4(redAlpha.r, green, blue, redAlpha.a); + } + else + { + float2 refractedGrab = projectedGrabPos + cameraRefraction; + + #ifdef CHROMATIC_ABERRATION_LOW + refractionColor = blur(refractedGrab); + #else + refractionColor = tex2D(_PoiGrab, (refractedGrab)); + #endif + } + return refractionColor; + } + + void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor) + { + float3 refraction = 1; + + if(_RefractionEnabled == 1) + { + refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb; + } + else + { + #ifdef CHROMATIC_ABERRATION_LOW + refraction = blur(projectedGrabPos); + #else + refraction = tex2Dproj(_PoiGrab, poiCam.grabPos); + #endif + } + + float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r; + + if(_GrabPassUseAlpha) + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a)); + finalColor.a = 1; + } + else + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor); + } + } + + float2 calculateGrabPosition() + { + float4 grabPos = poiCam.grabPos; + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + float halfPosW = grabPos.w * 0.5; + grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW; + #if SHADER_API_D3D9 || SHADER_API_D3D11 + grabPos.w += 0.00000000001; + #endif + return(grabPos / grabPos.w).xy; + } + + void applyGrabEffects(inout float4 finalColor) + { + float2 projectedGrabPos = calculateGrabPosition(); + calculateRefraction(projectedGrabPos, finalColor); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta new file mode 100644 index 00000000..1ae72b98 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a801d5ce7ca0b2749aea64d756cd22a8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc new file mode 100644 index 00000000..9ae9e754 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc @@ -0,0 +1,338 @@ +#ifndef POI_HELPER + #define POI_HELPER + + #include "CGI_PoiColors.cginc" + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float linearSin(float x) + { + return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0); + } + + float random(float2 p) + { + return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123); + } + + float2 random2(float2 p) + { + return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453); + } + + float3 random3(float3 p) + { + return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453); + } + + float3 mod(float3 x, float y) + { + return x - y * floor(x / y); + } + float2 mod(float2 x, float y) + { + return x - y * floor(x / y); + } + + //1/7 + #define K 0.142857142857 + //3/7 + #define Ko 0.428571428571 + + // Permutation polynomial: (34x^2 + x) mod 289 + float3 Permutation(float3 x) + { + return mod((34.0 * x + 1.0) * x, 289.0); + } + + bool IsInMirror() + { + return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; + } + + float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax) + { + #if UNITY_SPECCUBE_BOX_PROJECTION + + if (cubemapPosition.w > 0) + { + float3 factors = ((direction > 0 ? boxMax: boxMin) - position) / direction; + float scalar = min(min(factors.x, factors.y), factors.z); + direction = direction * scalar + (position - cubemapPosition); + } + #endif + return direction; + } + + // Camera + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + float3 grayscale_vector_node() + { + return float3(0, 0.3823529, 0.01845836); + } + + float3 grayscale_for_light() + { + return float3(0.298912, 0.586611, 0.114478); + } + + //Math Operators + + float remap(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float poiMax(float2 i) + { + return max(i.x, i.y); + } + + float poiMax(float3 i) + { + return max(max(i.x, i.y), i.z); + } + + float poiMax(float4 i) + { + return max(max(max(i.x, i.y), i.z), i.w); + } + + float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis) + { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, + 0.0, 0.0, 0.0, 1.0); + } + + float4x4 poiRotationMatrixFromAngles(float x, float y, float z) + { + float angleX = radians(x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + + float4x4 poiRotationMatrixFromAngles(float3 angles) + { + float angleX = radians(angles.x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(angles.y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(angles.z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + +#endif + +half2 calcScreenUVs(half4 grabPos) +{ + half2 uv = grabPos / (grabPos.w + 0.0000000001); + #if UNITY_SINGLE_PASS_STEREO + uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y); + #else + uv.xy *= _ScreenParams.xy; + #endif + + return uv; +} + +float inverseLerp(float A, float B, float T) +{ + return(T - A) / (B - A); +} + +float inverseLerp2(float2 a, float2 b, float2 value) +{ + float2 AB = b - a; + float2 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp3(float3 a, float3 b, float3 value) +{ + float3 AB = b - a; + float3 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp4(float4 a, float4 b, float4 value) +{ + float4 AB = b - a; + float4 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +// Dithering +inline half Dither8x8Bayer(int x, int y) +{ + const half dither[ 64 ] = { + 1, 49, 13, 61, 4, 52, 16, 64, + 33, 17, 45, 29, 36, 20, 48, 32, + 9, 57, 5, 53, 12, 60, 8, 56, + 41, 25, 37, 21, 44, 28, 40, 24, + 3, 51, 15, 63, 2, 50, 14, 62, + 35, 19, 47, 31, 34, 18, 46, 30, + 11, 59, 7, 55, 10, 58, 6, 54, + 43, 27, 39, 23, 42, 26, 38, 22 + }; + int r = y * 8 + x; + return dither[r] / 64; +} + +// UV Manipulation +float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv) +{ + float theta = radians(rotation); + scale = 1 - scale; + float cs = cos(theta); + float sn = sin(theta); + float2 centerPoint = offset + .5; + uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y); + + return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1)); +} + +bool isVR() +{ + // USING_STEREO_MATRICES + #if UNITY_SINGLE_PASS_STEREO + return true; + #else + return false; + #endif +} + +bool isVRHandCamera() +{ + return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005; +} + +bool isDesktop() +{ + return !isVRHandCamera(); +} + +bool isVRHandCameraPreview() +{ + return isVRHandCamera() && _ScreenParams.y == 720; +} + +bool isVRHandCameraPicture() +{ + return isVRHandCamera() && _ScreenParams.y == 1080; +} + +bool isPanorama() +{ + // Crude method + // FOV=90=camproj=[1][1] + return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025; +} + +float3 calculateluminance(float3 color) +{ + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta new file mode 100644 index 00000000..a769ebbb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 736e9b47cca3f674ab835e6432893662 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc new file mode 100644 index 00000000..6ee66d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc @@ -0,0 +1,36 @@ +#ifndef POI_HOLOGRAM + #define POI_HOLOGRAM + + UNITY_DECLARE_TEX2D_NOSAMPLER(_HoloAlphaMap); float4 _HoloAlphaMap_ST; + float _HoloCoordinateSpace; // 0 World, 1 Local, 2 UV + float3 _HoloDirection; + float _HoloScrollSpeed; + float _HoloLineDensity; + + fixed _HoloFresnelAlpha; + fixed _HoloRimSharpness; + fixed _HoloRimWidth; + void ApplyHoloAlpha(inout float4 color) + { + float uv = 0; + + if (_HoloCoordinateSpace == 0) + { + uv = dot(normalize(_HoloDirection), poiMesh.worldPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 1) + { + uv = dot(normalize(_HoloDirection), poiMesh.localPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 2) + { + uv = dot(_HoloDirection, poiMesh.uv[0] * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + float holoRim = saturate(1 - smoothstep(min(_HoloRimSharpness, _HoloRimWidth), _HoloRimWidth, poiCam.viewDotNormal)); + holoRim = abs(lerp(1, holoRim, _HoloFresnelAlpha)); + color.a *= UNITY_SAMPLE_TEX2D_SAMPLER(_HoloAlphaMap, _MainTex, uv).r * holoRim; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta new file mode 100644 index 00000000..0d7441c1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6b2f00cc01a543a45b8f39b48d9458a2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc new file mode 100644 index 00000000..bcea8ccc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc @@ -0,0 +1,61 @@ +#ifndef POI_IRIDESCENCE + #define POI_IRIDESCENCE + + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceRamp); float4 _IridescenceRamp_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceMask); float4 _IridescenceMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceNormalMap); float4 _IridescenceNormalMap_ST; + float _IridescenceNormalUV; + float _IridescenceMaskUV; + float _IridescenceNormalSelection; + float _IridescenceNormalIntensity; + float _IridescenceNormalToggle; + float _IridescenceIntensity; + fixed _IridescenceAddBlend; + fixed _IridescenceReplaceBlend; + fixed _IridescenceMultiplyBlend; + float _IridescenceEmissionStrength; + + //global + + float3 calculateNormal(float3 baseNormal) + { + float3 normal = UnpackScaleNormal(UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceNormalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceNormalUV], _IridescenceNormalMap)), _IridescenceNormalIntensity); + return normalize( + normal.x * poiMesh.tangent + + normal.y * poiMesh.binormal + + normal.z * baseNormal + ); + } + + void applyIridescence(inout float4 albedo, inout float3 IridescenceEmission) + { + float3 normal = poiMesh.normals[_IridescenceNormalSelection]; + + // Use custom normal map + + if (_IridescenceNormalToggle) + { + normal = calculateNormal(normal); + } + + float ndotv = dot(normal, poiCam.viewDir); + + float4 iridescenceColor = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceRamp, _MainTex, 1 - abs(ndotv)); + float4 iridescenceMask = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceMaskUV], _IridescenceMask)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskIridescence != 4) + { + iridescenceMask *= blackLightMask[_BlackLightMaskIridescence]; + } + #endif + + + albedo.rgb = lerp(albedo.rgb, saturate(iridescenceColor.rgb * _IridescenceIntensity), iridescenceColor.a * _IridescenceReplaceBlend * iridescenceMask); + albedo.rgb += saturate(iridescenceColor.rgb * _IridescenceIntensity * iridescenceColor.a * _IridescenceAddBlend * iridescenceMask); + albedo.rgb *= saturate(lerp(1, iridescenceColor.rgb * _IridescenceIntensity, iridescenceColor.a * _IridescenceMultiplyBlend * iridescenceMask)); + + IridescenceEmission = saturate(iridescenceColor.rgb * _IridescenceIntensity) * iridescenceColor.a * iridescenceMask * _IridescenceEmissionStrength; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta new file mode 100644 index 00000000..5ffcf066 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d85f085a4d582bd4cbab5ee472f1cee7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc new file mode 100644 index 00000000..8f35cb62 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc @@ -0,0 +1,668 @@ + +#ifndef POI_LIGHTING + #define POI_LIGHTING + + float _LightingShadingEnabled; + float _LightingRampType; + float _LightingIgnoreAmbientColor; + float _UseShadowTexture; + float _LightingEnableAO; + float _LightingDetailShadowsEnabled; + + float _LightingOnlyUnityShadows; + float _LightingMode; + float _ForceLightDirection; + float _ShadowStrength; + float _OutlineShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _CastedShadowSmoothing; + float _AttenuationMultiplier; + float _EnableLighting; + float _LightingControlledUseLightColor; + fixed _LightingStandardSmoothness; + fixed _LightingStandardControlsToon; + fixed _LightingMinLightBrightness; + float _LightingUseShadowRamp; + float _LightingMinShadowBrightnessRatio; + UNITY_DECLARE_TEX2D(_ToonRamp); + fixed _LightingMonochromatic; + + fixed _LightingGradientStart; + fixed _LightingGradientEnd; + float3 _LightingShadowColor; + POI_TEXTURE_NOSAMPLER(_LightingShadowTexture); + float _AOStrength; + fixed _LightingDetailStrength; + fixed _LightingAdditiveDetailStrength; + fixed _LightingNoIndirectMultiplier; + fixed _LightingNoIndirectThreshold; + float _LightingUncapped; + + float _LightingDirectColorMode; + float _LightingIndirectColorMode; + float _LightingAdditiveType; + fixed _LightingAdditiveGradientStart; + fixed _LightingAdditiveGradientEnd; + fixed _LightingAdditivePassthrough; + float _LightingDirectAdjustment; + float _LightingIndirect; + // HSL JUNK + float _LightingEnableHSL; + float _LightingShadowHue; + float _LightingShadowSaturation; + float _LightingShadowLightness; + float _LightingHSLIntensity; + /* + UNITY_DECLARE_TEX2D_NOSAMPLER(_ToonRamp3); + half _LightingShadowStrength3; + half _ShadowOffset3; + */ + + half4 shadowStrength; + + POI_TEXTURE_NOSAMPLER(_LightingDetailShadows); + POI_TEXTURE_NOSAMPLER(_LightingAOTex); + POI_TEXTURE_NOSAMPLER(_LightingShadowMask); + + /* + * MIT License + * + * Copyright (c) 2018 s-ilent + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + /* + * Silent's code starts here + */ + + float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n) + { + // average energy + float R0 = max(0, L0); + + // avg direction of incoming light + float3 R1 = 0.5f * L1; + + // directional brightness + float lenR1 = length(R1); + + // linear angle between normal and direction 0-1 + //float q = 0.5f * (1.0f + dot(R1 / lenR1, n)); + //float q = dot(R1 / lenR1, n) * 0.5 + 0.5; + float q = dot(normalize(R1), n) * 0.5 + 0.5; + q = saturate(q); // Thanks to ScruffyRuffles for the bug identity. + + // power for q + // lerps from 1 (linear) to 3 (cubic) based on directionality + float p = 1.0f + 2.0f * lenR1 / R0; + + // dynamic range constant + // should vary between 4 (highly directional) and 0 (ambient) + float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0); + + return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p)); + } + + half3 BetterSH9(half4 normal) + { + float3 indirect; + float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0; + indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal); + indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal); + indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal); + indirect = max(0, indirect); + indirect += SHEvalLinearL2(normal); + return indirect; + } + + float3 BetterSH9(float3 normal) + { + return BetterSH9(float4(normal, 1)); + } + + /* + * Standard stuff starts here + */ + UnityLight CreateLight(float3 normal, fixed detailShadowMap) + { + UnityLight light; + light.dir = poiLight.direction; + light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap); + light.ndotl = DotClamped(normal, poiLight.direction); + return light; + } + + float FadeShadows(float attenuation) + { + #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + // UNITY_LIGHT_ATTENUATION doesn't fade shadows for us. + + #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + attenuation = lerp(1, poiLight.attenuation, float(0)); + #endif + + float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); + float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ); + float shadowFade = UnityComputeShadowFade(shadowFadeDistance); + float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); + attenuation = UnityMixRealtimeAndBakedShadows( + attenuation, bakedAttenuation, shadowFade + ); + #endif + + return attenuation; + } + + void ApplySubtractiveLighting(inout UnityIndirect indirectLight) + { + #if SUBTRACTIVE_LIGHTING + poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0))); + + float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz)); + float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb; + float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate; + subtractedLight = max(subtractedLight, unity_ShadowColor.rgb); + subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x); + indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse); + #endif + } + + float3 weightedBlend(float3 layer1, float3 layer2, float2 weights) + { + return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y); + } + + UnityIndirect CreateIndirectLight(float3 normal) + { + UnityIndirect indirectLight; + indirectLight.diffuse = 0; + indirectLight.specular = 0; + + #if defined(FORWARD_BASE_PASS) + #if defined(LIGHTMAP_ON) + indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy)); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy + ); + indirectLight.diffuse = DecodeDirectionalLightmap( + indirectLight.diffuse, lightmapDirection, normal + ); + #endif + ApplySubtractiveLighting(indirectLight); + #endif + + #if defined(DYNAMICLIGHTMAP_ON) + float3 dynamicLightDiffuse = DecodeRealtimeLightmap( + UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw) + ); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_DynamicDirectionality, unity_DynamicLightmap, + poiMesh.lightmapUV.zw + ); + indirectLight.diffuse += DecodeDirectionalLightmap( + dynamicLightDiffuse, dynamicLightmapDirection, normal + ); + #else + indirectLight.diffuse += dynamicLightDiffuse; + #endif + #endif + + #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON) + #if UNITY_LIGHT_PROBE_PROXY_VOLUME + if (unity_ProbeVolumeParams.x == 1) + { + indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume( + float4(normal, 1), poiMesh.worldPos + ); + indirectLight.diffuse = max(0, indirectLight.diffuse); + #if defined(UNITY_COLORSPACE_GAMMA) + indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse); + #endif + } + else + { + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + } + #else + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + #endif + #endif + + float3 reflectionDir = reflect(-poiCam.viewDir, normal); + Unity_GlossyEnvironmentData envData; + envData.roughness = 1 - float(0); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + #if UNITY_SPECCUBE_BLENDING + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + indirectLight.specular = lerp(probe1, probe0, interpolator); + } + else + { + indirectLight.specular = probe0; + } + #else + indirectLight.specular = probe0; + #endif + float occlusion = 1; + + if(float(0)) + { + occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + } + + indirectLight.diffuse *= occlusion; + indirectLight.diffuse = max(indirectLight.diffuse, float(0)); + indirectLight.specular *= occlusion; + #endif + + return indirectLight; + } + + /* + * Poiyomi's cool as heck code starts here :smug: + */ + + half PoiDiffuse(half NdotV, half NdotL, half LdotH) + { + half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5); + // Two schlick fresnel term + half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL)); + half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV)); + + return lightScatter * viewScatter; + } + + float3 ShadeSH9Indirect() + { + return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Direct() + { + return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Normal(float3 normalDirection) + { + return ShadeSH9(half4(normalDirection, 1.0)); + } + + half3 GetSHLength() + { + half3 x, x1; + x.r = length(unity_SHAr); + x.g = length(unity_SHAg); + x.b = length(unity_SHAb); + x1.r = length(unity_SHBr); + x1.g = length(unity_SHBg); + x1.b = length(unity_SHBb); + return x + x1; + } + + float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap) + { + return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])); + } + + void calculateBasePassLightMaps() + { + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + float AOMap = 1; + float AOStrength = 1; + float3 lightColor = poiLight.color; + /* + * Generate Basic Light Maps + */ + + bool lightExists = false; + if (all(_LightColor0.rgb >= 0.002)) + { + lightExists = true; + } + #ifndef OUTLINE + + if(float(0)) + { + AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + AOStrength = float(1); + } + + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + if (lightExists) + { + lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + } + else + { + lightColor = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + } + + //lightColor = magic * magiratio + normalLight * normaRatio; + //lightColor = magic + normalLight; + #endif + #endif + + float3 grayscale_vector = float3(.33333, .33333, .33333); + float3 ShadeSH9Plus = GetSHLength(); + float3 ShadeSH9Minus = BetterSH9(float4(0, 0, 0, 1)); + + shadowStrength = 1; + #ifndef OUTLINE + shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(1); + #else + shadowStrength = float(1); + #endif + + float bw_lightColor = dot(lightColor, grayscale_vector); + float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector)); + float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector); + float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector); + float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); + + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(0)) + { + poiLight.lightMap = poiLight.attenuation; + } + else + { + poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); + } + poiLight.lightMap *= detailShadow; + + /* + * Decide on light colors + */ + + float3 indirectLighting = 0; + float3 directLighting = 0; + + + + + if (float(0) == 1) + { + indirectLighting = BetterSH9(float4(poiMesh.normals[0], 1)); + } + else + { + indirectLighting = ShadeSH9Minus; + } + + poiLight.directLighting = lightColor; + poiLight.indirectLighting = indirectLighting; + + + if(float(0) == 0) + { + float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + + float magiLumi = calculateluminance(magic); + float normaLumi = calculateluminance(normalLight); + float maginormalumi = magiLumi + normaLumi; + + float magiratio = magiLumi / maginormalumi; + float normaRatio = normaLumi / maginormalumi; + + float target = calculateluminance(magic * magiratio + normalLight * normaRatio); + float3 properLightColor = magic + normalLight; + float properLuminance = calculateluminance(magic + normalLight); + directLighting = properLightColor * max(0.0001, (target / properLuminance)); + } + else + { + directLighting = lightColor; + } + + + if(!float(0)) + { + float directluminance = calculateluminance(directLighting); + float indirectluminance = calculateluminance(indirectLighting); + directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1))); + indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1))); + } + + directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0)); + indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0)); + + if(max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0) + { + indirectLighting = directLighting * _LightingNoIndirectMultiplier; + } + + + if(float(0)) + { + float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1); + if(directluminance > 0) + { + indirectLighting = max(0.001, indirectLighting); + } + float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1); + float targetluminance = directluminance * float(0); + if(indirectluminance < targetluminance) + { + indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance); + } + } + + /* + * Create Shade Maps + */ + + if (float(0)) + { + switch(float(0)) + { + case 0: // Ramp Texture + { + poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)), shadowStrength.r); + + if (float(0)) + { + poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + else + { + poiLight.finalLighting = lerp(indirectLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + } + break; + case 1: // Math Gradient + { + poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)); + float3 shadowColor = float4(1,1,1,1); + + if (float(0)) + { + shadowColor = 1; + } + + if(float(0)) + { + poiLight.finalLighting = lerp((directLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + else + { + poiLight.finalLighting = lerp((indirectLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + } + break; + } + } + else + { + poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap); + poiLight.finalLighting = directLighting; + } + + if(!float(0)) + { + poiLight.finalLighting = saturate(poiLight.finalLighting); + } + //poiLight.finalLighting *= .8; + #endif + } + + void applyShadowTexture(inout float4 albedo) + { + + if (float(0) && float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, POI2D_SAMPLER_PAN(_LightingShadowTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1), (1 - poiLight.rampedLightMap) * shadowStrength); + } + } + + float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL) + { + fixed detailShadow = 1; + + if(float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + return lightColor * attenuationDotNL * detailShadow; + } + else + { + return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow; + } + } + + + float3 calculateFinalLighting(inout float3 albedo, float4 finalColor) + { + float3 finalLighting = 1; + // Additive Lighting + #ifdef FORWARD_ADD_PASS + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow; + } + else + { + #if defined(POINT) || defined(SPOT) + finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow; + #else + finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow; + #endif + } + #endif + + // Base and Meta Lighting + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + #ifdef VERTEXLIGHT_ON + poiLight.vFinalLighting = 0; + + for (int index = 0; index < 4; index ++) + { + poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vCorrectedDotNL[index]); + } + #endif + + switch(float(0)) + { + case 0: // Toon Lighting + { + // HSL Shading + + if (float(0)) + { + float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap); + albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1)); + } + + // Normal Shading + + if (float(0) > 0) + { + poiLight.finalLighting = max(0.001, poiLight.finalLighting); + float finalluminance = calculateluminance(poiLight.finalLighting); + finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0)))); + } + else + { + finalLighting = poiLight.finalLighting; + } + } + break; + case 1: // realistic + { + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb; + finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0)); + } + break; + } + #endif + return finalLighting; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta new file mode 100644 index 00000000..fc572dfd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5f77da958987b1341bcb310466d16b6a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc new file mode 100644 index 00000000..c23736df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc @@ -0,0 +1,243 @@ +#ifndef POI_MSDF + #define POI_MSDF + + sampler2D _TextGlyphs; + float4 _TextGlyphs_ST; + float4 _TextGlyphs_TexelSize; + float _TextFPSUV; + float _TextTimeUV; + float _TextPositionUV; + float _TextPixelRange; + + float _TextFPSEnabled; + float _TextPositionEnabled; + float _TextTimeEnabled; + + + float4 _TextFPSColor; + half _TextFPSEmissionStrength; + fixed4 _TextFPSPadding; + half2 _TextFPSOffset; + half2 _TextFPSScale; + half _TextFPSRotation; + + fixed _TextPositionVertical; + float4 _TextPositionColor; + half _TextPositionEmissionStrength; + fixed4 _TextPositionPadding; + half2 _TextPositionOffset; + half2 _TextPositionScale; + half _TextPositionRotation; + + float4 _TextTimeColor; + half _TextTimeEmissionStrength; + fixed4 _TextTimePadding; + half2 _TextTimeOffset; + half2 _TextTimeScale; + half _TextTimeRotation; + + #define glyphWidth 0.0625 + + #define ASCII_LEFT_PARENTHESIS 40 + #define ASCII_RIGHT_PARENTHESIS 41 + #define ASCII_POSITIVE 43 + #define ASCII_PERIOD 46 + #define ASCII_NEGATIVE 45 + #define ASCII_COMMA 44 + #define ASCII_E 69 + #define ASCII_F 70 + #define ASCII_I 73 + #define ASCII_M 77 + #define ASCII_O 79 + #define ASCII_P 80 + #define ASCII_S 83 + #define ASCII_T 54 + #define ASCII_SEMICOLON 58 + + float3 globalTextEmission; + + half2 getAsciiCoordinate(float index) + { + return half2((index - 1) / 16, 1 - ((floor(index / 16 - glyphWidth)) / 16)); + } + + float median(float r, float g, float b) + { + return max(min(r, g), min(max(r, g), b)); + } + + void ApplyPositionText(inout float4 albedo, float2 uv) + { + float3 cameraPos = clamp(getCameraPosition(), -999, 999); + float3 absCameraPos = abs(cameraPos); + float totalCharacters = 20; + float positionArray[20]; + positionArray[0] = cameraPos.x >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[1] = floor((absCameraPos.x * .01) % 10) + 48; + positionArray[2] = floor((absCameraPos.x * .1) % 10) + 48; + positionArray[3] = floor(absCameraPos.x % 10) + 48; + positionArray[4] = ASCII_PERIOD; + positionArray[5] = floor((absCameraPos.x * 10) % 10) + 48; + positionArray[6] = ASCII_COMMA; + positionArray[7] = cameraPos.y >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[8] = floor((absCameraPos.y * .01) % 10) + 48; + positionArray[9] = floor((absCameraPos.y * .1) % 10) + 48; + positionArray[10] = floor(absCameraPos.y % 10) + 48; + positionArray[11] = ASCII_PERIOD; + positionArray[12] = floor((absCameraPos.y * 10) % 10) + 48; + positionArray[13] = ASCII_COMMA; + positionArray[14] = cameraPos.z >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[15] = floor((absCameraPos.z * .01) % 10) + 48; + positionArray[16] = floor((absCameraPos.z * .1) % 10) + 48; + positionArray[17] = floor(absCameraPos.z % 10) + 48; + positionArray[18] = ASCII_PERIOD; + positionArray[19] = floor((absCameraPos.z * 10) % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if (uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(positionArray[currentCharacter]); + + float2 startUV = float2(1 / totalCharacters * currentCharacter, 0); + float2 endUV = float2(1 / totalCharacters * (currentCharacter + 1), 1); + + fixed4 textPositionPadding = float4(0,0,0,0); + textPositionPadding *= 1 / totalCharacters; + uv = remapClamped(uv, startUV, endUV, float2(glyphPos.x + textPositionPadding.x, glyphPos.y - glyphWidth + textPositionPadding.y), float2(glyphPos.x + glyphWidth - textPositionPadding.z, glyphPos.y - textPositionPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textPositionPadding.z - .001 || uv.x < glyphPos.x + textPositionPadding.x + .001 || uv.y > glyphPos.y - textPositionPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textPositionPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyTimeText(inout float4 albedo, float2 uv) + { + float instanceTime = _Time.y; + float hours = instanceTime / 3600; + float minutes = (instanceTime / 60) % 60; + float seconds = instanceTime % 60; + float totalCharacters = 8; + float timeArray[8]; + timeArray[0] = floor((hours * .1) % 10) + 48; + timeArray[1] = floor(hours % 10) + 48; + timeArray[2] = ASCII_SEMICOLON; + timeArray[3] = floor((minutes * .1) % 10) + 48; + timeArray[4] = floor(minutes % 10) + 48; + timeArray[5] = ASCII_SEMICOLON; + timeArray[6] = floor((seconds * .1) % 10) + 48; + timeArray[7] = floor(seconds % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(timeArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + fixed4 textTimePadding = float4(0,0,0,0); + textTimePadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textTimePadding.x, glyphPos.y - glyphWidth + textTimePadding.y), float2(glyphPos.x + glyphWidth - textTimePadding.z, glyphPos.y - textTimePadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textTimePadding.z - .001 || uv.x < glyphPos.x + textTimePadding.x + .001 || uv.y > glyphPos.y - textTimePadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textTimePadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyFPSText(inout float4 albedo, float2 uv) + { + float smoothDeltaTime = clamp(unity_DeltaTime.w, 0, 999); + float totalCharacters = 7; + float fpsArray[7]; + fpsArray[0] = ASCII_F; + fpsArray[1] = ASCII_P; + fpsArray[2] = ASCII_S; + fpsArray[3] = ASCII_SEMICOLON; + fpsArray[4] = floor((smoothDeltaTime * .01) % 10) + 48; + fpsArray[5] = floor((smoothDeltaTime * .1) % 10) + 48; + fpsArray[6] = floor(smoothDeltaTime % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(fpsArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + + fixed4 textFPSPadding = float4(0,0,0,0); + textFPSPadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textFPSPadding.x, glyphPos.y - glyphWidth + textFPSPadding.y), float2(glyphPos.x + glyphWidth - textFPSPadding.z, glyphPos.y - textFPSPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textFPSPadding.z - .001 || uv.x < glyphPos.x + textFPSPadding.x + .001 || uv.y > glyphPos.y - textFPSPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textFPSPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,1,1,1).rgb, opacity * float4(1,1,1,1).a); + globalTextEmission += float4(1,1,1,1).rgb * opacity * float(0); + } + + void ApplyTextOverlayColor(inout float4 albedo, inout float3 textOverlayEmission) + { + globalTextEmission = 0; + half positionalOpacity = 0; + #ifdef EFFECT_BUMP + + if(float(0)) + { + ApplyFPSText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyPositionText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyTimeText(albedo, poiMesh.uv[float(0)]); + } + + textOverlayEmission = globalTextEmission; + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta new file mode 100644 index 00000000..83412e75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 84e267349147175468cc5a9fdd25e932 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc new file mode 100644 index 00000000..ecac0805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc @@ -0,0 +1,33 @@ +#ifndef POI_MACROS + #define POI_MACROS + + #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale + + #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex))) + #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + + #ifdef POINT + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; + #endif + + #ifdef SPOT + #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)) + #else + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord + #endif + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + DECLARE_LIGHT_COORD(input, worldPos); \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta new file mode 100644 index 00000000..ca773d0e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 700fa9a5f6312954d8ddf92feaae3459 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc new file mode 100644 index 00000000..270384af --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc @@ -0,0 +1,147 @@ +#ifndef POI_MAINTEXTURE + #define POI_MAINTEXTURE + + + + POI_TEXTURE_NOSAMPLER(_AlphaMask); + POI_TEXTURE_NOSAMPLER(_MainFadeTexture); + float4 _Color; + float _MainVertexColoring; + float _MainUseVertexColorAlpha; + float _Saturation; + float2 _MainDistanceFade; + half _MainMinAlpha; + float _MainHueShift; + #ifdef COLOR_GRADING_HDR + POI_TEXTURE_NOSAMPLER(_MainHueShiftMask); + float _MainHueShiftToggle; + float _MainHueShiftSpeed; + float _MainHueShiftReplace; + #endif + + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailTex); + half _DetailTexIntensity; + half3 _DetailTint; + float _DetailBrightness; + #endif + //globals + float alphaMask; + half3 diffColor; + + #include "CGI_PoiBackFace.cginc" + + float3 wireframeEmission; + + inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo) + { + half4 specGloss = 0; + half3 specColor = specGloss.rgb; + half smoothness = specGloss.a; + + half oneMinusReflectivity; + diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specColor, /*out*/ oneMinusReflectivity); + + FragmentCommonData o = (FragmentCommonData)0; + o.diffColor = diffColor; + o.specColor = specColor; + o.oneMinusReflectivity = oneMinusReflectivity; + o.smoothness = smoothness; + return o; + } + + inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo) + { + i_tex = i_tex; + + FragmentCommonData o = SpecularSetup(i_tex, albedo); + o.normalWorld = float4(0, 0, 0, 1); + o.eyeVec = poiCam.viewDir; + o.posWorld = i_posWorld; + + // NOTE: shader relies on pre-multiply alpha-blend (float(1) = One, float(0) = OneMinusSrcAlpha) + o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha); + return o; + } + + void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask) + { + dissolveEmission = 0; + + #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + #endif + + alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + mainTexture.a *= alphaMask; + + #ifndef POI_SHADOW + albedo = float4(lerp(mainTexture.rgb, dot(mainTexture.rgb, float3(0.3, 0.59, 0.11)), -float(0)) * max(float4(1,1,1,1).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, GammaToLinearSpace(poiMesh.vertexColor.rgb), float(0)), mainTexture.a * max(float4(1,1,1,1).a, 0.0000001)); + + #ifdef POI_LIGHTING + applyShadowTexture(albedo); + #endif + + albedo *= lerp(1, poiMesh.vertexColor.a, float(0)); + #ifdef POI_RGBMASK + albedo.rgb = calculateRGBMask(albedo.rgb); + #endif + + albedo.a = saturate(float(0) + albedo.a); + + wireframeEmission = 0; + #ifdef POI_WIREFRAME + applyWireframe(wireframeEmission, albedo); + #endif + float backFaceDetailIntensity = 1; + + float mixedHueShift = float(0); + applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission); + + #ifdef POI_FUR + calculateFur(); + #endif + + #ifdef COLOR_GRADING_HDR + float hueShiftAlpha = POI2D_SAMPLER_PAN(_MainHueShiftMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if(float(1)) + { + albedo.rgb = lerp(albedo.rgb, hueShift(albedo.rgb, mixedHueShift + float(0) * _Time.x), hueShiftAlpha); + } + else + { + albedo.rgb = hueShift(albedo.rgb, frac((mixedHueShift - (1 - hueShiftAlpha) + float(0) * _Time.x))); + } + #endif + #ifdef FINALPASS + half3 detailTexture = POI2D_SAMPLER_PAN(_DetailTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb * float4(1,1,1,1).rgb; + albedo.rgb *= LerpWhiteTo(detailTexture * float(1) * unity_ColorSpaceDouble.rgb, detailMask.r * float(1) * backFaceDetailIntensity); + #endif + albedo.rgb = saturate(albedo.rgb); + + #ifdef POI_HOLOGRAM + ApplyHoloAlpha(albedo); + #endif + + s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo); + #endif + + #ifdef DISTORT + calculateDissolve(albedo, dissolveEmission); + #endif + } + + void distanceFade(inout float4 albedo) + { + half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(fadeMap) + { + half fadeValue = max(smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, poiCam.distanceToVert), float(0)); + albedo.a *= fadeValue; + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta new file mode 100644 index 00000000..81821743 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 904a26955f1115d41bdfb1535c9de499 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc new file mode 100644 index 00000000..3aa6d6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc @@ -0,0 +1,115 @@ +#ifndef MATCAP + #define MATCAP + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap); float4 _Matcap_ST; + POI_TEXTURE_NOSAMPLER(_MatcapMask); + float _MatcapMaskInvert; + float _MatcapBorder; + float4 _MatcapColor; + float _MatcapIntensity; + float _MatcapReplace; + float _MatcapMultiply; + float _MatcapAdd; + float _MatcapEnable; + float _MatcapLightMask; + float _MatcapEmissionStrength; + float _MatcapNormal; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap2);float4 _Matcap2_ST; + POI_TEXTURE_NOSAMPLER(_Matcap2Mask); + float _Matcap2MaskInvert; + float _Matcap2Border; + float4 _Matcap2Color; + float _Matcap2Intensity; + float _Matcap2Replace; + float _Matcap2Multiply; + float _Matcap2Add; + float _Matcap2Enable; + float _Matcap2LightMask; + float _Matcap2EmissionStrength; + float _Matcap2Normal; + + void blendMatcap(inout float4 finalColor, float add, float multiply, float replace, float4 matcapColor, float matcapMask, inout float3 matcapEmission, float emissionStrength + #ifdef POI_LIGHTING + , float matcapLightMask + #endif + #ifdef POI_BLACKLIGHT + , uint blackLightMaskIndex + #endif + ) + { + #ifdef POI_LIGHTING + if (matcapLightMask) + { + matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); + } + #endif + #ifdef POI_BLACKLIGHT + if(blackLightMaskIndex != 4) + { + matcapMask *= blackLightMask[blackLightMaskIndex]; + } + #endif + + finalColor.rgb = lerp(finalColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a); + finalColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); + finalColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; + matcapEmission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; + } + + void applyMatcap(inout float4 finalColor, inout float3 matcapEmission) + { + float4 matcap = 0; + float matcapMask = 0; + float4 matcap2 = 0; + float matcap2Mask = 0; + + // Both matcaps use the same coordinates + half3 worldViewUp = normalize(half3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); + + // Matcap 1 + half2 matcapUV = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + + matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(1,1,1,1); + matcap.rgb *= float(1); + matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if (float(0)) + { + matcapMask = 1 - matcapMask; + } + + blendMatcap(finalColor, float(0), float(0), float(1), matcap, matcapMask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap + #endif + ); + + // Matcap 2 + + if (float(0)) + { + half2 matcapUV2 = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + matcap2 = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap2, _MainTex, TRANSFORM_TEX(matcapUV2, _Matcap2)) * float4(1,1,1,1); + matcap2.rgb *= float(1); + matcap2Mask = POI2D_SAMPLER_PAN(_Matcap2Mask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(float(0)) + { + matcap2Mask = 1 - matcap2Mask; + } + blendMatcap(finalColor, float(0), float(0), float(0), matcap2, matcap2Mask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap2 + #endif + ); + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta new file mode 100644 index 00000000..0c504d81 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 96fc24ec34404eb4cb22af8ce8813eeb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc new file mode 100644 index 00000000..b2d07a38 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc @@ -0,0 +1,104 @@ +/* +MIT License + +Copyright (c) 2019 wraikny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +VertexTransformShader is dependent on: +*/ + +#ifndef POI_MATH + #define POI_MATH + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float4 quaternion_conjugate(float4 v) + { + return float4( + v.x, -v.yzw + ); + } + + float4 quaternion_mul(float4 v1, float4 v2) + { + float4 result1 = (v1.x * v2 + v1 * v2.x); + + float4 result2 = float4( + - dot(v1.yzw, v2.yzw), + cross(v1.yzw, v2.yzw) + ); + + return float4(result1 + result2); + } + + // angle : radians + float4 get_quaternion_from_angle(float3 axis, float angle) + { + return float4( + cos(angle / 2.0), + normalize(axis) * sin(angle / 2.0) + ); + } + + float4 quaternion_from_vector(float3 inVec) + { + return float4(0.0, inVec); + } + + float degree_to_radius(float degree) + { + return( + degree / 180.0 * pi + ); + } + + float3 rotate_with_quaternion(float3 inVec, float3 rotation) + { + float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x)); + float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y)); + float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z)); + + #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C)) + float4 quaternion = normalize(MUL3(qx, qy, qz)); + float4 conjugate = quaternion_conjugate(quaternion); + + float4 inVecQ = quaternion_from_vector(inVec); + + float3 rotated = ( + MUL3(quaternion, inVecQ, conjugate) + ).yzw; + + return rotated; + } + + float4 transform(float4 input, float4 pos, float4 rotation, float4 scale) + { + input.rgb *= (scale.xyz * scale.w); + input = float4( + rotate_with_quaternion(input.xyz, rotation.xyz * rotation.w) + + (pos.xyz * pos.w), + input.w + ); + return input; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta new file mode 100644 index 00000000..35e5b733 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8e63a1a8702c0754699e74a564898dcf +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc new file mode 100644 index 00000000..916f65eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc @@ -0,0 +1,130 @@ +#ifndef POI_METAL + #define POI_METAL + + samplerCUBE _CubeMap; + float _SampleWorld; + POI_TEXTURE_NOSAMPLER(_MetallicMask); + POI_TEXTURE_NOSAMPLER(_SmoothnessMask); + float _Metallic; + float _InvertSmoothness; + float _Smoothness; + float _EnableMetallic; + float3 _MetalReflectionTint; + POI_TEXTURE_NOSAMPLER(_MetallicTintMap); + + float3 finalreflections; + float metalicMap; + float3 reflection; + float roughness; + float lighty_boy_uwu_var; + + bool shouldMetalHappenBeforeLighting() + { + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool probeExists = !(unity_SpecCube0_HDR.a == 0 && envSample.a == 0); + return probeExists && !float(0); + } + + float3 fresnelRelflection(in float4 albedo) + { + half3 dotNV = 1 - abs(poiLight.nDotV); + half f = dotNV * dotNV * dotNV * dotNV; + //f *= i_sold.fresnel; + return lerp(lerp(DielectricSpec.rgb, albedo.rgb, metalicMap), saturate(1 - roughness + metalicMap), f); + } + + void calculateMetallicness() + { + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + } + + void ApplyMetallics(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflection = lerp(probe1, probe0, interpolator); + } + else + { + reflection = probe0; + } + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } + + void ApplyMetallicsFake(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + reflection = texCUBElod(_CubeMap, float4(poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta new file mode 100644 index 00000000..2d17f747 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0a0aa0652a0cdff409ac54de3d3a9991 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc new file mode 100644 index 00000000..8bb16398 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc @@ -0,0 +1,77 @@ +#ifndef POI_MIRROR + #define POI_MIRROR + + float _Mirror; + float _EnableMirrorTexture; + POI_TEXTURE_NOSAMPLER(_MirrorTexture); + + + void applyMirrorRenderVert(inout float4 vertex) + { + + if (float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + void applyMirrorRenderFrag() + { + + if(float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + void applyMirrorTexture(inout float4 mainTexture) + { + + if(float(0)) + { + if(IsInMirror()) + { + mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + } + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta new file mode 100644 index 00000000..62d806ed --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ec11b84a0b04535419a29a972c979c2a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc new file mode 100644 index 00000000..62e63c91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc @@ -0,0 +1,107 @@ +float _OutlineRimLightBlend; +float _OutlineLit; +float _OutlineTintMix; +float2 _MainTexPan; +float _MainTextureUV; + +float4 frag(v2f i, uint facing: SV_IsFrontFace): COLOR +{ + float4 finalColor = 1; + + if (float(0)) + { + UNITY_SETUP_INSTANCE_ID(i); + + float3 finalEmission = 0; + float4 albedo = 1; + + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + float3 uselessData0; + float3 uselessData1; + initTextureData(albedo, mainTexture, uselessData0, uselessData1, detailMask); + + + fixed4 col = mainTexture; + float alphaMultiplier = smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(getCameraPosition(), i.worldPos)); + float OutlineMask = tex2D(_OutlineMask, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0)).r; + clip(OutlineMask * float(0) - 0.001); + + col = col * 0.00000000001 + tex2D(_OutlineTexture, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineTexture) + _Time.x * float4(0,0,0,0) ); + col.a *= albedo.a; + col.a *= alphaMultiplier; + + #ifdef POI_RANDOM + col.a *= i.angleAlpha; + #endif + + poiCam.screenUV = calcScreenUVs(i.grabPos); + col.a *= float4(1,1,1,1).a; + + + if(float(0) == 1) + { + applyDithering(col); + } + + clip(col.a - float(0.5)); + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + + if(float(0) == 1) + { + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + col.rgb = mainTexture.rgb; + } + else if(float(0) == 2) + { + col.rgb = lerp(col.rgb, poiLight.color, float(0)); + } + col.rgb *= float4(1,1,1,1).rgb; + + if(float(0) == 1) + { + col.rgb = lerp(col.rgb, mainTexture.rgb, float(0)); + } + + finalColor = col; + + #ifdef POI_LIGHTING + + if(float(1)) + { + finalColor.rgb *= calculateFinalLighting(finalColor.rgb, finalColor); + } + #endif + finalColor.rgb += (col.rgb * float(0)); + } + else + { + clip(-1); + } + return finalColor; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta new file mode 100644 index 00000000..d2139d57 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 53b32d1281ed7d64ca4ee2cbc59858c6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc new file mode 100644 index 00000000..900e9e43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc @@ -0,0 +1,105 @@ +#ifndef OutlineVert + #define OutlineVert + + #include "CGI_PoiV2F.cginc" + + float _OutlineMode; + float4 _OutlinePersonaDirection; + float4 _OutlineDropShadowOffset; + float _OutlineUseVertexColors; + float _OutlineFixedSize; + float _commentIfZero_EnableOutlinePass; + + sampler2D _OutlineMask; float4 _OutlineMask_ST; float2 _OutlineMaskPan; float _OutlineMaskUV; + v2f vert(appdata v) + { + + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + + float2 uvArray[4]; + uvArray[0] = o.uv0.xy; + uvArray[1] = o.uv0.zw; + uvArray[2] = o.uv1.xy; + uvArray[3] = o.uv1.zw; + + #ifdef POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + o.uv0.xy = v.uv0 + _OutlineGlobalPan.xy * _Time.y; + float outlineMask = 1; + + outlineMask = poiMax(tex2Dlod(_OutlineMask, float4(TRANSFORM_TEX(uvArray[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0), 0, 0)).rgb); + + if (float(0) == 2) + { + outlineMask *= v.color.r; + } + + + if(float(0) != 1) + { + o.normal = UnityObjectToWorldNormal(v.normal); + } + else + { + o.normal = UnityObjectToWorldNormal(v.color); + } + + + half offsetMultiplier = 1; + half distanceOffset = 1; + + if(float(0)) + { + distanceOffset *= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex).xyz); + } + + float3 offset = o.normal * (float(0) * float(0) / 100) * outlineMask * distanceOffset; + + + if(float(0) == 2) + { + float3 lightDirection = poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + offsetMultiplier = saturate(dot(lightDirection, o.normal)); + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 3) + { + half3 viewNormal = mul((float3x3)UNITY_MATRIX_V, o.normal); + offsetMultiplier = saturate(dot(viewNormal.xy, normalize(float4(1,0,0,0).xy))); + + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 4) + { + offset = mul((float3x3)transpose(UNITY_MATRIX_V), float4(1,0,0,0)); + offset *= distanceOffset; + } + + o.worldPos = mul(unity_ObjectToWorld, v.vertex) + float4(offset, 0); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.pos = UnityWorldToClipPos(o.worldPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0); + UNITY_TRANSFER_FOG(o, o.pos); + return o; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta new file mode 100644 index 00000000..b4578d89 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 42f97ae43bd11ad4e85da30dd2363b96 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc new file mode 100644 index 00000000..da64a89d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc @@ -0,0 +1,63 @@ +#ifndef PANOSPHERE + #define PANOSPHERE + + sampler2D _PanosphereTexture; float4 _PanosphereTexture_ST; + POI_TEXTURE_NOSAMPLER(_PanoMask); + float _PanoEmission; + float _PanoBlend; + float4 _PanosphereColor; + float3 _PanospherePan; + float _PanoToggle; + float _PanoCubeMapToggle; + float _PanoInfiniteStereoToggle; + samplerCUBE _PanoCubeMap; half4 _PanoCubeMap_HDR; + + float3 panoColor; + float panoMask; + + float2 projectIt(float3 coords) + { + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude + _Time.y * float4(0,0,0,0).x, latitude + _Time.y * float4(0,0,0,0).y) * float2(1.0 / UNITY_PI, 1.0 / UNITY_PI); + sphereCoords = float2(1.0, 1.0) - sphereCoords; + return(sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; + } + + void applyPanosphereColor(inout float4 albedo, inout float3 panosphereEmission) + { + panoMask = POI2D_SAMPLER_PAN(_PanoMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskPanosphere != 4) + { + panoMask *= blackLightMask[_BlackLightMaskPanosphere]; + } + #endif + + + if(float(0)) + { + float3 cubeUV = mul(poiRotationMatrixFromAngles(float4(0,0,0,0).xyz * _Time.y), float4(-poiCam.viewDir, 1)); + half4 cubemap = texCUBE(_PanoCubeMap, cubeUV); + panoColor = DecodeHDR(cubemap, _PanoCubeMap_HDR); + } + else + { + float2 uv = projectIt(normalize(lerp(getCameraPosition().xyz, poiCam.worldPos.xyz, float(0)) - poiMesh.worldPos.xyz) * - 1); + + float2 ddxuv = ddx(uv); + float2 ddyuv = ddy(uv); + if(any(fwidth(uv) > .5)) + { + ddxuv = ddyuv = 0.001; + } + panoColor = tex2D(_PanosphereTexture, TRANSFORM_TEX(uv, _PanosphereTexture), ddxuv, ddyuv).rgb * float4(1,1,1,1).rgb; + } + panosphereEmission = panoColor * float(0) * panoMask * float(0); + albedo.rgb = lerp(albedo.rgb, panoColor, float(0) * panoMask); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta new file mode 100644 index 00000000..7e326e7c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ff05fe31694d32a49a0ae3229801c86b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc new file mode 100644 index 00000000..6cd94900 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc @@ -0,0 +1,143 @@ +#ifndef POI_PARALLAX + #define POI_PARALLAX + + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxHeightMap); float4 _ParallaxHeightMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxHeightMapMask); + float2 _ParallaxHeightMapPan; + float _ParallaxStrength; + float _ParallaxHeightMapEnabled; + float _ParallaxUV; + + //Internal + float _ParallaxInternalMapEnabled; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxInternalMap); float4 _ParallaxInternalMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxInternalMapMask); + float _ParallaxInternalIterations; + float _ParallaxInternalMinDepth; + float _ParallaxInternalMaxDepth; + float _ParallaxInternalMinFade; + float _ParallaxInternalMaxFade; + float4 _ParallaxInternalMinColor; + float4 _ParallaxInternalMaxColor; + float4 _ParallaxInternalPanSpeed; + float4 _ParallaxInternalPanDepthSpeed; + float _ParallaxInternalHeightmapMode; + float _ParallaxInternalHeightFromAlpha; + + float GetParallaxHeight(float2 uv) + { + return clamp(UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxHeightMap, _MainTex, TRANSFORM_TEX(uv, _ParallaxHeightMap) + _Time.x * float4(0,0,0,0)).g, 0, .99999); + } + /* + float2 ParallaxOffset(float2 viewDir) + { + float height = GetParallaxHeight(); + height -= 0.5; + height *= float(0); + return viewDir * height; + } + */ + float2 ParallaxRaymarching(float2 viewDir) + { + float2 uvOffset = 0; + float stepSize = 0.1; + float2 uvDelta = viewDir * (stepSize * float(0)); + + float stepHeight = 1; + float surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)]); + + + float2 prevUVOffset = uvOffset; + float prevStepHeight = stepHeight; + float prevSurfaceHeight = surfaceHeight; + + for (int i = 1; i < 10 && stepHeight > surfaceHeight; i ++) + { + prevUVOffset = uvOffset; + prevStepHeight = stepHeight; + prevSurfaceHeight = surfaceHeight; + + uvOffset -= uvDelta; + stepHeight -= stepSize; + surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)] + uvOffset); + } + + float prevDifference = prevStepHeight - prevSurfaceHeight; + float difference = surfaceHeight - stepHeight; + float t = prevDifference / (prevDifference + difference); + uvOffset = prevUVOffset -uvDelta * t; + + return uvOffset *= POI2D_SAMPLER_PAN(_ParallaxHeightMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + + void calculateandApplyParallax() + { + + if (float(0)) + { + float2 parallaxOffset = ParallaxRaymarching(poiCam.tangentViewDir.xy); + + if(float(0) == 0) + { + poiMesh.uv[0] += parallaxOffset; + } + + if(float(0) == 1) + { + poiMesh.uv[1] += parallaxOffset; + } + + if(float(0) == 2) + { + poiMesh.uv[2] += parallaxOffset; + } + + if(float(0) == 3) + { + poiMesh.uv[3] += parallaxOffset; + } + } + } + + void calculateAndApplyInternalParallax(inout float4 finalColor) + { + #if defined(_PARALLAXMAP) + + if(float(0)) + { + float3 parallax = 0; + + for (int j = float(1); j > 0; j --) + { + float ratio = (float)j / float(1); + float2 parallaxOffset = _Time.y * (float4(0,0,0,0) + (1 - ratio) * float4(0,0,0,0)); + float fade = lerp(float(0), float(1), ratio); + float4 parallaxColor = UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxInternalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _ParallaxInternalMap) + lerp(float(0), float(1), ratio) * - poiCam.tangentViewDir.xy + parallaxOffset); + float3 parallaxTint = lerp(float4(1,1,1,1), float4(1,1,1,1), ratio); + float parallaxHeight; + if(float(0)) + { + parallaxTint *= parallaxColor.rgb; + parallaxHeight = parallaxColor.a; + } + else + { + parallaxHeight = parallaxColor.r; + } + //float parallaxColor *= lerp(float4(1,1,1,1), float4(1,1,1,1), 1 - ratio); + + if (float(0) == 1) + { + parallax = lerp(parallax, parallaxTint * fade, parallaxHeight >= 1 - ratio); + } + else + { + parallax += parallaxTint * parallaxHeight * fade; + } + } + //parallax /= float(1); + finalColor.rgb += parallax * POI2D_SAMPLER_PAN(_ParallaxInternalMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta new file mode 100644 index 00000000..2bc1963e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5191a242e02844a40932a2abe3fc1ab8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc new file mode 100644 index 00000000..81230e8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc @@ -0,0 +1,233 @@ +/* +USED--------------------------------------------- +"_PARALLAXMAP", +"_REQUIRE_UV2", +"_SUNDISK_NONE", +"_DETAIL_MULX2", +"_GLOSSYREFLECTIONS_OFF", +"_METALLICGLOSSMAP", +"_COLORADDSUBDIFF_ON", +"_SPECGLOSSMAP", +"_TERRAIN_NORMAL_MAP", +"_SUNDISK_SIMPLE", +"_EMISSION", +"_COLORCOLOR_ON", +"_COLOROVERLAY_ON", +"_ALPHAMODULATE_ON", +"_SUNDISK_HIGH_QUALITY", +"_MAPPING_6_FRAMES_LAYOUT", +"_NORMALMAP" +"EFFECT_BUMP", +"BLOOM", +"BLOOM_LOW", +"GRAIN", +"DEPTH_OF_FIELD", +"USER_LUT", +"CHROMATIC_ABERRATION_LOW", +"BLOOM_LENS_DIRT", +"_FADING_ON", +"CHROMATIC_ABERRATION", +"DISTORT", +"GEOM_TYPE_BRANCH", +"_SPECULARHIGHLIGHTS_OFF", +"_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", +"EFFECT_HUE_VARIATION", +"GEOM_TYPE_LEAF", +"GEOM_TYPE_MESH", +"FINALPASS", +"AUTO_EXPOSURE" +"VIGNETTE", +"VIGNETTE_MASKED", +"COLOR_GRADING_HDR", + +UNUSED------------------------------------------- +"_ALPHABLEND_ON", +"_ALPHAPREMULTIPLY_ON", +"_ALPHATEST_ON", +"GEOM_TYPE_BRANCH_DETAIL", +"GEOM_TYPE_FROND", +"PIXELSNAP_ON", +"SOFTPARTICLES_ON", +"DITHERING", +"TONEMAPPING_NEUTRAL", +"TONEMAPPING_FILMIC", +"TONEMAPPING_ACES", +"TONEMAPPING_CUSTOM", +"DEPTH_OF_FIELD_COC_VIEW", +"COLOR_GRADING", +"COLOR_GRADING_LOG_VIEW", +"VIGNETTE_CLASSIC", +"COLOR_GRADING_HDR_3D", + +DO NOT USE ----------------------------------------- +"BILLBOARD_FACE_CAMERA_POS", +*/ + + +#ifndef POI_PASS + #define POI_PASS + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #ifdef POI_META_PASS + #include "UnityMetaPass.cginc" + #endif + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + + #include "CGI_PoiSpawnInVert.cginc" + + #include "CGI_PoiV2F.cginc" + + #ifdef BLOOM_LOW + #include "CGI_PoiBulge.cginc" + #endif + + #include "CGI_PoiVert.cginc" + + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + + #include "CGI_PoiDithering.cginc" + + #ifdef _PARALLAXMAP + #include "CGI_PoiParallax.cginc" + #endif + + #ifdef USER_LUT + #include "CGI_PoiUVDistortion.cginc" + #endif + + #ifdef VIGNETTE + #include "CGI_PoiRGBMask.cginc" + #endif + + #include "CGI_PoiData.cginc" + + #ifdef _SPECULARHIGHLIGHTS_OFF + #include "CGI_PoiBlackLight.cginc" + #endif + + #include "CGI_PoiSpawnInFrag.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + + #ifdef DEPTH_OF_FIELD + #include "CGI_PoiHologram.cginc" + #endif + + #ifdef BLOOM_LENS_DIRT + #include "CGI_PoiIridescence.cginc" + #endif + + + #ifdef FUR + #include "CGI_PoiFur.cginc" + #include "CGI_PoiGeomFur.cginc" + #endif + + #ifdef VIGNETTE_MASKED + #include "CGI_PoiLighting.cginc" + #endif + + #include "CGI_PoiMainTex.cginc" + + #ifdef GEOM_TYPE_BRANCH + #include "CGI_PoiDecal.cginc" + #endif + + #ifdef CHROMATIC_ABERRATION + #include "CGI_PoiVoronoi.cginc" + #endif + + #ifdef _DETAIL_MULX2 + #include "CGI_PoiPanosphere.cginc" + #endif + + #ifdef EFFECT_BUMP + #include "CGI_PoiMSDF.cginc" + #endif + + #ifdef GRAIN + #include "CGI_PoiDepthColor.cginc" + #endif + + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _GLOSSYREFLECTIONS_OFF + #include "CGI_PoiRimLighting.cginc" + #endif + + #ifdef _MAPPING_6_FRAMES_LAYOUT + #include "CGI_PoiEnvironmentalRimLighting.cginc" + #endif + + #ifdef _METALLICGLOSSMAP + #include "CGI_PoiMetal.cginc" + #endif + + #ifdef _COLORADDSUBDIFF_ON + #include "CGI_PoiMatcap.cginc" + #endif + + #ifdef _SPECGLOSSMAP + #include "CGI_PoiSpecular.cginc" + #endif + + #ifdef BLOOM + #include "CGI_PoiVideo.cginc" + #endif + + #ifdef _TERRAIN_NORMAL_MAP + #include "CGI_PoiSubsurfaceScattering.cginc" + #endif + + #include "CGI_PoiBlending.cginc" + #include "CGI_PoiGrab.cginc" + + #ifdef _SUNDISK_SIMPLE + #include "CGI_PoiGlitter.cginc" + #endif + + #ifdef _EMISSION + #include "CGI_PoiEmission.cginc" + #endif + + #ifdef _COLORCOLOR_ON + #include "CGI_PoiClearCoat.cginc" + #endif + + #include "CGI_PoiAlphaToCoverage.cginc" + + #ifdef _COLOROVERLAY_ON + #include "CGI_PoiDebug.cginc" + #endif + #include "CGI_PoiFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta new file mode 100644 index 00000000..e255e161 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c33aa5c21d548324b9d88d93122228f3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc new file mode 100644 index 00000000..5e365972 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc @@ -0,0 +1,26 @@ +#ifndef POI_PASS_OUTLINE + #define POI_PASS_OUTLINE + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "CGI_PoiMacros.cginc" + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiOutlineVert.cginc" + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiLighting.cginc" + #include "CGI_PoiMainTex.cginc" + #include "CGI_PoiData.cginc" + #include "CGI_PoiDithering.cginc" + #include "CGI_PoiOutlineFrag.cginc" +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta new file mode 100644 index 00000000..d7380c3c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c1334f131a5b83f46b71a19f5ed4d447 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc new file mode 100644 index 00000000..d21a5d4d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc @@ -0,0 +1,44 @@ +#ifndef POI_PASS_SHADOW + #define POI_PASS_SHADOW + + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiShadowIncludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiMirror.cginc" + #include "CGI_PoiSpawnInFrag.cginc" + + #include "CGI_PoiV2F.cginc" + #include "CGI_PoiData.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + #include "CGI_PoiDithering.cginc" + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + #include "CGI_PoiSpawnInVert.cginc" + #include "CGI_PoiShadowVert.cginc" + #include "CGI_PoiShadowFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta new file mode 100644 index 00000000..85867511 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5effd6978caca814bb18332c29deb889 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc new file mode 100644 index 00000000..d4cd1697 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc @@ -0,0 +1,131 @@ +#ifndef POI_RGBMASK + #define POI_RGBMASK + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RGBMask); float4 _RGBMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RedTexure); float4 _RedTexure_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GreenTexture); float4 _GreenTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlueTexture); float4 _BlueTexture_ST; + + #ifdef GEOM_TYPE_MESH + POI_NORMAL_NOSAMPLER(_RgbNormalR); + POI_NORMAL_NOSAMPLER(_RgbNormalG); + POI_NORMAL_NOSAMPLER(_RgbNormalB); + float _RgbNormalsEnabled; + #endif + + float4 _RedColor; + float4 _GreenColor; + float4 _BlueColor; + + float4 _RGBMaskPanning; + float4 _RGBRedPanning; + float4 _RGBGreenPanning; + float4 _RGBBluePanning; + + float _RGBBlendMultiplicative; + + float _RGBMaskUV; + float _RGBRed_UV; + float _RGBGreen_UV; + float _RGBBlue_UV; + float _RGBUseVertexColors; + float _RGBNormalBlend; + + static float3 rgbMask; + + void calculateRGBNormals(inout half3 mainTangentSpaceNormal) + { + #ifdef GEOM_TYPE_MESH + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + + if(float(0)) + { + + if(float(0) == 0) + { + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.r); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.g); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.b); + } + return; + } + else + { + half3 newNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0) * rgbMask.r); + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.g); + normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.b); + mainTangentSpaceNormal = BlendNormals(newNormal, mainTangentSpaceNormal); + return; + } + } + #endif + } + + float3 calculateRGBMask(float3 baseColor) + { + //If RGB normals are in use this data will already exist + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + float4 red = POI2D_SAMPLER_PAN(_RedTexure, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 green = POI2D_SAMPLER_PAN(_GreenTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 blue = POI2D_SAMPLER_PAN(_BlueTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + + if(float(0)) + { + float3 RGBColor = 1; + RGBColor = lerp(RGBColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + baseColor *= RGBColor; + } + else + { + baseColor = lerp(baseColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + } + + return baseColor; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta new file mode 100644 index 00000000..525dca26 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 086ab7f105c99834aa8dc352b489d59a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc new file mode 100644 index 00000000..137ef6de --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc @@ -0,0 +1,4 @@ +#ifndef POI_RNG + #define POI_RNG + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta new file mode 100644 index 00000000..2aed67ac --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5d3eff2d88292274ab01edc2e04efba4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..11f3eea2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,41 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + float _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin; + float _CameraAngleMax; + float _ModelAngleMin; + float _ModelAngleMax; + float _AngleMinAlpha; + float _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = float(45) / 180; + half cameraAngleMax = float(90) / 180; + half modelAngleMin = float(45) / 180; + half modelAngleMax = float(90) / 180; + float3 pos = float(0) == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(float4(0,0,1,0)))); + half cameraLookAtModel = remapClamped(.5 * dot(cameraToModelDirection, getCameraForward()) + .5, cameraAngleMax, cameraAngleMin, 0, 1); + half modelLookAtCamera = remapClamped(.5 * dot(-cameraToModelDirection, modelForwardDirection) + .5, modelAngleMax, modelAngleMin, 0, 1); + if (float(0) == 0) + { + return max(cameraLookAtModel, float(0)); + } + else if(float(0) == 1) + { + return max(modelLookAtCamera, float(0)); + } + else if(float(0) == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, float(0)); + } + return 1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta new file mode 100644 index 00000000..263af836 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 03642ca98c6529c48b35c99cfe029729 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc new file mode 100644 index 00000000..d4571c0c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc @@ -0,0 +1,47 @@ +#ifndef POI_RIM + #define POI_RIM + + float4 _RimLightColor; + float _RimLightingInvert; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float _ShadowMix; + float _ShadowMixThreshold; + float _ShadowMixWidthMod; + float _EnableRimLighting; + float _RimBrighten; + float _RimLightNormal; + + POI_TEXTURE_NOSAMPLER(_RimTex); + POI_TEXTURE_NOSAMPLER(_RimMask); + POI_TEXTURE_NOSAMPLER(_RimWidthNoiseTexture); + + float _RimWidthNoiseStrength; + + float4 rimColor = float4(0, 0, 0, 0); + float rim = 0; + + void applyRimLighting(inout float4 albedo, inout float3 rimLightEmission) + { + float rimNoise = POI2D_SAMPLER_PAN(_RimWidthNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimNoise = (rimNoise - .5) * float(0.1); + + float viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + + if (float(0)) + { + viewDotNormal = 1 - abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + } + float rimWidth = float(0.8); + rimWidth -= rimNoise; + float rimMask = POI2D_SAMPLER_PAN(_RimMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimColor = POI2D_SAMPLER_PAN(_RimTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + rimWidth = max(lerp(rimWidth, rimWidth * lerp(0, 1, poiLight.lightMap - float(0.5)) * float(0.5), float(0)),0); + rim = 1 - smoothstep(min(float(0.25), rimWidth), rimWidth, viewDotNormal); + rim *= float4(1,1,1,1).a * rimColor.a * rimMask; + rimLightEmission = rim * lerp(albedo, rimColor, float(0)) * float(0); + albedo.rgb = lerp(albedo.rgb, lerp(albedo.rgb, rimColor, float(0)) + lerp(albedo.rgb, rimColor, float(0)) * float(0), rim); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta new file mode 100644 index 00000000..a4f1bba7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3bed0a31dcd94c849ae35b0ab6c1fca1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc new file mode 100644 index 00000000..16701f61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc @@ -0,0 +1,116 @@ +#ifndef SHADOW_FRAG + #define SHADOW_FRAG + + float2 _MainDistanceFade; + float _ForceOpaque; + float _MainShadowClipMod; + float2 _AlphaMaskPan; + float _AlphaMaskUV; + sampler3D _DitherMaskLOD; + float2 _MainTexPan; + float _MainTextureUV; + + half4 fragShadowCaster( + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + V2FShadow i, uint facing: SV_IsFrontFace + #endif + ): SV_Target + { + poiMesh.uv[0] = i.uv; + poiMesh.uv[1] = i.uv1; + poiMesh.uv[2] = i.uv2; + poiMesh.uv[3] = i.uv3; + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + + + //Possible Bug with clip + float clipValue = clamp(float(0.5) + float(0), - .001, 1.001); + + poiMesh.vertexColor = saturate(i.vertexColor); + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + #if defined(UNITY_STANDARD_USE_SHADOW_UVS) + + half4 alpha = mainTexture; + + + if (float(0)) + { + if(IsInMirror()) + { + alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a; + } + } + + + alpha.a *= smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(i.modelPos, _WorldSpaceCameraPos)); + half alphaMask = POI2D_PAN(_AlphaMask, poiMesh.uv[float(0)], float4(0,0,0,0)); + alpha.a *= alphaMask; + alpha.a *= float4(1,1,1,1).a + .0001; + alpha.a += float(0); + alpha.a = saturate(alpha.a); + + + if(float(0) == 0) + { + alpha.a = 1; + } + + + if(float(0) == 1) + { + applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy); + } + + #ifdef POI_DISSOLVE + float3 fakeEmission = 1; + calculateDissolve(alpha, fakeEmission); + #endif + + if(float(0) == 1) + { + clip(alpha.a - 0.001); + } + + /* + return poiMesh.vertexColor.g; + + #ifdef POI_RANDOM + alpha.a *= i.angleAlpha; + #endif + + + if(float(0) >= 1) + { + applySpawnInShadow(uv[0], i.localPos); + + #if defined(POI_FLIPBOOK) + alpha.a *= applyFlipbookAlphaToShadow(uv[float(0)]); + #endif + } + */ + + if (float(0) == 1) + { + clip(alpha.a - clipValue); + } + + + if(float(0) > 1) + { + float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a; + clip(dither - 0.01); + } + + #endif + SHADOW_CASTER_FRAGMENT(i) + } + + #endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta new file mode 100644 index 00000000..20cba42c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bce49c1481108844783bf23c7e057a21 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc new file mode 100644 index 00000000..fd8f19a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc @@ -0,0 +1,41 @@ +#ifndef SHADOW_INCLUDES + #define SHADOW_INCLUDES + + #define UNITY_STANDARD_USE_SHADOW_UVS 1 + + float4 _Color; + sampler2D _AlphaMask; float4 _AlphaMask_ST; + + struct VertexInputShadow + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + struct V2FShadow + { + V2F_SHADOW_CASTER_NOPOS + float4 pos: SV_POSITION; + float2 uv: TEXCOORD1; + float2 uv1: TEXCOORD2; + float2 uv2: TEXCOORD3; + float2 uv3: TEXCOORD4; + float3 modelPos: TEXCOORD5; + float4 worldPos: TEXCOORD6; + float4 localPos: TEXCOORD7; + float3 angleAlpha: TEXCOORD8; + float4 grabPos: TEXCOORD9; + fixed3 barycentricCoordinates: TEXCOORD10; + float4 vertexColor: TEXCOORD11; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta new file mode 100644 index 00000000..519f1ca8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1c33e3de49aa82240b478a2f08975da4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc new file mode 100644 index 00000000..f0b7184a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc @@ -0,0 +1,80 @@ +float _EnableTouchGlow; +float _EnableBulge; +float _VertexManipulationHeightUV; + +V2FShadow vertShadowCaster(VertexInputShadow v) +{ + V2FShadow o; + UNITY_SETUP_INSTANCE_ID(v); + + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(V2FShadow, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.uv = v.uv0; + o.uv1 = v.uv1; + o.uv2 = v.uv2; + o.uv3 = v.uv3; + + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, v.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.vertexColor = v.color; + + + if(_EnableTouchGlow || _EnableBulge) + { + o.pos = UnityObjectToClipPos(float3(0, 0, -5)); + o.localPos.xyz = float3(0, 0, -5); + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + } + + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + + o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal); + o.pos = UnityApplyLinearShadowBias(o.pos); + + return o; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta new file mode 100644 index 00000000..06d00d97 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8e8567738ee20364ebbf266eda26ad48 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc new file mode 100644 index 00000000..0c18d1ad --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc @@ -0,0 +1,58 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + #endif + + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST; + + float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos) + { + + if (_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + spawnInEmission = saturate(inverseGradient + _SpawnInAlpha + _SpawnInEmissionOffset +noise - 1) * _SpawnInEmissionColor; + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } + + void applySpawnInShadow(float2 uv, float3 localPos) + { + + if(_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float alpha = gradient - _SpawnInAlpha - noise + length(_SpawnInVertOffset); + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta new file mode 100644 index 00000000..99cb4d85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f504f0e5317509b478cac7779bc597de +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc new file mode 100644 index 00000000..fdcc457f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc @@ -0,0 +1,40 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + + #endif + //sampler2D _SpawnInNoiseVert; float4 _SpawnInNoiseVert_ST; + + float calculateGradientValueVert(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv) + { + + if (_EnableScifiSpawnIn) + { + float noise = 0; + float gradient = calculateGradientValueVert(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + worldPos.xyz += saturate(inverseGradient + _SpawnInAlpha + _SpawnInVertOffsetOffset -1) * float3(0, _SpawnInVertOffset, 0); + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + //float noise = tex2Dlod(_SpawnInNoise, float4(TRANSFORM_TEX(uv, _SpawnInNoise))).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta new file mode 100644 index 00000000..c5470de3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0c178723d84f56c498946bf81a70c838 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc new file mode 100644 index 00000000..f5287465 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc @@ -0,0 +1,488 @@ +#ifndef POI_SPECULAR + #define POI_SPECULAR + float _SpecWhatTangent; + float _SpecularType; + float _SmoothnessFrom; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap); + POI_TEXTURE_NOSAMPLER(_SpecularMap); + fixed _CenterOutSpecColor; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro); + float _SpecularAnisoJitterMirrored; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoFakeUV); + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap); + POI_TEXTURE_NOSAMPLER(_SpecularMask); + float _SpecularAnisoJitterMicroMultiplier; + float _SpecularAnisoJitterMacroMultiplier; + float4 _SpecularTint; + float _SpecularSmoothness; + float _Spec1Offset; + float _Spec1JitterStrength; + float _Spec2Smoothness; + float _Spec2Offset; + float _Spec2JitterStrength; + float _AnisoUseTangentMap; + float _AnisoSpec1Alpha; + float _AnisoSpec2Alpha; + float _SpecularInvertSmoothness; + half _SpecularMetallic; + float _SpecularNormal; + float _SpecularNormal1; + // Toon + fixed _SpecularToonStart; + fixed _SpecularToonEnd; + half4 _SpecularToonInnerOuter; + + float _EnableSpecular1; + float _SpecWhatTangent1; + float _SpecularType1; + float _SmoothnessFrom1; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMap1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro1); + float _SpecularAnisoJitterMirrored1; + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMask1); + float _SpecularAnisoJitterMicroMultiplier1; + float _SpecularAnisoJitterMacroMultiplier1; + float4 _SpecularTint1; + float _SpecularSmoothness1; + float _Spec1Offset1; + float _Spec1JitterStrength1; + float _Spec2Smoothness1; + float _Spec2Offset1; + float _Spec2JitterStrength1; + float _AnisoUseTangentMap1; + float _AnisoSpec1Alpha1; + float _AnisoSpec2Alpha1; + float _SpecularInvertSmoothness1; + half _SpecularMetallic1; + // Toon + half4 _SpecularToonInnerOuter1; + fixed _SpecularToonStart1; + fixed _SpecularToonEnd1; + + UnityIndirect ZeroIndirect() + { + UnityIndirect ind; + ind.diffuse = 0; + ind.specular = 0; + return ind; + } + + // From unity just putting it here in case I want to mod it + half4 poiRealisticSpecular(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, + float3 normal, float3 halfDir, + UnityLight light, UnityIndirect gi) + { + float perceptualRoughness = SmoothnessToPerceptualRoughness(smoothness); + #define UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV 0 + + #if UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV + half shiftAmount = dot(normal, poiCam.viewDir); + normal = shiftAmount < 0.0f ? normal + poiCam.viewDir * (-shiftAmount + 1e-5f): normal; + float nv = saturate(dot(normal, poiCam.viewDir)); + #else + half nv = abs(dot(normal, poiCam.viewDir)); + #endif + + float nl = saturate(dot(normal, light.dir)); + float nh = saturate(dot(normal, halfDir)); + + half lv = saturate(dot(light.dir, poiCam.viewDir)); + half lh = saturate(dot(light.dir, halfDir)); + + half diffuseTerm = DisneyDiffuse(nv, nl, lh, perceptualRoughness) * nl; + + float roughness = PerceptualRoughnessToRoughness(perceptualRoughness); + + roughness = max(roughness, 0.002); + float V = SmithJointGGXVisibilityTerm(nl, nv, roughness); + float D = GGXTerm(nh, roughness); + + float specularTerm = V * D * UNITY_PI; + + #ifdef UNITY_COLORSPACE_GAMMA + specularTerm = sqrt(max(1e-4h, specularTerm)); + #endif + + specularTerm = max(0, specularTerm * nl); + #if defined(_POI_SPECULARHIGHLIGHTS_OFF) + specularTerm = 0.0; + #endif + + half surfaceReduction; + #ifdef UNITY_COLORSPACE_GAMMA + surfaceReduction = 1.0 - 0.28 * roughness * perceptualRoughness; + #else + surfaceReduction = 1.0 / (roughness * roughness + 1.0); + #endif + + specularTerm *= any(specColor) ? 1.0: 0.0; + + half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); + half3 color = diffColor * (gi.diffuse + light.color * diffuseTerm) + + specularTerm * light.color * FresnelTerm(specColor, lh) + + surfaceReduction * gi.specular * FresnelLerp(specColor, grazingTerm, nv); + + return half4(color, 1); + } + + half3 calculateRealisticSpecular(float4 albedo, float2 uv, float4 specularTint, float specularSmoothness, float invertSmoothness, float mixAlbedoWithTint, float4 specularMap, float3 specularLight, float3 normal, float attenuation, float3 lightDirection, float nDotL, float3 halfDir) + { + half oneMinusReflectivity; + half3 finalSpecular; + UnityLight unityLight; + unityLight.color = specularLight; + unityLight.dir = lightDirection; + unityLight.ndotl = nDotL; + + + if (float(1) == 0) + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularMap.rgb * specularTint.rgb, /*out*/ oneMinusReflectivity); + finalSpecular = poiRealisticSpecular(diffColor, specularMap.rgb, oneMinusReflectivity, specularMap.a * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + else + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularTint.rgb, /*out*/ oneMinusReflectivity); + float smoothness = max(max(specularMap.r, specularMap.g), specularMap.b); + finalSpecular = poiRealisticSpecular(diffColor, 1, oneMinusReflectivity, smoothness * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + finalSpecular *= lerp(1, albedo.rgb, mixAlbedoWithTint); + return finalSpecular; + } + + half3 calculateToonSpecular(float4 albedo, float2 uv, float2 specularToonInnerOuter, float specularMixAlbedoIntoTint, float smoothnessFrom, float4 specularMap, float3 specularLight, float3 normal, float3 halfDir, float attenuation) + { + half3 finalSpecular = smoothstep(1 - specularToonInnerOuter.y, 1 - specularToonInnerOuter.x, dot(halfDir, normal)) * specularLight; + + if (smoothnessFrom == 0) + { + finalSpecular.rgb *= specularMap.rgb * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + finalSpecular *= specularMap.a; + } + else + { + finalSpecular *= specularMap.r * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + return finalSpecular; + } + + float3 strandSpecular(float TdotL, float TdotV, float specPower, float nDotL) + { + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + float Specular = saturate(nDotL) * pow(saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV), specPower); + half normalization = sqrt((specPower + 1) * ((specPower) + 1)) / (8 * pi); + Specular *= normalization; + return Specular; + } + + half3 AnisotropicSpecular( + float specWhatTangent, float anisoUseTangentMap, float specularSmoothness, float spec2Smoothness, + float anisoSpec1Alpha, float anisoSpec2Alpha, float4 specularTint, float specularMixAlbedoIntoTint, float4 specularMap, float3 specularLight, float3 lightDirection, float3 halfDir, float nDotL, float jitter, float4 packedTangentMap, in float4 albedo) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + tangentDirectionMap += float(0) +jitter; + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + half specPower = RoughnessToSpecPower(1.0 - specularSmoothness * specularMap.a); + half spec2Power = RoughnessToSpecPower(1.0 - spec2Smoothness * specularMap.a); + half Specular = 0; + + float3 spec = strandSpecular(TdotL, TdotV, specPower, nDotL) * anisoSpec1Alpha; + float3 spec2 = strandSpecular(TdotL, TdotV, spec2Power, nDotL) * anisoSpec2Alpha; + + return max(spec, spec2) * specularMap.rgb * specularTint.a * specularLight * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + + inline float3 toonAnisoSpecular(float specWhatTangent, float anisoUseTangentMap, float3 lightDirection, float halfDir, float4 specularMap, float nDotL, fixed gradientStart, fixed gradientEnd, float4 specColor, float4 finalColor, fixed metallic, float jitter, float mirrored, float4 packedTangentMap) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + if (!mirrored) + { + tangentDirectionMap += jitter; + } + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + + float specular = saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV); + + fixed smoothAlpha = specular; + if(mirrored) + { + smoothAlpha = max(specular - jitter, 0); + } + + specular = smoothstep(gradientStart, gradientEnd, smoothAlpha); + + /* + + if(_CenterOutSpecColor) + { + specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, clamp(float2(specular, specular), 0.01, .99), float4(0,0,0,0)); + } + */ + + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + + return saturate(nDotL) * specular * poiLight.color * specColor * specularMap.rgb * lerp(1, finalColor, metallic) * specularMap.a; + } + + inline float SpecularHQ(half roughness, half dotNH, half dotLH) + { + roughness = saturate(roughness); + roughness = max((roughness * roughness), 0.002); + half roughnessX2 = roughness * roughness; + + half denom = dotNH * dotNH * (roughnessX2 - 1.0) + 1.0f; + half D = roughnessX2 / (3.14159 * denom * denom); + + half k = roughness / 2.0f; + half k2 = k * k; + half invK2 = 1.0f - k2; + + half vis = rcp(dotLH * dotLH * invK2 + k2); + + float specTerm = vis * D; + + return specTerm; + } + + float3 calculateNewSpecular(in float3 specularMap, uint colorFrom, in float4 albedo, in float3 specularTint, in float specularMetallic, in float specularSmoothness, in half dotNH, in half dotLH, in float3 lightColor, in float attenuation) + { + float3 specColor = specularTint; + float metallic = specularMetallic; + float roughness = 1 - specularSmoothness; + float perceptualRoughness = roughness; + //float reflectInverse = DielectricSpec.a - metallic * DielectricSpec.a; + //float reflectivity = 1.0h - reflectInverse; + float3 specMapColor = lerp(specularMap, 1, colorFrom); + float3 specularColor = lerp(DielectricSpec.rgb * specMapColor, lerp(specularMap, albedo.rgb, colorFrom), metallic); + //albedo.rgb *= reflectInverse; + return clamp(specularColor * lightColor * attenuation * specularTint * SpecularHQ(perceptualRoughness, dotNH, dotLH), 0, lightColor * specularTint); + } + + float3 calculateSpecular(in float4 albedo) + { + half3 finalSpecular = 0; + half3 finalSpecular1 = 0; + float4 realisticAlbedo = albedo; + float4 realisticAlbedo1 = albedo; + float4 specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half metallic = POI2D_SAMPLER_PAN(_SpecularMetallicMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + half specularMask = POI2D_SAMPLER_PAN(_SpecularMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float attenuation = saturate(poiLight.nDotL); + #ifdef POI_LIGHTING + + if (float(0) && float(0) == 0 && float(0) == 1) + { + attenuation = poiLight.rampedLightMap; + } + #endif + + + if(float(1) == 1) // Realistic + { + if (float(1) == 1) + { + specularMap.a = specularMap.r; + specularMap.rgb = 1; + } + + if(float(0)) + { + specularMap.a = 1 - specularMap.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, attenuation); + #else + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic, jitter, float(0), packedTangentMap); + finalSpecular *= attenuation; + } + + #ifdef FORWARD_BASE_PASS + + if(float(1) == 2) // Toon + { + finalSpecular += calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic, float(1), specularMap, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += AnisotropicSpecular(float(0), float(0), float(1), float(0), float(1), float(1), float4(1,1,1,1), metallic, specularMap, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular *= float4(1,1,1,1); + finalSpecular *= attenuation; + } + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + + finalSpecular *= float4(1,1,1,1).a; + finalSpecular = finalSpecular.rgb; + finalSpecular *= specularMask; + + + if (float(0)) + { + float4 specularMap1 = POI2D_SAMPLER_PAN(_SpecularMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half specularMask1 = POI2D_SAMPLER_PAN(_SpecularMask1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + half metallic1 = POI2D_SAMPLER_PAN(_SpecularMetallicMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + float attenuation = poiLight.attenuation; + + if(float(1) == 1) // Realistic + { + + if (float(1) == 1) + { + specularMap1.a = specularMap1.r; + specularMap1.rgb = 1; + } + else + { + realisticAlbedo1.rgb = specularMap1.rgb; + } + + + if(float(0)) + { + specularMap1.a = 1 - specularMap1.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, saturate(poiLight.nDotL)); + #else + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap1, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic1, jitter, float(0), packedTangentMap); + finalSpecular1 *= poiLight.attenuation; + } + + + if(float(1) == 2) // Toon + { + finalSpecular1 = calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic1, float(1), specularMap1, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular1 *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 = AnisotropicSpecular(float(0), float(0), float(0.75), float(0), float(1), float(1), float4(1,1,1,1), metallic1, specularMap1, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular1 *= float4(1,1,1,1); + finalSpecular1 *= poiLight.attenuation; + } + + #ifdef FORWARD_BASE_PASS + // Non Important Lights + #ifdef VERTEXLIGHT_ON + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular1 += calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + #endif + + finalSpecular1 *= float4(1,1,1,1).a; + finalSpecular1 = finalSpecular1.rgb; + finalSpecular1 *= specularMask1; + } + return finalSpecular + finalSpecular1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta new file mode 100644 index 00000000..2125fb7f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 35616e6fa018c224ebf20f80a0cc763c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc new file mode 100644 index 00000000..b7c21c01 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc @@ -0,0 +1,28 @@ +#ifndef SUBSURFACE + #define SUBSURFACE + + float _SSSThicknessMod; + float _SSSSCale; + float _SSSPower; + float _SSSDistortion; + float4 _SSSColor; + float _EnableSSS; + + POI_TEXTURE_NOSAMPLER(_SSSThicknessMap); + + float3 calculateSubsurfaceScattering() + { + float SSS = 1 - POI2D_SAMPLER_PAN(_SSSThicknessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + half3 vLTLight = poiLight.direction + poiMesh.normals[0] * float(1); + half flTDot = pow(saturate(dot(poiCam.viewDir, -vLTLight)), float(5)) * float(0.25); + #ifdef FORWARD_BASE_PASS + half3 fLT = (flTDot) * saturate(SSS + - 1 * float(0)); + #else + half3 fLT = poiLight.attenuation * (flTDot) * saturate(SSS + - 1 * float(0)); + #endif + + return fLT * poiLight.color * float4(1,0,0,1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta new file mode 100644 index 00000000..91f817cb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6580034aae1d7244f8c5820654edeb7f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc new file mode 100644 index 00000000..4912473d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc @@ -0,0 +1,117 @@ +#ifndef POI_TESSELLATION + #define POI_TESSELLATION + + float _TessellationPhongStrength; + float _TessellationEdgeLength; + float _TessellationExtrusionAmount; + float _TessellationUniform; + + struct TessellationControlPoint + { + float4 vertex: INTERNALTESSPOS; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + }; + + struct TessellationFactors + { + float edge[3]: SV_TessFactor; + float inside: SV_InsideTessFactor; + }; + + TessellationControlPoint poiTessellationVert(appdata v) + { + TessellationControlPoint p; + p.vertex = v.vertex; + p.normal = v.normal; + p.tangent = v.tangent; + p.color = v.color; + p.uv0 = v.uv0; + p.uv1 = v.uv1; + p.uv2 = v.uv2; + p.uv3 = v.uv3; + return p; + } + + float TessellationEdgeFactor(float3 p0, float3 p1) + { + #ifndef _FADING_ON + float edgeLength = distance(p0, p1); + + float3 edgeCenter = (p0 + p1) * 0.5; + float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos); + + return edgeLength * _ScreenParams.y / + (_TessellationEdgeLength * viewDistance); + #else + return _TessellationUniform; + #endif + } + + TessellationFactors poiPatchConst( + InputPatch < TessellationControlPoint, 3 > patch + ) + { + + TessellationFactors f; + float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz; + float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz; + float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz; + f.edge[0] = TessellationEdgeFactor(p1, p2); + f.edge[1] = TessellationEdgeFactor(p2, p0); + f.edge[2] = TessellationEdgeFactor(p0, p1); + f.inside = (TessellationEdgeFactor(p1, p2) + + TessellationEdgeFactor(p2, p0) + + TessellationEdgeFactor(p0, p1)) * (1 / 3.0); + return f; + } + + [UNITY_domain("tri")] + [UNITY_outputcontrolpoints(3)] + [UNITY_outputtopology("triangle_cw")] + [UNITY_partitioning("fractional_odd")] + [UNITY_patchconstantfunc("poiPatchConst")] + TessellationControlPoint poiHull( + InputPatch < TessellationControlPoint, 3 > patch, + uint id: SV_OutputControlPointID + ) + { + return patch[id]; + } + + [UNITY_domain("tri")] + v2f poiDomain( + TessellationFactors factors, + OutputPatch < TessellationControlPoint, 3 > patch, + float3 barycentricCoordinates: SV_DomainLocation + ) + { + appdata data; + + #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z; + + MY_DOMAIN_PROGRAM_INTERPOLATE(vertex) + float3 pp[3]; + for (int i = 0; i < 3; ++ i) + { + pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + } + data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz; + MY_DOMAIN_PROGRAM_INTERPOLATE(normal) + data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount; + MY_DOMAIN_PROGRAM_INTERPOLATE(tangent) + MY_DOMAIN_PROGRAM_INTERPOLATE(color) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv0) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv1) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv2) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv3) + + return vert(data); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta new file mode 100644 index 00000000..4514d9cd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8a7c101e93533ca4d8f40a2d5b983fce +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc new file mode 100644 index 00000000..38d5fd75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc @@ -0,0 +1,34 @@ +#ifndef POI_UV_DISTORTION + #define POI_UV_DISTORTION + + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture); float4 _DistortionFlowTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture1); float4 _DistortionFlowTexture1_ST; + POI_TEXTURE_NOSAMPLER(_DistortionMask); + + float _DistortionStrength; + float _DistortionStrength1; + float2 _DistortionSpeed; + float2 _DistortionSpeed1; + + float2 getTorusUv(float2 uv) + { + // translated to hlsl from https://www.shadertoy.com/view/Md3Bz7 + // http://web.cs.ucdavis.edu/~amenta/s12/findnorm.pdf + float phi = 6.28318530718f * uv.x; + float theta = 6.28318530718f * uv.y; + float3 c = cos(float3(phi, phi + 1.57079632679f, theta)); + float2 result = float2(c.x * c.z, -c.y * c.z); + return result * 0.5 + 0.5; + } + + float2 calculateDistortionUV(float2 uv) + { + half distortionMask = POI2D_SAMPLER_PAN(_DistortionMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flowVector = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + float4 flowVector1 = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture1, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture1) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + flowVector *= float(0.5); + flowVector1 *= float(0.5); + return uv + ((flowVector.xy + flowVector1.xy) / 2) * distortionMask; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta new file mode 100644 index 00000000..eec7ba18 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f7c4afdb04ce6144dba9299bbbaf3d95 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc new file mode 100644 index 00000000..0e29a179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc @@ -0,0 +1,34 @@ +#ifndef POI_V2F + #define POI_V2F + + struct v2f + { + float4 pos: SV_POSITION; + float4 uv0: TEXCOORD0; + float4 uv1: TEXCOORD1; + float3 normal: TEXCOORD2; + float3 tangentViewDir: TEXCOORD3; + float4 tangent: TEXCOORD4; + float4 worldPos: TEXCOORD5; + float4 localPos: TEXCOORD6; + float4 grabPos: TEXCOORD7; + float3 barycentricCoordinates: TEXCOORD8; + #if defined(GRAIN) + float4 worldDirection: TEXCOORD9; + #endif + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV: TEXCOORD10; + #endif + float3 modelPos: TEXCOORD11; + float angleAlpha: TEXCOORD12; + float4 vertexColor: TEXCOORD14; + #ifdef FUR + float furAlpha: TEXCOORD15; + #endif + UNITY_SHADOW_COORDS(16) + UNITY_FOG_COORDS(17) + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta new file mode 100644 index 00000000..29402ea8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: eee9f3bb5fca3634eb1fc1178b7b7857 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc new file mode 100644 index 00000000..1558e937 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc @@ -0,0 +1,126 @@ +#ifndef POI_VERT + #define POI_VERT + + float _VertexManipulationHeightUV; + float _VertexUnwrap; + + #define PM UNITY_MATRIX_P + + inline float4 CalculateFrustumCorrection() + { + float x1 = -PM._31 / (PM._11 * PM._34); + float x2 = -PM._32 / (PM._22 * PM._34); + return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23); + } + + v2f vert(appdata v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + #ifdef _COLOROVERLAY_ON + v.vertex.xyz = lerp(v.vertex.xyz, float3(v.uv0.x - .5, v.uv0.y - .5, 0), float(0)); + #endif + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.tangent, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + #ifdef _REQUIRE_UV2 //POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.normal = UnityObjectToWorldNormal(v.normal); + //o.localPos.x *= -1; + //o.localPos.xz += sin(o.localPos.y * 100 + _Time.y * 5) * .0025; + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, o.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + o.vertexColor = v.color; + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + + #ifdef POI_BULGE + bulgyWolgy(o); + #endif + + + o.angleAlpha = 1; + #ifdef _SUNDISK_NONE //POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + #if defined(LIGHTMAP_ON) + o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0.xy); + UNITY_TRANSFER_FOG(o, o.pos); + + #if defined(_PARALLAXMAP) // POI_PARALLAX + v.tangent.xyz = normalize(v.tangent.xyz); + v.normal = normalize(v.normal); + float3x3 objectToTangent = float3x3( + v.tangent.xyz, + cross(v.normal, v.tangent.xyz) * v.tangent.w, + v.normal + ); + o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex)); + #endif + + #ifdef POI_META_PASS + o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); + #endif + + #if defined(GRAIN) + float4 worldDirection; + + worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos; + worldDirection.w = dot(o.pos, CalculateFrustumCorrection()); + o.worldDirection = worldDirection; + #endif + + return o; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta new file mode 100644 index 00000000..2f831998 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 37d0873f889977b41a6a385162296f57 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc new file mode 100644 index 00000000..94c16148 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc @@ -0,0 +1,93 @@ +#ifndef POI_VERTEX_MANIPULATION + #define POI_VERTEX_MANIPULATION + + #include "CGI_PoiMath.cginc" + + float4 _VertexManipulationLocalTranslation; + float4 _VertexManipulationLocalRotation; + float4 _VertexManipulationLocalScale; + float4 _VertexManipulationWorldTranslation; + + float _VertexManipulationHeight; + float _VertexManipulationHeightBias; + sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST; + float2 _VertexManipulationHeightPan; + + + //Vertex Glitching + float _EnableVertexGlitch; + sampler2D _VertexGlitchMap; float4 _VertexGlitchMap_ST; + float _VertexGlitchThreshold; + float _VertexGlitchFrequency; + float _VertexGlitchStrength; + // Rounding + float _VertexRoundingDivision; + float _VertexRoundingEnabled; + + void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyVertexRounding(inout float4 worldPos, inout float4 localPos) + { + + if (float(0)) + { + worldPos.xyz = (ceil(worldPos * float(500)) / float(500)) - 1 / float(500) * .5; + localPos = mul(unity_WorldToObject, worldPos); + } + } + + void applyVertexGlitching(inout float4 worldPos, inout float4 localPos) + { + + if(_EnableVertexGlitch) + { + float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + forward.y = 0; + forward = normalize(forward); + float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward)); + float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1; + /* + float uvl = worldPos.y * _VertexGlitchDensity + _Time.x * _VertexGlitchMapPanSpeed; + float uvr = worldPos.y * _VertexGlitchDensity - _Time.x * _VertexGlitchMapPanSpeed; + float glitchAmountLeft = tex2Dlod(_VertexGlitchMap, float4(uvl, uvl, 0, 0)).r; + float glitchAmountRight = -tex2Dlod(_VertexGlitchMap, float4(uvr, uvr, 0, 0)).r; + float glitchAmount = glitchAmountLeft + glitchAmountRight; + */ + float time = _Time.y * _VertexGlitchFrequency; + float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4; + worldPos.xyz += glitchAmount * glitchDirection * (_VertexGlitchStrength * .01) * step(_VertexGlitchThreshold, randomGlitch); + localPos = mul(unity_WorldToObject, worldPos); + } + } + +#endif +// diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta new file mode 100644 index 00000000..bafa1f09 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ddcb313c1505268458dd82a6823f04bb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc new file mode 100644 index 00000000..ec2d37e4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc @@ -0,0 +1,266 @@ +#ifndef POI_VIDEO + #define POI_VIDEO + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoPixelTexture); float4 _VideoPixelTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoMaskTexture); float4 _VideoMaskTexture_ST; + + float _VideoUVNumber; + float _VideoType; + float3 pixels; + float2 _VideoResolution; + sampler2D _VideoGameboyRamp; + half _VideoBacklight; + half _VideoCRTRefreshRate; + half _VideoCRTPixelEnergizedTime; + half _VideoEnableVideoPlayer; + half _VideoRepeatVideoTexture; + half _VideoPixelateToResolution; + float2 _VideoMaskPanning; + // Video Settings + half _VideoSaturation; + half _VideoContrast; + float2 _VideoTiling; + float2 _VideoOffset; + float2 _VideoPanning; + //Debug + half _VideoEnableDebug; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoDebugTexture); float4 _VideoDebugTexture_ST; + + + sampler2D _VRChat_VideoPlayer; + float4 _VRChat_VideoPlayer_TexelSize; + + float4 globalVideoPlayerColor; + float3 globalColorToDisplayOnScreen; + float globalVideoOn; + + float3 applyBacklight(float3 albedo, half backlightStrength) + { + return max(backlightStrength, albedo.rgb); + } + + float3 applyViewAngleTN(float3 albedo) + { + float3 reflectionVector = normalize(reflect(poiCam.viewDir.rgb, poiMesh.normals[1].rgb)); + float upwardShift = dot(reflectionVector, poiMesh.binormal); + upwardShift = pow(upwardShift, 1); + float sideShift = dot(reflectionVector, poiMesh.tangent); + sideShift *= pow(sideShift, 3); + #if !UNITY_COLORSPACE_GAMMA + albedo = LinearToGammaSpace(albedo); + #endif + albedo = saturate(lerp(half3(0.5, 0.5, 0.5), albedo, upwardShift + 1)); + #if !UNITY_COLORSPACE_GAMMA + albedo = GammaToLinearSpace(albedo); + #endif + albedo = (lerp(albedo, albedo.gbr, sideShift)); + return albedo; + } + + float calculateCRTPixelBrightness() + { + float totalPixels = _VideoResolution.x * _VideoResolution.y; + float2 uvPixel = float2((floor((1 - poiMesh.uv[_VideoUVNumber].y) * _VideoResolution.y)) / _VideoResolution.y, (floor(poiMesh.uv[_VideoUVNumber].x * _VideoResolution.x)) / _VideoResolution.x); + float currentPixelNumber = _VideoResolution.x * (_VideoResolution.y * uvPixel.x) + _VideoResolution.y * uvPixel.y; + float currentPixelAlpha = currentPixelNumber / totalPixels; + half electronBeamAlpha = frac(_Time.y * _VideoCRTRefreshRate); + float electronBeamPixelNumber = totalPixels * electronBeamAlpha; + + float DistanceInPixelsFromCurrentElectronBeamPixel = 0; + if (electronBeamPixelNumber >= currentPixelNumber) + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber - currentPixelNumber; + } + else + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber + (totalPixels - currentPixelNumber); + } + float CRTFrameTime = 1 / _VideoCRTRefreshRate; + float timeSincecurrentPixelWasHitByElectronBeam = (DistanceInPixelsFromCurrentElectronBeamPixel / totalPixels); + + return saturate(_VideoCRTPixelEnergizedTime - timeSincecurrentPixelWasHitByElectronBeam); + } + + void applyContrastSettings(inout float3 pixel) + { + #if !UNITY_COLORSPACE_GAMMA + pixel = LinearToGammaSpace(pixel); + #endif + pixel = saturate(lerp(half3(0.5, 0.5, 0.5), pixel, _VideoContrast + 1)); + #if !UNITY_COLORSPACE_GAMMA + pixel = GammaToLinearSpace(pixel); + #endif + } + + void applySaturationSettings(inout float3 pixel) + { + pixel = lerp(pixel.rgb, dot(pixel.rgb, float3(0.3, 0.59, 0.11)), -_VideoSaturation); + } + + void applyVideoSettings(inout float3 pixel) + { + applySaturationSettings(pixel); + applyContrastSettings(pixel); + } + + void calculateLCD(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateTN(inout float4 albedo) + { + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + globalColorToDisplayOnScreen = applyViewAngleTN(globalColorToDisplayOnScreen); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateCRT(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + float brightness = calculateCRTPixelBrightness(); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * brightness * _VideoBacklight; + } + void calculateOLED(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateGameboy(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + half brightness = saturate((globalColorToDisplayOnScreen.r + globalColorToDisplayOnScreen.g + globalColorToDisplayOnScreen.b) * .3333333); + albedo.rgb = tex2D(_VideoGameboyRamp, brightness); + } + void calculateProjector(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + + float3 projectorColor = albedo * globalColorToDisplayOnScreen * _VideoBacklight; + albedo.r = clamp(projectorColor.r, albedo.r, 1000); + albedo.g = clamp(projectorColor.g, albedo.g, 1000); + albedo.b = clamp(projectorColor.b, albedo.b, 1000); + } + + void applyScreenEffect(inout float4 albedo, inout float3 videoEmission) + { + float4 albedoBeforeScreen = albedo; + + pixels = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoPixelTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoPixelTexture) * _VideoResolution); + globalVideoOn = 0; + + if(_VideoEnableVideoPlayer == 1) + { + float4 videoTexture = 0; + + if(_VideoPixelateToResolution) + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, round(TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoResolution + .5) / _VideoResolution); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, round(poiMesh.uv[_VideoUVNumber] * _VideoResolution + .5) / _VideoResolution); + } + } + else + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoTiling + _VideoOffset); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, ((poiMesh.uv[_VideoUVNumber] + _Time.x * _VideoPanning) * _VideoTiling) + _VideoOffset); + } + } + if(videoTexture.a == 1) + { + globalColorToDisplayOnScreen = videoTexture.rgb; + globalVideoOn = 1; + } + } + + + if(_VideoRepeatVideoTexture == 1) + { + if(poiMesh.uv[_VideoUVNumber].x > 1 || poiMesh.uv[_VideoUVNumber].x < 0 || poiMesh.uv[_VideoUVNumber].y > 1 || poiMesh.uv[_VideoUVNumber].y < 0) + { + return; + } + } + + switch(_VideoType) + { + case 0: // LCD + { + calculateLCD(albedo); + break; + } + case 1: // TN + { + calculateTN(albedo); + break; + } + case 2: // CRT + { + calculateCRT(albedo); + break; + } + case 3: // OLED + { + calculateOLED(albedo); + break; + } + case 4: // Gameboy + { + calculateGameboy(albedo); + break; + } + case 5: // Projector + { + calculateProjector(albedo); + break; + } + } + + float screenMask = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoMaskTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoMaskTexture) + _Time.x * _VideoMaskPanning); + albedo = lerp(albedoBeforeScreen, albedo, screenMask); + videoEmission = max(albedo.rgb * screenMask - 1, 0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta new file mode 100644 index 00000000..c35c918a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a3454fa590c4880408539ade796e6a53 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc new file mode 100644 index 00000000..db3d3130 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc @@ -0,0 +1,304 @@ +#ifndef POI_VORONOI + #define POI_VORONOI + + #include "CGI_PoiRNG.cginc" + + float _VoronoiSpace; + float _VoronoiBlend; + float _VoronoiType; + float4 _VoronoiColor0; + float _VoronoiEmission0; + float4 _VoronoiColor1; + float _VoronoiEmission1; + float2 _VoronoiGradient; + float _VoronoiScale; + float3 _VoronoiSpeed; + float _VoronoiEnableRandomCellColor; + float2 _VoronoiRandomMinMaxSaturation; + float2 _VoronoiRandomMinMaxBrightness; + float3 randomPoint; + float _VoronoiEffectsMaterialAlpha; + + POI_TEXTURE_NOSAMPLER(_VoronoiMask); + POI_TEXTURE_NOSAMPLER(_VoronoiNoise); + float _VoronoiNoiseIntensity; + + float2 inoise(float3 P, float jitter) + { + float3 Pi = mod(floor(P), 289.0); + float3 Pf = frac(P); + float3 oi = float3(-1.0, 0.0, 1.0); + float3 of = float3(-0.5, 0.5, 1.5); + float3 px = Permutation(Pi.x + oi); + float3 py = Permutation(Pi.y + oi); + + float3 p, ox, oy, oz, dx, dy, dz; + float2 F = 1e6; + + for (int i = 0; i < 3; i ++) + { + for (int j = 0; j < 3; j ++) + { + p = Permutation(px[i] + py[j] + Pi.z + oi); // pij1, pij2, pij3 + + ox = frac(p * K) - Ko; + oy = mod(floor(p * K), 7.0) * K - Ko; + + p = Permutation(p); + + oz = frac(p * K) - Ko; + + dx = Pf.x - of[i] + jitter * ox; + dy = Pf.y - of[j] + jitter * oy; + dz = Pf.z - of + jitter * oz; + + float3 d = dx * dx + dy * dy + dz * dz; // dij1, dij2 and dij3, squared + + //Find lowest and second lowest distances + for (int n = 0; n < 3; n ++) + { + if (d[n] < F[0]) + { + F[1] = F[0]; + F[0] = d[n]; + randomPoint = p; + } + else if(d[n] < F[1]) + { + F[1] = d[n]; + } + } + } + } + + return F; + } + + float voronoi2D(in float2 x, float scale, float2 speed) + { + x *= scale; + x += speed * _Time.x; + float2 n = floor(x); + float2 f = frac(x); + + // first pass: regular voronoi + float2 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 g = float2(float(i), float(j)); + float2 o = random2(n + g); + float2 currentPoint = o; + + float2 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint.xy = currentPoint; + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + float2 g = mg + float2(float(q), float(r)); + float2 o = random2(n + g); + + float2 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + return md; + } + + float voronoi3D(in float3 x, float scale, float3 speed) + { + x *= scale; + x += speed * _Time.x; + float3 n = floor(x); + float3 f = frac(x); + + // first pass: regular voronoi + float3 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + for (int h = -1; h <= 1; h ++) + { + float3 g = float3(float(h), float(i), float(j)); + float3 o = random3(n + g); + float3 currentPoint = o; + + float3 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint = currentPoint; + } + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + for (int p = -2; p <= 2; p ++) + { + float3 g = mg + float3(float(p), float(q), float(r)); + float3 o = random3(n + g); + + float3 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + } + return md; + } + + + + // fracal sum, range -1.0 - 1.0 + float VoronoiNoise_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + float VoronoiNoiseDiff_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[1]) - sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + void applyVoronoi(inout float4 finalColor, inout float3 VoronoiEmission) + { + float voronoiOctaveNumber = 1; + float voronoiOctaveScale = 1; + float voronoiOctaveAttenuation = 1; + randomPoint = 0; + float4 voronoiColor1 = _VoronoiColor1; + + float voronoi = 0; + + float3 position = 0; + + + if (_VoronoiSpace == 0) + { + position = poiMesh.localPos; + } + + if(_VoronoiSpace == 1) + { + position = poiMesh.worldPos; + } + + if(_VoronoiSpace == 2) + { + position = float3(poiMesh.uv[0].x, poiMesh.uv[0].y, 0); + } + + float mask = POI2D_SAMPLER_PAN(_VoronoiMask, _MainTex, poiMesh.uv[_VoronoiMaskUV], _VoronoiMaskPan).r; + float edgeNoise = POI2D_SAMPLER_PAN(_VoronoiNoise, _MainTex, poiMesh.uv[_VoronoiNoiseUV], _VoronoiNoisePan).r * _VoronoiNoiseIntensity; + + + if(_VoronoiType == 0) // Basic + { + voronoi = voronoi2D(position.xy, _VoronoiScale, _VoronoiSpeed); + } + + if (_VoronoiType == 1) // Diff + { + voronoi = VoronoiNoiseDiff_Octaves(position, _VoronoiScale, _VoronoiSpeed, voronoiOctaveNumber, voronoiOctaveScale, voronoiOctaveAttenuation, 1, _Time.x); + } + + if (_VoronoiType == 2) // Fixed Border + { + voronoi = voronoi3D(position, _VoronoiScale, _VoronoiSpeed); + // isolines + //color = c.x * (0.5 + 0.5 * sin(64.0 * c.x)) * 1.0; + } + + if (_VoronoiEnableRandomCellColor == 1) + { + float3 rando = random3(randomPoint); + fixed hue = rando.x; + fixed saturation = lerp(_VoronoiRandomMinMaxSaturation.x, _VoronoiRandomMinMaxSaturation.y, rando.y); + fixed value = lerp(_VoronoiRandomMinMaxBrightness.x, _VoronoiRandomMinMaxBrightness.y, rando.z); + float3 hsv = float3(hue, saturation, value); + + voronoiColor1.rgb = HSVtoRGB(hsv); + } + + float2 voronoiGradient = _VoronoiGradient; + voronoiGradient.xy += edgeNoise; + float ramp = smoothstep(voronoiGradient.x, voronoiGradient.y, voronoi); + + + if(_VoronoiBlend == 0) + { + float4 voronoiColor = lerp(_VoronoiColor0, voronoiColor1, ramp); + + if(_VoronoiEffectsMaterialAlpha) + { + finalColor.rgba = lerp(finalColor, voronoiColor, mask); + } + else + { + finalColor.rgb = lerp(finalColor.rgb, voronoiColor.rgb, mask * voronoiColor.a); + } + } + float4 voronoiEmissionColor = lerp(_VoronoiColor0 * _VoronoiEmission0, voronoiColor1 * _VoronoiEmission1, ramp); + VoronoiEmission = voronoiEmissionColor.rgb * mask * voronoiEmissionColor.a; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta new file mode 100644 index 00000000..e1d089ac --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 791b88b1adca0af478eff492c30bea16 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc new file mode 100644 index 00000000..49c602c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc @@ -0,0 +1,111 @@ +#ifndef POI_WIREFRAME + #define POI_WIREFRAME + + UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST; + float2 _WireframeTexturePan; + float _WireframeSmoothing; + float _WireframeThickness; + float4 _WireframeColor; + float _WireframeAlpha; + float _WireframeEnable; + float _WireframeWaveEnabled; + float _WireframeWaveDensity; + float _WireframeWaveSpeed; + float _WireframeEdgeOpacity; + float _WireframeFaceOpacity; + half _WireframeEmissionAlpha; + float _WireframeEmissionStrength; + float _WireframeQuad; + float _WireframeUV; + + #ifndef POI_SHADOW + void applyWireframe(inout float3 wireframeEmission, inout float4 albedo) + { + + if (_WireframeEnable) + { + float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan); + float size = _WireframeThickness; + half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates)); + half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates); + half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1; + + float4 wireframeColor = _WireframeColor * colorMap; + + albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary); + wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a; + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream) + { + + if(_WireframeQuad) + { + float e1 = length(IN[0].localPos - IN[1].localPos); + float e2 = length(IN[1].localPos - IN[2].localPos); + float e3 = length(IN[2].localPos - IN[0].localPos); + + float3 quad = 0; + if(e1 > e2 && e1 > e3) + quad.y = 1.; + else if(e2 > e3 && e2 > e1) + quad.x = 1; + else + quad.z = 1; + + IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad; + IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad; + IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad; + } + else + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + } + + + + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #else + + float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos) + { + + if(_WireframeEnable) + { + float wireframeFadeAlpha = _WireframeAlpha; + float3 finalWireframeColor = 0; + + float3 barys; + barys.xy = barycentricCoordinates; + barys.z = 1 - barys.x - barys.y; + float3 deltas = fwidth(barys); + float3 smoothing = deltas * _WireframeSmoothing; + float wireframeThickness = _WireframeThickness; + float3 thickness = deltas * wireframeThickness; + barys = smoothstep(thickness, thickness + smoothing, barys); + float minBary = min(barys.x, min(barys.y, barys.z)); + + return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream) + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta new file mode 100644 index 00000000..48e2b977 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 759422018048c7648a0f720adea674e5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc new file mode 100644 index 00000000..319de57c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc @@ -0,0 +1,171 @@ +#ifndef POICLUDES + #define POICLUDES + + UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _PoiGrab; + sampler2D _CameraDepthTexture; + float _Cutoff; + float _AlphaMod; + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #ifdef OUTLINE + float _LineWidth; + float _OutlineEmission; + float4 _LineColor; + sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV; + float4 _OutlineFadeDistance; + float4 _OutlineGlobalPan; + #endif + + struct PoiLighting + { + half3 direction; + half3 color; + fixed attenuation; + #ifdef FORWARD_ADD_PASS + fixed additiveShadow; + #endif + half3 directLighting; + half3 indirectLighting; + half lightMap; + half3 rampedLightMap; + half3 finalLighting; + half3 halfDir; + half nDotL; + half nDotH; + half lDotv; + half lDotH; + half nDotV; + half N0DotV; + half diffuseTerm; + + // World normal dot half direction + #ifdef POI_VAR_DOTNH + half dotNH; + #endif + + // Light direction dot half direction + #ifdef POI_VAR_DOTLH + half dotLH; + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + float4 vDotNL; + float3 vColor[4]; + float4 vCorrectedDotNL; + float4 vAttenuation; + float4 vAttenuationDotNL; + float3 vPosition[4]; + float3 vDirection[4]; + float3 vFinalLighting; + float3 vHalfDir[4]; + + #ifdef POI_VAR_DOTLH + half4 vDotLH; + #endif + + #ifdef POI_VAR_DOTNH + half4 vDotNH; + #endif + + #endif + }; + + struct PoiCamera + { + half3 viewDir; + half3 tangentViewDir; + half3 forwardDir; + half3 worldPos; + float viewDotNormal; + float distanceToModel; + float distanceToVert; + float3 reflectionDir; + float3 vertexReflectionDir; + float2 screenUV; + float4 clipPos; + #if defined(GRAIN) + float4 worldDirection; + #endif + float4 grabPos; + }; + + struct PoiMesh + { + float3 normals[2]; + float3 tangent; + float3 binormal; + float3 localPos; + float3 worldPos; + float3 modelPos; + float3 tangentSpaceNormal; + float2 uv[5]; + float4 vertexColor; + fixed3 barycentricCoordinates; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV; + #endif + float isFrontFace; + #ifdef FUR + float furAlpha; + #endif + }; + + struct PoiTangentData + { + float3x3 tangentTransform; + float3x3 tangentToWorld; + }; + + struct FragmentCommonData + { + half3 diffColor, specColor; + // Note: smoothness & oneMinusReflectivity for optimization purposes, mostly for DX9 SM2.0 level. + // Most of the math is being done on these (1-x) values, and that saves a few precious ALU slots. + half oneMinusReflectivity, smoothness; + float3 normalWorld; + float3 eyeVec; + half alpha; + float3 posWorld; + + #if UNITY_STANDARD_SIMPLE + half3 reflUVW; + #endif + + #if UNITY_STANDARD_SIMPLE + half3 tangentSpaceNormal; + #endif + }; + + struct Debug + { + float debug1; + float2 debug2; + float3 debug3; + float4 debug4; + }; + + static Debug debug; + static PoiLighting poiLight; + static PoiCamera poiCam; + static PoiMesh poiMesh; + static UnityGI gi; + static FragmentCommonData s; + static PoiTangentData poiTData; + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta new file mode 100644 index 00000000..bc1a0617 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f44f402ad60bb4845a5b4b413a358cbb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta new file mode 100644 index 00000000..9871ddf5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3618704518bfc3141afc44900087b0c5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader new file mode 100644 index 00000000..a811e932 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader @@ -0,0 +1,7648 @@ +Shader "Hidden/.poiyomi/• Poiyomi Toon •/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 + [HideInInspector] shader_master_label ("Poiyomi Toon V7.0.100", Float) = 0 + [HideInInspector] shader_presets ("poiToonPresets", Float) = 0 + [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0 + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + // Keyword to remind users in the VRChat SDK that this material hasn't been locked. Inelegant but it works. + [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 + [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0 + [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0 + + [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7, Multiplicative Grab Pass, 8)]_Mode("Rendering Preset--{on_value_actions:[ + {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2451}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]}, + {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:RenderType=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]} + }]}]}", Int) = 0 + [HideInInspector] m_LockingInfo ("Locking Info--{button_right:{text:Tutorial,action:{type:URL,data:https://youtu.be/asWeDJb5LAo},hover:YouTube},is_hideable:true}", Float) = 0 + [Helpbox(1)] _HelpBoxLocking ("LOCKING IN THE SHADER WILL DRAMATICALLY INCREASE PERFORMANCE AND DRAMATICALLY LOWER THE FILE SIZE OF AN AVATAR PACKAGE. + + LOCKED IN MATERIALS CANNOT BE ANIMATED WITHOUT SETTING THE SPECIFIC PROPERTY TO DYNAMIC. RIGHT CLICK MATERIAL PROPERTIES YOU WISH TO ANIMATE, A CLOCK ICON WILL APPEAR BESIDE THE PROPERTY SIGNIFYING THAT IT CAN BE ANIMATED. + + FOR MORE INFORMATION ON LOCKING PLEASE WATCH THE LOCKING TUTORIAL IN THE HEADER ABOVE.", Int) = 0 + [Helpbox(2)] _HelpBoxHideLocking ("TO HIDE THIS CATEGORY SELECT CUSTOM UI AT THE TOP AND UNCHECK THE LOCKING INFO CATEGORY", Float) = 0 + // Main + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color & Alpha", Color) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("UV", Int) = 0 + _Saturation ("Saturation", Range(-1, 1)) = 0 + _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _BumpMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _AlphaMask ("Alpha Map", 2D) = "white" { } + [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AlphaMaskUV ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector] m_start_MainHueShift ("Hue Shift", Float) = 0 + [HideInInspector][Toggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0 + [ToggleUI]_MainHueShiftReplace ("Replace?", Float) = 1 + _MainHueShift ("Hue Shift", Range(0, 1)) = 0 + _MainHueShiftSpeed ("Shift Speed", Float) = 0 + _MainHueShiftMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainHueShiftMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainHueShiftMaskUV ("UV", Int) = 0 + [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0 + + // RGB Masking + [HideInInspector] m_start_RGBMask ("RGB Color Masking", Float) = 0 + [HideInInspector][Toggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0 + [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0 + [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0 + _RGBMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBMaskUV ("UV", int) = 0 + _RedColor ("R Color", Color) = (1, 1, 1, 1) + _RedTexure ("R Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBRed_UV ("UV", int) = 0 + _GreenColor ("G Color", Color) = (1, 1, 1, 1) + _GreenTexture ("G Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBGreen_UV ("UV", int) = 0 + _BlueColor ("B Color", Color) = (1, 1, 1, 1) + _BlueTexture ("B Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBBlue_UV ("UV", int) = 0 + // RGB MASKED NORMALS + [Toggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0 + [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0 + [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalRUV ("UV", int) = 0 + _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalGUV ("UV", int) = 0 + _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalBUV ("UV", int) = 0 + _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0 + + // Detail Options + [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0 + _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { } + [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailMaskUV ("UV", Int) = 0 + _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1) + _DetailTex ("Detail Texture", 2D) = "gray" { } + [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailTexUV ("UV", Int) = 0 + _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1 + _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1 + [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1 + [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailNormalMapUV ("UV", Int) = 0 + [HideInInspector] m_end_DetailOptions ("Details", Float) = 0 + + // Vertex Colors + [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0 + _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0 + _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0 + + //Vertex Manipulations + [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0 + [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1) + [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1) + _VertexManipulationHeight ("Vertex Height", Float) = 0 + _VertexManipulationHeightMask ("Height Map", 2D) = "while" { } + [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0 + _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0 + [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0 + _VertexRoundingDivision ("Division Amount", Float) = 500 + [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0 + + // Alpha Options + [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0 + _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0 + _DitherGradient ("Dither Gradient", Range(0, 1)) = .1 + [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0 + _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0 + [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0 + [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0 + _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25 + [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0 + _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 + [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 + + // Decal Texture + [HideInInspector] m_start_DecalSection ("Decal", Float) = 0 + [HideInInspector][Toggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0 + _DecalColor ("Color", Color) = (1, 1, 1, 1) + _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _DecalTexture ("Decal", 2D) = "white" { } + [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalTextureUV ("UV", Int) = 0 + _DecalMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalMaskUV ("UV", Int) = 0 + [ToggleUI]_DecalTiled ("Tiled?", Float) = 0 + [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0) + [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0) + _DecalRotation ("Rotation", Range(0, 360)) = 0 + _DecalRotationSpeed ("Rotation Speed", Float) = 0 + _DecalBlendAdd ("Add", Range(0, 1)) = 0 + _DecalBlendMultiply ("Multiply", Range(0, 1)) = 0 + _DecalBlendReplace ("Replace", Range(0, 1)) = 0 + [HideInInspector] m_end_DecalSection ("Decal", Float) = 0 + + // Back Face Textures and Emission + [HideInInspector] m_start_backFace ("Back Face", Float) = 0 + [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0 + _BackFaceColor ("Color", Color) = (1, 1, 1, 1) + _BackFaceTexture ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_BackFaceTextureUV ("UV#", Int) = 0 + _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1 + _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0 + _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [HideInInspector] m_end_backFace ("Back Face", Float) = 0 + + // Lighting + [HideInInspector] m_lightingOptions ("Lighting", Float) = 0 + [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0 + [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1 + [Enum(Toon, 0, Realistic, 1)] _LightingMode ("Lighting Type", Int) = 0 + _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0 + [ToggleUI]_LightingShadingEnabled ("Enable Shading--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0 + [Enum(Ramp Texture, 0, Math Gradient, 1)] _LightingRampType ("Ramp Type--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Int) = 0 + [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", 2D) = "white" { } + _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowMaskUV ("UV", Int) = 0 + _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0 + _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = 0 + _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = .5 + _LightingShadowColor ("Shadow Tint--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Color) = (1, 1, 1, 1) + _ShadowStrength ("Shadow Strength--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 1 + _AttenuationMultiplier ("Unity Shadows--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==1},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 0 + [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + + [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0 + [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0 + [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0 + [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0 + [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0 + _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0 + _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 + _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0 + [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0 + + [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled}", Float) = 0 + [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0 + _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingDetailShadowsUV ("UV", Int) = 0 + _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0 + + [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0 + _LightingAOTex ("AO Map", 2D) = "white" { } + [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingAOTexUV ("UV", Int) = 0 + _AOStrength ("AO Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0 + + [HideInInspector] m_start_shadowTexture ("Shadow Texture--{reference_property:_UseShadowTexture, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + [HideInInspector][ToggleUI]_UseShadowTexture ("EnableShadowTexture--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + _LightingShadowTexture ("Shadow Texture--{reference_properties:[_LightingShadowTexturePan, _LightingShadowTextureUV], condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_shadowTexture ("Shadow Texture", Float) = 0 + + // HSL Lighting + [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0 + _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1 + _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5 + _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5 + _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5 + [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0 + + // point/spot Light Settings + [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_commentIfZero_LightingAdditiveEnable,button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0 + [HideInInspector][ToggleUI]_commentIfZero_LightingAdditiveEnable ("Enable Additive", Float) = 1 + [Enum(Realistic, 0, Toon, 1)] _LightingAdditiveType ("Lighting Type", Int) = 1 + _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0 + _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5 + _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5 + _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1 + [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0 + _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1 + [Toggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1 + [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0 + [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0 + + // Subsurface Scattering + [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0 + [Toggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0 + _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1) + _SSSThicknessMap ("Thickness Map", 2D) = "black" { } + [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SSSThicknessMapUV ("UV", Int) = 0 + _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0 + _SSSSCale ("Light Strength", Range(0, 1)) = 0.25 + _SSSPower ("Light Spread", Range(1, 100)) = 5 + _SSSDistortion ("Light Distortion", Range(0, 1)) = 1 + [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0 + + // Rim Lighting + [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0 + [Toggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0 + [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1 + [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimTexUV ("UV", Int) = 0 + _RimMask ("Rim Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimMaskUV ("UV", Int) = 0 + + // Rim Noise + [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0 + _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { } + [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0 + _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1 + [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0 + + // Rim Shadow Mix + [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0 + _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0 + _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5 + _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5 + [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0 + [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0 + + // Environmental Rim Lighting + [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0 + [Toggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0 + _RimEnviroMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimEnviroMaskUV ("UV", Int) = 0 + _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7 + _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45 + _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0 + _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0 + _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1 + [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0 + + // Baked Lighting + [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0 + _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1 + [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown + [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown + [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0 + + // Metallics + [HideInInspector] m_start_Metallic ("Metallics", Float) = 0 + [Toggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1) + _MetallicTintMap ("Tint Map", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicTintMapUV ("UV", Int) = 0 + _MetallicMask ("Metallic Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicMaskUV ("UV", Int) = 0 + _Metallic ("Metallic", Range(0, 1)) = 0 + _SmoothnessMask ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SmoothnessMaskUV ("UV", Int) = 0 + [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _Smoothness ("Smoothness", Range(0, 1)) = 0 + [HideInInspector] m_end_Metallic ("Metallics", Float) = 0 + + // Clearcoat + [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0 + [Toggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0 + [Enum(Vertex, 0, Pixel, 1)] _ClearCoatNormalToUse ("What Normal?", Int) = 0 + _ClearCoatCubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_ClearCoatSampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _ClearCoatTint ("Reflection Tint", Color) = (1, 1, 1) + _ClearCoatMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatMaskUV ("UV", Int) = 0 + _ClearCoat ("Clear Coat", Range(0, 1)) = 1 + _ClearCoatSmoothnessMap ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatSmoothnessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatSmoothnessMapUV ("UV", Int) = 0 + [ToggleUI]_ClearCoatInvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _ClearCoatSmoothness ("Smoothness", Range(0, 1)) = 0 + [ToggleUI]_ClearCoatForceLighting ("Force Lighting", Float) = 0 + [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0 + + // First Matcap + [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0 + [Toggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0 + _MatcapColor ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { } + _MatcapBorder ("Border", Range(0, .5)) = 0.43 + _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MatcapMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0 + _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _MatcapIntensity ("Intensity", Range(0, 5)) = 1 + _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 + _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1 + _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0 + _MatcapAdd ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1 + [HideInInspector] m_end_matcap ("Matcap", Float) = 0 + + // Second Matcap + [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0 + [ToggleUI]_Matcap2Enable ("Enable Matcap 2", Float) = 0 + _Matcap2Color ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { } + _Matcap2Border ("Border", Range(0, .5)) = 0.43 + _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _Matcap2MaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0 + _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _Matcap2Intensity ("Intensity", Range(0, 5)) = 1 + _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0 + _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0 + _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0 + _Matcap2Add ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1 + [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0 + + // Specular + [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0 + [Toggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1 + _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMapUV ("UV", Int) = 0 + _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1 + [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMapUV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0 + _SpecularMask ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMaskUV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1 + // Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0 + _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0 + _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMapUV ("UV", Int) = 0 + //toon aniso + _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95 + _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0 + // Toon Specular + [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0 + + // Second Specular + [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0 + [ToggleUI]_EnableSpecular1 ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1 + _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0 + _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75 + _SpecularMap1 ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMap1UV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0 + _SpecularMask1 ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMask1UV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1 + // Second Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0 + _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0 + _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMap1UV ("UV", Int) = 0 + // Second toon aniso + _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95 + _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor1 ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0 + // Second Toon Specular + [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0 + + // First Emission + [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0 + [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0 + [Toggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0 + [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMapUV ("UV", Int) = 0 + _EmissionMask ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMaskUV ("UV", Int) = 0 + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0 + _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 + + // Center out emission + [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0 + + // Glow in the dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + // Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + _EmissionScrollingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0 + + // Second Enission + [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0 + [Toggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0 + [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMap1UV ("UV", Int) = 0 + _EmissionMask1 ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMask1UV ("UV", Int) = 0 + _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0 + _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0 + + // Second Center Out Enission + [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0 + + // Second Glow In The Dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Second Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + + // Scrolling Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0 + _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width1 ("Width", Float) = 10 + _EmissiveScroll_Velocity1 ("Velocity", Float) = 10 + _EmissiveScroll_Interval1 ("Interval", Float) = 20 + _EmissionScrollingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0 + + // Flipbook + [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0 + [Toggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0 + [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0 + [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookTexArrayUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookMask ("Mask", 2D) = "white" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookMaskUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1) + _FlipbookTotalFrames ("Total Frames", Int) = 1 + _FlipbookFPS ("FPS", Float) = 30.0 + _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0) + [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0 + _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _FlipbookRotation ("Rotation", Range(0, 360)) = 0 + _FlipbookRotationSpeed ("Rotation Speed", Float) = 0 + _FlipbookReplace ("Replace", Range(0, 1)) = 1 + _FlipbookMultiply ("Multiply", Range(0, 1)) = 0 + _FlipbookAdd ("Add", Range(0, 1)) = 0 + + // Flipbook Manual Control + [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0 + _FlipbookCurrentFrame ("Current Frame", Float) = -1 + [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0 + [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0 + + // Dissolve + [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0 + [Toggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0 + [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1 + _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025 + _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5 + _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1) + [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { } + _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0 + _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1) + _DissolveToTexture ("Dissolved Texture", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveToTextureUV ("UV", Int) = 0 + _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0 + _DissolveNoiseTexture ("Dissolve Noise", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0 + _DissolveDetailNoise ("Dissolve Detail Noise", 2D) = "black" { } + [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0 + _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1 + _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0 + _DissolveMask ("Dissolve Mask", 2D) = "white" { } + [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0 + [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0 + _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0 + [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2 + [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0 + + // Point to Point Dissolve + [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0 + [Enum(Local, 0, World, 1)] _DissolveP2PWorldLocal ("World/Local", Int) = 0 + _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1 + [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0) + [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0) + [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0 + + // Locked in anim sldiers + [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0 + _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0 + _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0 + _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0 + _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0 + _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0 + _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0 + _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0 + _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0 + _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0 + _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0 + [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0 + [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0 + + // Panosphere + [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + [Toggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0 + [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0 + _PanosphereColor ("Color", Color) = (1, 1, 1, 1) + _PanosphereTexture ("Texture", 2D) = "white" { } + _PanoMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _PanoMaskUV ("UV", Int) = 0 + _PanoEmission ("Emission Strength", Range(0, 10)) = 0 + _PanoBlend ("Alpha", Range(0, 1)) = 0 + [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0) + [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0 + [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { } + [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + + // Glitter + [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0 + [Toggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0 + [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0 + [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0 + [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0 + [HDR]_GlitterColor ("Color", Color) = (1, 1, 1) + _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0 + _GlitterColorMap ("Glitter Color Map", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterColorMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterMask ("Glitter Mask", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterMaskUV ("UV", Int) = 0 + _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterTextureRotation ("Rotation Speed", Float) = 0 + _GlitterFrequency ("Glitter Density", Float) = 300.0 + _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0 + _GlitterSpeed ("Glitter Speed", Float) = 10.0 + _GlitterSize ("Glitter Size", Range(0, 1)) = .3 + _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300 + _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90 + _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0 + _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3 + _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8 + _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08 + _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20 + _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0 + + // Glitter Random Colors + [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0 + [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0 + [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1) + [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1) + [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0 + [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1) + [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0 + [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0 + [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0 + + // MSDF OVERLAY + [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0 + _TextGlyphs ("Font Array", 2D) = "black" { } + _TextPixelRange ("Pixel Range", Float) = 4.0 + [Toggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0 + + // FPS + [HideInInspector] m_start_TextFPS ("FPS", Float) = 0 + [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextFPSUV ("FPS UV", Int) = 0 + _TextFPSColor ("Color", Color) = (1, 1, 1, 1) + _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextFPSRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1) + _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextFPS ("FPS", Float) = 0 + + // POSITION + [HideInInspector] m_start_TextPosition ("Position", Float) = 0 + [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextPositionUV ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVertical ("Vertical?", Float) = 0 + _TextPositionColor ("Color", Color) = (1, 0, 1, 1) + _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextPositionRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1) + _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextPosition ("Position", Float) = 0 + + // INSTANCE TIME + [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0 + [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextTimeUV ("Time UV", Int) = 0 + _TextTimeColor ("Color", Color) = (1, 0, 1, 1) + _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextTimeRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1) + _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0 + [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0 + + // Mirror Rendering + [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0 + [Toggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0 + [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0 + [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0 + _MirrorTexture ("Mirror Tex", 2D) = "white" { } + [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MirrorTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0 + + // Distance Fade + [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0 + _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0 + _MainFadeTexture ("Fade Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainFadeTextureUV ("UV", Int) = 0 + [Vector2]_MainDistanceFade ("Distance Fade X to Y", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0 + + // Angular Fade + [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0 + [Toggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0 + [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0 + [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0 + [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0) + _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45 + _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90 + _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45 + _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90 + _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0 + + // UV Distortion + [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0 + [Toggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0 + _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0 + _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { } + _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { } + _DistortionStrength ("Strength1", Float) = 0.5 + _DistortionStrength1 ("Strength2", Float) = 0.5 + [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0) + [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0) + [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0 + + // Outline Options + [HideInInspector] m_outlineOptions ("Outlines", Float) = 0 + [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0 + [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0 + _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0 + _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0 + _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0) + _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0) + [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0 + [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0 + [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1 + _LineWidth ("Width", Float) = 0 + _LineColor ("Color", Color) = (1, 1, 1, 1) + _OutlineEmission ("Outline Emission", Float) = 0 + _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineTextureUV ("UV", Int) = 0 + _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineMaskUV ("UV", Int) = 0 + _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0 + [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0) + [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1 + _OutlineOffsetFactor("Offset Factor", Float) = 0 + _OutlineOffsetUnits("Offset Units", Float) = 0 + [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0 + + // Parallax Mapping + [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0 + [Toggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0 + [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0 + [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0 + [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0 + [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0) + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0 + _ParallaxHeightMap ("Height Map", 2D) = "black" { } + _ParallaxHeightMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0 + _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0 + [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0 + [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0 + [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0 + [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0 + _ParallaxInternalMap ("Internal Map", 2D) = "black" { } + _ParallaxInternalMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0 + _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1 + _ParallaxInternalMinDepth ("Min Depth", Float) = 0 + _ParallaxInternalMaxDepth ("Max Depth", Float) = 1 + _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0 + _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1 + _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1) + _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1) + [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0) + [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0 + [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0 + _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42 + [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0 + + // Rendering Options + [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1 + [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15 + _OffsetFactor ("Offset Factor", Float) = 0.0 + _OffsetUnits ("Offset Units", Float) = 0.0 + [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 + [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown + + // Blending Options + [HideInInspector] m_start_blending ("Blending", Float) = 0 + [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 + [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1 + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0 + [HideInInspector] m_end_blending ("Blending", Float) = 0 + + // Stencils + [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 + + // Outline Stencil + [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{is_hideable:true, condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + // Debug Options + [HideInInspector] m_start_debugOptions ("Debug", Float) = 0 + [HideInInspector][Toggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0 + _VertexUnwrap ("Unwrap", Range(0, 1)) = 0 + [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0 + [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0 + [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0 + [HideInInspector] m_end_debugOptions ("Debug", Float) = 0 + + //[HideInInspector] m_animationToggles ("Animation Support Toggles", Float) = 0 + //[HelpBox(1)] _AnimationToggleHelp ("You don't need to search through this list. You can enable animation support on any property by right clicking it", Int) = 0 + + // Main + [HideInInspector]_ColorAnimated ("Color & Alpha", Int) = 0 + [HideInInspector]_MainTexAnimated ("Texture", Int) = 0 + [HideInInspector]_MainTex_STAnimated ("Texture Offset/Scale", Int) = 0 + [HideInInspector]_MainTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_SaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_MainVertexColoringAnimated ("Use Vertex Color", Int) = 0 + [HideInInspector]_MainUseVertexColorAlphaAnimated ("Use Vertex Alpha", Int) = 0 + [HideInInspector]_MainEmissionStrengthAnimated ("Basic Emission", Int) = 0 + [HideInInspector]_BumpMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_BumpMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_BumpMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_BumpScaleAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_AlphaMaskAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_AlphaMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AlphaMaskUVAnimated ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector]_MainHueShiftToggleAnimated ("Toggle Hueshift", Int) = 0 + [HideInInspector]_MainHueShiftReplaceAnimated ("Replace?", Int) = 0 + [HideInInspector]_MainHueShiftAnimated ("Hue Shift", Int) = 0 + [HideInInspector]_MainHueShiftSpeedAnimated ("Shift Speed", Int) = 0 + [HideInInspector]_MainHueShiftMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MainHueShiftMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainHueShiftMaskUVAnimated ("UV", Int) = 0 + + // RGB Masking + [HideInInspector]_RGBMaskEnabledAnimated ("RGB Mask Enabled", Int) = 0 + [HideInInspector]_RGBUseVertexColorsAnimated ("Use Vertex Colors", Int) = 0 + [HideInInspector]_RGBBlendMultiplicativeAnimated ("Multiplicative?", Int) = 0 + [HideInInspector]_RGBMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RGBMaskPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RedColorAnimated ("R Color", Int) = 0 + [HideInInspector]_RedTexureAnimated ("R Texture", Int) = 0 + [HideInInspector]_RGBRedPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBRed_UVAnimated ("UV", Int) = 0 + [HideInInspector]_GreenColorAnimated ("G Color", Int) = 0 + [HideInInspector]_GreenTextureAnimated ("G Texture", Int) = 0 + [HideInInspector]_RGBGreenPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBGreen_UVAnimated ("UV", Int) = 0 + [HideInInspector]_BlueColorAnimated ("B Color", Int) = 0 + [HideInInspector]_BlueTextureAnimated ("B Texture", Int) = 0 + [HideInInspector]_RGBBluePanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBBlue_UVAnimated ("UV", Int) = 0 + [HideInInspector]_RGBNormalBlendAnimated ("UV", Int) = 0 + + // Detail Options + [HideInInspector]_DetailMaskAnimated ("Detail Mask (R:Texture, G:Normal)", Int) = 0 + [HideInInspector]_DetailMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTintAnimated ("Detail Texture Tint", Int) = 0 + [HideInInspector]_DetailTexAnimated ("Detail Texture", Int) = 0 + [HideInInspector]_DetailTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTexIntensityAnimated ("Detail Tex Intensity", Int) = 0 + [HideInInspector]_DetailBrightnessAnimated ("Detail Brightness:", Int) = 0 + [HideInInspector]_DetailNormalMapAnimated ("Detail Normal", Int) = 0 + [HideInInspector]_DetailNormalMapScaleAnimated ("Detail Normal Intensity", Int) = 0 + [HideInInspector]_DetailNormalMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailNormalMapUVAnimated ("UV", Int) = 0 + + //Vertex Manipulations + [HideInInspector]_VertexManipulationLocalTranslationAnimated ("Local Translation", Int) = 0 + [HideInInspector]_VertexManipulationLocalRotationAnimated ("Local Rotation", Int) = 0 + [HideInInspector]_VertexManipulationLocalScaleAnimated ("Local Scale", Int) = 0 + [HideInInspector]_VertexManipulationWorldTranslationAnimated ("World Translation", Int) = 0 + [HideInInspector]_VertexManipulationHeightAnimated ("Vertex Height", Int) = 0 + [HideInInspector]_VertexManipulationHeightMaskAnimated ("Height Map", Int) = 0 + [HideInInspector]_VertexManipulationHeightPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VertexManipulationHeightUVAnimated ("UV", Int) = 0 + [HideInInspector]_VertexManipulationHeightBiasAnimated ("Mask Bias", Int) = 0 + [HideInInspector]_VertexRoundingEnabledAnimated ("Rounding Enabled", Int) = 0 + [HideInInspector]_VertexRoundingDivisionAnimated ("Division Amount", Int) = 0 + + // Alpha Options + [HideInInspector]_AlphaModAnimated ("Alpha Mod", Int) = 0 + [HideInInspector]_CutoffAnimated ("Alpha Cuttoff", Int) = 0 + [HideInInspector]_DitheringEnabledAnimated ("Enable Dithering", Int) = 0 + [HideInInspector]_DitherGradientAnimated ("Dither Gradient", Int) = 0 + [HideInInspector]_ForceOpaqueAnimated ("Force Opaque", Int) = 0 + [HideInInspector]_MainShadowClipModAnimated ("Shadow Clip Mod", Int) = 0 + [HideInInspector]_AlphaToMaskAnimated ("Alpha To Coverage", Int) = 0 + [HideInInspector]_MainAlphaToCoverageAnimated ("Sharpenned A2C", Int) = 0 + [HideInInspector]_AlphaPremultiplyAnimated ("Alpha Premultiply", Int) = 0 + [HideInInspector]_MainMipScaleAnimated ("Mip Level Alpha Scale", Int) = 0 + + // Decal Texture + [HideInInspector]_DecalEnabledAnimated ("Enable", Int) = 0 + [HideInInspector]_DecalColorAnimated ("Color", Int) = 0 + [HideInInspector]_DecalEmissionStrengthAnimated ("Color", Int) = 0 + [HideInInspector]_DecalTextureAnimated ("Decal", Int) = 0 + [HideInInspector]_DecalTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DecalMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_DecalScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_DecalPositionAnimated ("Position", Int) = 0 + [HideInInspector]_DecalRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_DecalRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_DecalBlendAddAnimated ("Add", Int) = 0 + [HideInInspector]_DecalBlendMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_DecalBlendReplaceAnimated ("Replace", Int) = 0 + + // Lighting + [HideInInspector]_EnableLightingAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LightingModeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingStandardSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_LightingShadingEnabledAnimated ("Enable Shading-",Int) = 0 + [HideInInspector]_LightingRampTypeAnimated ("Ramp Type", Int) = 0 + [HideInInspector]_ToonRampAnimated ("Lighting Ramp", Int) = 0 + [HideInInspector]_LightingShadowMaskAnimated ("Ramp Mask", Int) = 0 + [HideInInspector]_LightingShadowMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ShadowOffsetAnimated ("Ramp Offset", Int) = 0 + [HideInInspector]_LightingGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingShadowColorAnimated ("Shadow Tint", Int) = 0 + [HideInInspector]_ShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_AttenuationMultiplierAnimated ("Unity Shadows", Int) = 0 + [HideInInspector]_LightingIgnoreAmbientColorAnimated ("Ignore Ambient Color", Int) = 0 + + [HideInInspector]_LightingDirectColorModeAnimated ("D Color", Int) = 0 + [HideInInspector]_LightingIndirectColorModeAnimated ("I Color?", Int) = 0 + [HideInInspector]_LightingMonochromaticAnimated ("Monochromatic Lighting?", Int) = 0 + [HideInInspector]_LightingUncappedAnimated ("Uncapped Lighting", Int) = 0 + [HideInInspector]_LightingOnlyUnityShadowsAnimated ("Only Unity Shadows", Int) = 0 + [HideInInspector]_LightingMinLightBrightnessAnimated ("Min Brightnes", Int) = 0 + [HideInInspector]_LightingMinShadowBrightnessRatioAnimated ("Shadow:Light min Ratio", Int) = 0 + + [HideInInspector]_LightingDetailShadowsEnabledAnimated ("Enabled Detail Shadows?", Int) = 0 + [HideInInspector]_LightingDetailShadowsAnimated ("Detail Shadows", Int) = 0 + [HideInInspector]_LightingDetailShadowsPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingDetailShadowsUVAnimated ("UV", Int) = 0 + [HideInInspector]_LightingDetailStrengthAnimated ("Detail Strength", Int) = 0 + + [HideInInspector]_LightingEnableAOAnimated ("Enable AO", Int) = 0 + [HideInInspector]_LightingAOTexAnimated ("AO Map", Int) = 0 + [HideInInspector]_LightingAOTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingAOTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_AOStrengthAnimated ("AO Strength", Range(0, 1)) = 0 + + [HideInInspector]_UseShadowTextureAnimated ("EnableShadowTexture", Int) = 0 + [HideInInspector]_LightingShadowTextureAnimated ("Shadow Texture", Int) = 0 + [HideInInspector]_LightingShadowTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowTextureUVAnimated ("UV", Int) = 0 + + [HideInInspector]_LightingEnableHSLAnimated ("Enabled HSL Lighting", Int) = 0 + [HideInInspector]_LightingHSLIntensityAnimated ("Shadow HSL Intensity", Int) = 0 + [HideInInspector]_LightingShadowHueAnimated ("Shadow Hue Change", Int) = 0 + [HideInInspector]_LightingShadowSaturationAnimated ("Shadow Saturation Change", Int) = 0 + [HideInInspector]_LightingShadowLightnessAnimated ("Shadow Lightness Change", Int) = 0 + + // point/spot Light Settings + [HideInInspector]_commentIfZero_LightingAdditiveEnableAnimated ("Enable Additive", Int) = 0 + [HideInInspector]_LightingAdditiveTypeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingAdditiveGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingAdditiveGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingAdditivePassthroughAnimated ("Point Light Passthrough", Int) = 0 + [HideInInspector]_LightingAdditiveDetailStrengthAnimated ("Detail Shadow Strength", Int) = 0 + [HideInInspector]_LightingAdditiveLimitIntensityAnimated ("Limit Intensity", Int) = 0 + [HideInInspector]_LightingAdditiveMaxIntensityAnimated ("Max Intensity", Int) = 0 + + // Subsurface Scattering + [HideInInspector]_EnableSSSAnimated ("Enable Subsurface Scattering", Int) = 0 + [HideInInspector]_SSSColorAnimated ("Subsurface Color", Int) = 0 + [HideInInspector]_SSSThicknessMapAnimated ("Thickness Map", Int) = 0 + [HideInInspector]_SSSThicknessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SSSThicknessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SSSThicknessModAnimated ("Thickness mod", Int) = 0 + [HideInInspector]_SSSSCaleAnimated ("Light Strength", Int) = 0 + [HideInInspector]_SSSPowerAnimated ("Light Spread", Int) = 0 + [HideInInspector]_SSSDistortionAnimated ("Light Distortion", Int) = 0 + + // Rim Lighting + [HideInInspector]_EnableRimLightingAnimated ("Enable Rim Lighting", Int) = 0 + [HideInInspector]_RimLightNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_RimLightingInvertAnimated ("Invert Rim Lighting", Int) = 0 + [HideInInspector]_RimLightColorAnimated ("Rim Color", Int) = 0 + [HideInInspector]_RimWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimStrengthAnimated ("Rim Emission", Int) = 0 + [HideInInspector]_RimBrightenAnimated ("Rim Color Brighten", Int) = 0 + [HideInInspector]_RimLightColorBiasAnimated ("Rim Color Bias", Int) = 0 + [HideInInspector]_RimTexAnimated ("Rim Texture", Int) = 0 + [HideInInspector]_RimTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimMaskAnimated ("Rim Mask", Int) = 0 + [HideInInspector]_RimMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimMaskUVAnimated ("UV", Int) = 0 + + // Rim Noise + [HideInInspector]_RimWidthNoiseTextureAnimated ("Rim Width Noise", Int) = 0 + [HideInInspector]_RimWidthNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimWidthNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimWidthNoiseStrengthAnimated ("Intensity", Int) = 0 + + // Rim Shadow Mix + [HideInInspector]_ShadowMixAnimated ("Shadow Mix In", Int) = 0 + [HideInInspector]_ShadowMixThresholdAnimated ("Shadow Mix Threshold", Int) = 0 + [HideInInspector]_ShadowMixWidthModAnimated ("Shadow Mix Width Mod", Int) = 0 + + // Environmental Rim Lighting + [HideInInspector]_EnableEnvironmentalRimAnimated ("Enable Environmental Rim", Int) = 0 + [HideInInspector]_RimEnviroMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RimEnviroMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimEnviroMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimEnviroBlurAnimated ("Blur", Int) = 0 + [HideInInspector]_RimEnviroWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimEnviroSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimEnviroMinBrightnessAnimated ("Min Brightness Threshold", Int) = 0 + [HideInInspector]_RimEnviroIntensityAnimated ("Intensity", Int) = 0 + + // Metallics + [HideInInspector]_EnableMetallicAnimated ("Enable Metallics", Int) = 0 + [HideInInspector]_CubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_SampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_MetalReflectionTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_MetallicTintMapAnimated ("Tint Map", Int) = 0 + [HideInInspector]_MetallicTintMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicTintMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicMaskAnimated ("Metallic Mask", Int) = 0 + [HideInInspector]_MetallicMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SmoothnessMaskAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SmoothnessMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_InvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessAnimated ("Smoothness", Int) = 0 + + // Clearcoat + [HideInInspector]_EnableClearCoatAnimated ("Enable Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatNormalToUseAnimated ("What Normal?", Int) = 0 + [HideInInspector]_ClearCoatCubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_ClearCoatSampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_ClearCoatTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_ClearCoatMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ClearCoatMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatInvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_ClearCoatForceLightingAnimated ("Force Lighting", Int) = 0 + + // First Matcap + [HideInInspector]_MatcapEnableAnimated ("Enable Matcap", Int) = 0 + [HideInInspector]_MatcapColorAnimated ("Color", Int) = 0 + [HideInInspector]_MatcapAnimated ("Matcap", Int) = 0 + [HideInInspector]_MatcapBorderAnimated ("Border", Int) = 0 + [HideInInspector]_MatcapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MatcapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MatcapMaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_MatcapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MatcapEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_MatcapIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_MatcapLightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_MatcapReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_MatcapMultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_MatcapAddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_MatcapNormalAnimated ("Normal to use", Int) = 0 + + // Second Matcap + [HideInInspector]_Matcap2EnableAnimated ("Enable Matcap 2", Int) = 0 + [HideInInspector]_Matcap2ColorAnimated ("Color", Int) = 0 + [HideInInspector]_Matcap2Animated ("Matcap", Int) = 0 + [HideInInspector]_Matcap2BorderAnimated ("Border", Int) = 0 + [HideInInspector]_Matcap2MaskAnimated ("Mask", Int) = 0 + [HideInInspector]_Matcap2MaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_Matcap2MaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_Matcap2MaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_Matcap2EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_Matcap2IntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_Matcap2LightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_Matcap2ReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_Matcap2MultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_Matcap2AddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_Matcap2NormalAnimated ("Normal to use", Int) = 0 + + // Specular + [HideInInspector]_EnableSpecularAnimated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularTypeAnimated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTintAnimated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMapAnimated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothnessAnimated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMaskAnimated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFromAnimated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangentAnimated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1AlphaAnimated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2AlphaAnimated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1OffsetAnimated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2SmoothnessAnimated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMapAnimated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMapAnimated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStartAnimated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEndAnimated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColorAnimated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirroredAnimated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroAnimated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplierAnimated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroAnimated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplierAnimated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuterAnimated ("Inner/Outer Edge", Int) = 0 + + // Second Specular + [HideInInspector]_EnableSpecular1Animated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularType1Animated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormal1Animated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTint1Animated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallic1Animated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothness1Animated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMap1Animated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothness1Animated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMask1Animated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFrom1Animated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangent1Animated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1Alpha1Animated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2Alpha1Animated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1Offset1Animated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2Smoothness1Animated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMap1Animated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMap1Animated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStart1Animated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEnd1Animated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColor1Animated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirrored1Animated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1Animated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplier1Animated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1Animated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplier1Animated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuter1Animated ("Inner/Outer Edge", Int) = 0 + + // First Emission + [HideInInspector]_EnableEmissionAnimated ("Enable Emission", Int) = 0 + [HideInInspector]_EmissionReplaceAnimated ("Replace Base Color", Int) = 0 + [HideInInspector]_EmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMapAnimated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMapAnimated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMaskAnimated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabledAnimated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShiftAnimated ("Hue Shift", Int) = 0 + + // Center out emission + [HideInInspector]_EmissionCenterOutEnabledAnimated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeedAnimated ("Flow Speed", Int) = 0 + + // Glow in the dark Emission + [HideInInspector]_EnableGITDEmissionAnimated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMeshAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplierAnimated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplierAnimated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLightAnimated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLightAnimated ("Max Lighting", Int) = 0 + + // Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_MinAnimated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_MaxAnimated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_VelocityAnimated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffsetAnimated ("Offset", Int) = 0 + + // Scrolling Emission + [HideInInspector]_ScrollingEmissionAnimated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurveAnimated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurveAnimated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColorAnimated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_DirectionAnimated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_WidthAnimated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_VelocityAnimated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_IntervalAnimated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffsetAnimated ("Offset", Int) = 0 + + // Second Enission + [HideInInspector]_EnableEmission1Animated ("Enable Emission 2", Int) = 0 + [HideInInspector]_EmissionColor1Animated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMap1Animated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMap1Animated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMask1Animated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrength1Animated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabled1Animated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShift1Animated ("Hue Shift", Int) = 0 + + // Second Center Out Enission + [HideInInspector]_EmissionCenterOutEnabled1Animated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeed1Animated ("Flow Speed", Int) = 0 + + // Second Glow In The Dark Emission + [HideInInspector]_EnableGITDEmission1Animated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMesh1Animated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplier1Animated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplier1Animated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLight1Animated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLight1Animated ("Max Lighting", Int) = 0 + + // Second Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_Min1Animated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_Max1Animated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_Velocity1Animated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffset1Animated ("Offset", Int) = 0 + + // Scrolling Scrolling Emission + [HideInInspector]_ScrollingEmission1Animated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurve1Animated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurve1Animated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColor1Animated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_Direction1Animated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_Width1Animated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_Velocity1Animated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_Interval1Animated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffset1Animated ("Offset", Int) = 0 + + // Flipbook + [HideInInspector]_EnableFlipbookAnimated ("Enable Flipbook", Int) = 0 + [HideInInspector]_FlipbookAlphaControlsFinalAlphaAnimated ("Flipbook Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookIntensityControlsAlphaAnimated ("Intensity Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookColorReplacesAnimated ("Color Replaces Flipbook", Int) = 0 + [HideInInspector]_FlipbookTexArrayAnimated ("Texture Array", Int) = 0 + [HideInInspector]_FlipbookTexArrayUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookTexArrayPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_FlipbookMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookColorAnimated ("Color & alpha", Int) = 0 + [HideInInspector]_FlipbookTotalFramesAnimated ("Total Frames", Int) = 0 + [HideInInspector]_FlipbookFPSAnimated ("FPS", Int) = 0 + [HideInInspector]_FlipbookScaleOffsetAnimated ("Scale | Offset", Int) = 0 + [HideInInspector]_FlipbookTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_FlipbookEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_FlipbookRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_FlipbookRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_FlipbookReplaceAnimated ("Replace", Int) = 0 + [HideInInspector]_FlipbookMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_FlipbookAddAnimated ("Add", Int) = 0 + [HideInInspector]_FlipbookCurrentFrameAnimated ("Current Frame", Int) = 0 + + // Dissolve + [HideInInspector]_EnableDissolveAnimated ("Enable Dissolve", Int) = 0 + [HideInInspector]_DissolveTypeAnimated ("Dissolve Type", Int) = 0 + [HideInInspector]_DissolveEdgeWidthAnimated ("Edge Width", Int) = 0 + [HideInInspector]_DissolveEdgeHardnessAnimated ("Edge Hardness", Int) = 0 + [HideInInspector]_DissolveEdgeColorAnimated ("Edge Color", Int) = 0 + [HideInInspector]_DissolveEdgeGradientAnimated ("Edge Gradient", Int) = 0 + [HideInInspector]_DissolveEdgeEmissionAnimated ("Edge Emission", Int) = 0 + [HideInInspector]_DissolveTextureColorAnimated ("Dissolved Color", Int) = 0 + [HideInInspector]_DissolveToTextureAnimated ("Dissolved Texture", Int) = 0 + [HideInInspector]_DissolveToTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveToTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveToEmissionStrengthAnimated ("Dissolved Emission Strength", Int) = 0 + [HideInInspector]_DissolveNoiseTextureAnimated ("Dissolve Noise", Int) = 0 + [HideInInspector]_DissolveNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailNoiseAnimated ("Dissolve Detail Noise", Int) = 0 + [HideInInspector]_DissolveDetailNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveDetailNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertDetailNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailStrengthAnimated ("Dissolve Detail Strength", Int) = 0 + [HideInInspector]_DissolveAlphaAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveUseVertexColorsAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveMaskAnimated ("Dissolve Mask", Int) = 0 + [HideInInspector]_DissolveMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveMaskInvertAnimated ("Invert?", Int) = 0 + [HideInInspector]_ContinuousDissolveAnimated ("Continuous Dissolve Speed", Int) = 0 + [HideInInspector]_DissolveEmissionSideAnimated ("Emission 1", Int) = 0 + [HideInInspector]_DissolveEmission1SideAnimated ("Emission 2", Int) = 0 + + // Point to Point Dissolve + [HideInInspector]_DissolveP2PWorldLocalAnimated ("World/Local", Int) = 0 + [HideInInspector]_DissolveP2PEdgeLengthAnimated ("Edge Length", Int) = 0 + [HideInInspector]_DissolveStartPointAnimated ("Start Point", Int) = 0 + [HideInInspector]_DissolveEndPointAnimated ("End Point", Int) = 0 + + [HideInInspector]_DissolveAlpha0Animated ("_DissolveAlpha0", Int) = 0 + [HideInInspector]_DissolveAlpha1Animated ("_DissolveAlpha1", Int) = 0 + [HideInInspector]_DissolveAlpha2Animated ("_DissolveAlpha2", Int) = 0 + [HideInInspector]_DissolveAlpha3Animated ("_DissolveAlpha3", Int) = 0 + [HideInInspector]_DissolveAlpha4Animated ("_DissolveAlpha4", Int) = 0 + [HideInInspector]_DissolveAlpha5Animated ("_DissolveAlpha5", Int) = 0 + [HideInInspector]_DissolveAlpha6Animated ("_DissolveAlpha6", Int) = 0 + [HideInInspector]_DissolveAlpha7Animated ("_DissolveAlpha7", Int) = 0 + [HideInInspector]_DissolveAlpha8Animated ("_DissolveAlpha8", Int) = 0 + [HideInInspector]_DissolveAlpha9Animated ("_DissolveAlpha9", Int) = 0 + + // Panosphere + [HideInInspector]_PanoToggleAnimated ("Enable Panosphere", Int) = 0 + [HideInInspector]_PanoInfiniteStereoToggleAnimated ("Infinite Stereo", Int) = 0 + [HideInInspector]_PanosphereColorAnimated ("Color", Int) = 0 + [HideInInspector]_PanosphereTextureAnimated ("Texture", Int) = 0 + [HideInInspector]_PanoMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_PanoMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_PanoMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_PanoEmissionAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_PanoBlendAnimated ("Alpha", Int) = 0 + [HideInInspector]_PanospherePanAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_PanoCubeMapToggleAnimated ("Use Cubemap", Int) = 0 + [HideInInspector]_PanoCubeMapAnimated ("CubeMap", Int) = 0 + + // Glitter + [HideInInspector]_GlitterEnableAnimated ("Enable Glitter?", Int) = 0 + [HideInInspector]_GlitterModeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterShapeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterBlendTypeAnimated ("Blend Mode", Int) = 0 + [HideInInspector]_GlitterColorAnimated ("Color", Int) = 0 + [HideInInspector]_GlitterUseSurfaceColorAnimated ("Use Surface Color", Int) = 0 + [HideInInspector]_GlitterColorMapAnimated ("Glitter Color Map", Int) = 0 + [HideInInspector]_GlitterColorMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterColorMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterTextureAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterRandomRotationAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterFrequencyAnimated ("Glitter Density", Int) = 0 + [HideInInspector]_GlitterJitterAnimated ("Glitter Jitter", Int) = 0 + [HideInInspector]_GlitterSpeedAnimated ("Glitter Wobble Speed", Int) = 0 + [HideInInspector]_GlitterSizeAnimated ("Glitter Size", Int) = 0 + [HideInInspector]_GlitterContrastAnimated ("Glitter Contrast", Int) = 0 + [HideInInspector]_GlitterAngleRangeAnimated ("Glitter Angle Range", Int) = 0 + [HideInInspector]_GlitterMinBrightnessAnimated ("Glitter Min Brightness", Int) = 0 + [HideInInspector]_GlitterBrightnessAnimated ("Glitter Max Brightness", Int) = 0 + [HideInInspector]_GlitterBiasAnimated ("Glitter Bias", Int) = 0 + [HideInInspector]_GlitterCenterSizeAnimated ("center size", Int) = 0 + [HideInInspector]_GlitterTextureRotationAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_glitterFrequencyLinearEmissiveAnimated ("Frequency", Int) = 0 + [HideInInspector]_GlitterJaggyFixAnimated ("Jaggy Fix", Int) = 0 + + // Glitter Random Colors + [HideInInspector]_GlitterRandomColorsAnimated ("Enable", Int) = 0 + [HideInInspector]_GlitterMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_GlitterMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + [HideInInspector]_GlitterRandomSizeAnimated ("random Size Toggle", Int) = 0 + [HideInInspector]_GlitterMinMaxSizeAnimated ("Min Max Random Size", Int) = 0 + + // MSDF OVERLAY + [HideInInspector]_TextGlyphsAnimated ("Font Array", Int) = 0 + [HideInInspector]_TextPixelRangeAnimated ("Pixel Range", Int) = 0 + [HideInInspector]_TextEnabledAnimated ("Text?", Int) = 0 + + // FPS + [HideInInspector]_TextFPSEnabledAnimated ("FPS Text?", Int) = 0 + [HideInInspector]_TextFPSUVAnimated ("FPS UV", Int) = 0 + [HideInInspector]_TextFPSColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextFPSEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextFPSOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextFPSRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextFPSScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextFPSPaddingAnimated ("Padding Reduction", Int) = 0 + + // POSITION + [HideInInspector]_TextPositionEnabledAnimated ("Position Text?", Int) = 0 + [HideInInspector]_TextPositionUVAnimated ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVerticalAnimated ("Vertical?", Int) = 0 + [HideInInspector]_TextPositionColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextPositionEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextPositionOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextPositionRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextPositionScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextPositionPaddingAnimated ("Padding Reduction", Int) = 0 + + // INSTANCE TIME + [HideInInspector]_TextTimeEnabledAnimated ("Time Text?", Int) = 0 + [HideInInspector]_TextTimeUVAnimated ("Time UV", Int) = 0 + [HideInInspector]_TextTimeColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextTimeEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextTimeOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextTimeRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextTimeScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextTimePaddingAnimated ("Padding Reduction", Int) = 0 + + // Mirror Rendering + [HideInInspector]_EnableMirrorOptionsAnimated ("Enable Mirror Options", Int) = 0 + [HideInInspector]_MirrorAnimated ("Show in mirror", Int) = 0 + [HideInInspector]_EnableMirrorTextureAnimated ("Enable Mirror Texture", Int) = 0 + [HideInInspector]_MirrorTextureAnimated ("Mirror Tex", Int) = 0 + [HideInInspector]_MirrorTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MirrorTextureUVAnimated ("UV", Int) = 0 + + // Distance Fade + [HideInInspector]_MainMinAlphaAnimated ("Minimum Alpha", Int) = 0 + [HideInInspector]_MainFadeTextureAnimated ("Fade Mask", Int) = 0 + [HideInInspector]_MainFadeTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainFadeTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_MainDistanceFadeAnimated ("Distance Fade X to Y", Int) = 0 + + // Angular Fade + [HideInInspector]_EnableRandomAnimated ("Enable Angular Fade", Int) = 0 + [HideInInspector]_AngleTypeAnimated ("Angle Type", Int) = 0 + [HideInInspector]_AngleCompareToAnimated ("Model or Vert Positon", Int) = 0 + [HideInInspector]_AngleForwardDirectionAnimated ("Forward Direction", Int) = 0 + [HideInInspector]_CameraAngleMinAnimated ("Camera Angle Min", Int) = 0 + [HideInInspector]_CameraAngleMaxAnimated ("Camera Angle Max", Int) = 0 + [HideInInspector]_ModelAngleMinAnimated ("Model Angle Min", Int) = 0 + [HideInInspector]_ModelAngleMaxAnimated ("Model Angle Max", Int) = 0 + [HideInInspector]_AngleMinAlphaAnimated ("Min Alpha", Int) = 0 + + // UV Distortion + [HideInInspector]_EnableDistortionAnimated ("Enabled?", Int) = 0 + [HideInInspector]_DistortionMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DistortionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DistortionMaskUVAnimated ("Distortion Mask UV", Int) = 0 + [HideInInspector]_DistortionFlowTextureAnimated ("Distortion Texture 1", Int) = 0 + [HideInInspector]_DistortionFlowTexture1Animated ("Distortion Texture 2", Int) = 0 + [HideInInspector]_DistortionStrengthAnimated ("Strength1", Int) = 0 + [HideInInspector]_DistortionStrength1Animated ("Strength2", Int) = 0 + [HideInInspector]_DistortionSpeedAnimated ("Speed1", Int) = 0 + [HideInInspector]_DistortionSpeed1Animated ("Speed2", Int) = 0 + + // Video Options + [HideInInspector]_EnableVideoAnimated ("Enable Video", Int) = 0 + [HideInInspector]_VideoUVNumberAnimated ("Screen UV#", Int) = 0 + [HideInInspector]_VideoTypeAnimated ("Screen Type", Int) = 0 + [HideInInspector]_VideoBacklightAnimated ("Brightness", Int) = 0 + [HideInInspector]_VideoPixelTextureAnimated ("Pixel Texture", Int) = 0 + [HideInInspector]_VideoResolutionAnimated ("Resolution", Int) = 0 + [HideInInspector]_VideoMaskTextureAnimated ("Mask", Int) = 0 + [HideInInspector]_VideoMaskPanningAnimated ("Mask Pan Speed", Int) = 0 + [HideInInspector]_VideoEnableVideoPlayerAnimated ("Enable Video Player", Int) = 0 + [HideInInspector]_VideoPixelateToResolutionAnimated ("Pixelate To Resolution", Int) = 0 + [HideInInspector]_VideoRepeatVideoTextureAnimated ("Clamp To UV", Int) = 0 + [HideInInspector]_VideoPanningAnimated ("Panning Speed", Int) = 0 + [HideInInspector]_VideoTilingAnimated ("Tiling", Int) = 0 + [HideInInspector]_VideoOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_VideoSaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_VideoContrastAnimated ("Contrast boost", Int) = 0 + [HideInInspector]_VideoEnableDebugAnimated ("Enable Debug", Int) = 0 + [HideInInspector]_VideoDebugTextureAnimated ("Video Debug Tex", Int) = 0 + [HideInInspector]_VideoCRTRefreshRateAnimated ("Refresh Rate", Int) = 0 + [HideInInspector]_VideoCRTPixelEnergizedTimeAnimated ("Pixel Fade Time", Int) = 0 + [HideInInspector]_VideoGameboyRampAnimated ("Color Ramp", Int) = 0 + + // TouchFX + [HideInInspector]_EnableBulgeAnimated ("Bulge", Int) = 0 + [HideInInspector]_BulgeMaskAnimated ("Bulge Mask", Int) = 0 + [HideInInspector]_BuldgeFadeLengthAnimated ("Touch Distance", Int) = 0 + [HideInInspector]_BuldgeHeightAnimated ("Bulge Height", Int) = 0 + + [HideInInspector]_EnableTouchGlowAnimated ("Enable Touch Glow", Int) = 0 + [HideInInspector]_DepthGradientTextureUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientBlendAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientPanAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientUVAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskPanAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGlowColorAnimated ("Depth Glow Color", Int) = 0 + [HideInInspector]_DepthGradientAnimated ("Depth Gradient", Int) = 0 + [HideInInspector]_DepthMaskAnimated ("Depth Mask", Int) = 0 + [HideInInspector]_DepthGlowEmissionAnimated ("Depth Glow Emission", Int) = 0 + [HideInInspector]_FadeLengthAnimated ("Fade Length", Int) = 0 + [HideInInspector]_DepthAlphaMinAnimated ("Alpha Min", Int) = 0 + [HideInInspector]_DepthAlphaMaxAnimated ("Alpha Max", Int) = 0 + + // Hologram + [HideInInspector]_EnableHoloAnimated ("Enable Hologram Alpha", Int) = 0 + [HideInInspector]_HoloAlphaMapAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_HoloCoordinateSpaceAnimated ("Coordinate Space", Int) = 0 + [HideInInspector]_HoloDirectionAnimated ("Scroll Direction", Int) = 0 + [HideInInspector]_HoloLineDensityAnimated ("Line Density", Int) = 0 + [HideInInspector]_HoloScrollSpeedAnimated ("Scroll Speed", Int) = 0 + [HideInInspector]_HoloFresnelAlphaAnimated ("Intensity", Int) = 0 + [HideInInspector]_HoloRimSharpnessAnimated ("Sharpness", Int) = 0 + [HideInInspector]_HoloRimWidthAnimated ("Width", Int) = 0 + + // GrabPass + [HideInInspector]_GrabPassUseAlphaAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabPassBlendFactorAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabSrcBlendAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabDstBlendAnimated ("Destination Blend", Int) = 0 + [HideInInspector]_RefractionEnabledAnimated ("Enable Refraction,", Int) = 0 + [HideInInspector]_RefractionIndexAnimated ("Refraction", Int) = 0 + [HideInInspector]_RefractionChromaticAberattionAnimated ("Chromatic Aberration", Int) = 0 + [HideInInspector]_EnableBlurAnimated ("Enable Blur", Int) = 0 + [HideInInspector]_GrabBlurDistanceAnimated ("Blur Distance", Int) = 0 + [HideInInspector]_GrabBlurQualityAnimated ("Blur Quality", Int) = 0 + [HideInInspector]_GrabBlurDirectionsAnimated ("Blur Direction", Int) = 0 + + // Iridescence + [HideInInspector]_EnableIridescenceAnimated ("Enable Iridescence", Int) = 0 + [HideInInspector]_IridescenceRampAnimated ("Ramp", Int) = 0 + [HideInInspector]_IridescenceNormalToggleAnimated ("Custom Normals?", Int) = 0 + [HideInInspector]_IridescenceNormalMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_IridescenceMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_IridescenceNormalIntensityAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_IridescenceNormalUVAnimated ("Normal UV", Int) = 0 + [HideInInspector]_IridescenceMaskUVAnimated ("Mask UV", Int) = 0 + [HideInInspector]_IridescenceNormalSelectionAnimated ("Normal Select", Int) = 0 + [HideInInspector]_IridescenceIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_IridescenceAddBlendAnimated ("Blend Add", Int) = 0 + [HideInInspector]_IridescenceReplaceBlendAnimated ("Blend Replace", Int) = 0 + [HideInInspector]_IridescenceMultiplyBlendAnimated ("Blend Multiply", Int) = 0 + [HideInInspector]_IridescenceEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_IridescenceTimeAnimated ("When To Run", Int) = 0 + + // Vertex Glitching + [HideInInspector]_EnableVertexGlitchAnimated ("Enable Vertex Glitching", Int) = 0 + [HideInInspector]_VertexGlitchFrequencyAnimated ("Glitch Interval", Int) = 0 + [HideInInspector]_VertexGlitchThresholdAnimated ("Glitch Threshold", Int) = 0 + [HideInInspector]_VertexGlitchStrengthAnimated ("Glitch Strength", Int) = 0 + + // Spawn In Effects + [HideInInspector]_EnableScifiSpawnInAnimated ("Enable Sci Fi Spawn", Int) = 0 + [HideInInspector]_SpawnInNoiseAnimated ("Spawn Noise", Int) = 0 + [HideInInspector]_SpawnInNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_SpawnInAlphaAnimated ("Spawn Alpha", Int) = 0 + [HideInInspector]_SpawnInGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_SpawnInGradientFinishAnimated ("Gradient End", Int) = 0 + [HideInInspector]_SpawnInEmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_SpawnInEmissionOffsetAnimated ("Emission Width", Int) = 0 + [HideInInspector]_SpawnInVertOffsetAnimated ("Vertex Offset Speed", Int) = 0 + [HideInInspector]_SpawnInVertOffsetOffsetAnimated ("vert width", Int) = 0 + + // Voronoi + [HideInInspector]_VoronoiTypeAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiSpaceAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiBlendAnimated ("Blend", Int) = 0 + [HideInInspector]_EnableVoronoiAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiEffectsMaterialAlphaAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_VoronoiMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseAnimated ("Edge Noise", Int) = 0 + [HideInInspector]_VoronoiNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_VoronoiColor0Animated ("Color 0", Int) = 0 + [HideInInspector]_VoronoiEmission0Animated ("Emission 0", Int) = 0 + [HideInInspector]_VoronoiColor1Animated ("Color 1", Int) = 0 + [HideInInspector]_VoronoiEmission1Animated ("Emission 1", Int) = 0 + [HideInInspector]_VoronoiGradientAnimated ("Gradient", Int) = 0 + [HideInInspector]_VoronoiScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_VoronoiSpeedAnimated ("Speed", Int) = 0 + [HideInInspector]_VoronoiEnableRandomCellColorAnimated ("Rando Cell Col", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + + // Blacklight mask + [HideInInspector]_BlackLightMaskEnabledAnimated ("Black Light Mask Enabled", Int) = 0 + [HideInInspector]_BlackLightMaskKeysAnimated ("Mask Keys", Int) = 0 + [HideInInspector]_BlackLightMaskStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_BlackLightMaskEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_BlackLightMaskDebugAnimated ("Visualize", Int) = 0 + [HideInInspector]_BlackLightMaskMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_BlackLightMaskClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_BlackLightMaskMatcapAnimated ("Matcap 1", Int) = 0 + [HideInInspector]_BlackLightMaskMatcap2Animated ("Matcap 2", Int) = 0 + [HideInInspector]_BlackLightMaskEmissionAnimated ("Emission 1", Int) = 0 + [HideInInspector]_BlackLightMaskEmission2Animated ("Emission 2", Int) = 0 + [HideInInspector]_BlackLightMaskFlipbookAnimated ("Flipbook", Int) = 0 + [HideInInspector]_BlackLightMaskDissolveAnimated ("Dissolve", Int) = 0 + [HideInInspector]_BlackLightMaskPanosphereAnimated ("Panosphere", Int) = 0 + [HideInInspector]_BlackLightMaskGlitterAnimated ("Glitter", Int) = 0 + [HideInInspector]_BlackLightMaskIridescenceAnimated ("Iridescence", Int) = 0 + + // Outline Options + [HideInInspector]_OutlineModeAnimated ("Mode", Int) = 0 + [HideInInspector]_OutlineFixedSizeAnimated ("Fixed Size?", Int) = 0 + [HideInInspector]_OutlineUseVertexColorsAnimated ("V Color", Int) = 0 + [HideInInspector]_OutlineLitAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LineWidthAnimated ("Width", Int) = 0 + [HideInInspector]_LineColorAnimated ("Color", Int) = 0 + [HideInInspector]_OutlineTintMixAnimated ("Tint Mix", Int) = 0 + [HideInInspector]_OutlineEmissionAnimated ("Outline Emission", Int) = 0 + [HideInInspector]_OutlineTextureAnimated ("Outline Texture", Int) = 0 + [HideInInspector]_OutlineMaskAnimated ("Outline Mask", Int) = 0 + [HideInInspector]_OutlineTexturePanAnimated ("Outline Texture Pan", Int) = 0 + [HideInInspector]_OutlineShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_OutlineRimLightBlendAnimated ("Rim Light Blend", Int) = 0 + [HideInInspector]_OutlinePersonaDirectionAnimated ("directional Offset XY", Int) = 0 + [HideInInspector]_OutlineDropShadowOffsetAnimated ("Drop Direction XY", Int) = 0 + [HideInInspector]_OutlineFadeDistanceAnimated ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetFactor ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetUnits ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineCullAnimated ("Cull", Int) = 0 + + // Parallax Mapping + [HideInInspector]_ParallaxMapAnimated ("Enable Parallax FX", Int) = 0 + [HideInInspector]_ParallaxHeightMapEnabledAnimated ("Enable Parallax Height", Int) = 0 + [HideInInspector]_ParallaxInternalMapEnabledAnimated ("Enable Parallax Internal", Int) = 0 + [HideInInspector]_ParallaxHeightMapPanAnimated ("Pan", Int) = 0 + [HideInInspector]_ParallaxUVAnimated ("Parallax UV", Int) = 0 + [HideInInspector]_ParallaxHeightMapAnimated ("Height Map", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxStrengthAnimated ("Parallax Strength", Int) = 0 + [HideInInspector]_ParallaxInternalHeightmapModeAnimated ("Parallax Mode", Int) = 0 + [HideInInspector]_ParallaxInternalHeightFromAlphaAnimated ("HeightFromAlpha", Int) = 0 + [HideInInspector]_ParallaxInternalMapAnimated ("Internal Map", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxInternalIterationsAnimated ("Parallax Internal Iterations", Int) = 0 + [HideInInspector]_ParallaxInternalMinDepthAnimated ("Min Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMaxDepthAnimated ("Max Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMinFadeAnimated ("Min Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMaxFadeAnimated ("Max Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMinColorAnimated ("Min Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalMaxColorAnimated ("Max Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalPanSpeedAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_ParallaxInternalPanDepthSpeedAnimated ("Per Level Speed Multiplier", Int) = 0 + [HideInInspector]_ParallaxBiasAnimated ("Parallax Bias (0.42)", Int) = 0 + + // Rendering Options + [HideInInspector]_CullAnimated ("Cull", Int) = 0 + [HideInInspector]_ZTestAnimated ("ZTest", Int) = 0 + [HideInInspector]_ZWriteAnimated ("ZWrite", Int) = 0 + [HideInInspector]_ColorMaskAnimated ("Color Mask", Int) = 0 + [HideInInspector]_OffsetFactorAnimated ("Offset Factor", Int) = 0 + [HideInInspector]_OffsetUnitsAnimated ("Offset Units", Int) = 0 + [HideInInspector]_IgnoreFogAnimated ("Ignore Fog", Int) = 0 + + // Blending Options + [HideInInspector]_BlendOpAnimated ("RGB Blend Op", Int) = 0 + [HideInInspector]_BlendOpAlphaAnimated ("Alpha Blend Op", Int) = 0 + [HideInInspector]_SrcBlendAnimated ("RGB Source Blend", Int) = 0 + [HideInInspector]_DstBlendAnimated ("RGB Destination Blend", Int) = 0 + + // Stencils + [HideInInspector]_StencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_StencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_StencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_StencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_StencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_StencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_StencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Outline Stencil + [HideInInspector]_OutlineStencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_OutlineStencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_OutlineStencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_OutlineStencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_OutlineStencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_OutlineStencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_OutlineStencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Debug Options + [HideInInspector]_VertexUnwrapAnimated ("Unwrap", Range(0, 1)) = 0 + [HideInInspector]_DebugMeshDataAnimated ("Mesh Data", Int) = 0 + [HideInInspector]_DebugLightingDataAnimated ("Lighting Data", Int) = 0 + [HideInInspector]_DebugCameraDataAnimated ("Camera Data", Int) = 0 + } + + + //originalEditorCustomEditor "PoiToon" + CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "Opaque" "Queue" = "Geometry" } + +// //EnableOutlinePass +// Pass +// { +// Name "Outline" +// Tags { "LightMode" = "ForwardBase" } +// Stencil +// { +// Ref [_OutlineStencilRef] +// ReadMask [_OutlineStencilReadMask] +// WriteMask [_OutlineStencilWriteMask] +// Comp [_OutlineStencilCompareFunction] +// Pass [_OutlineStencilPassOp] +// Fail [_OutlineStencilFailOp] +// ZFail [_OutlineStencilZFailOp] +// } +// ZTest [_ZTest] +// ColorMask [_ColorMask] +// Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits] +// BlendOp [_BlendOp], [_BlendOpAlpha] +// Blend [_SrcBlend] [_DstBlend] +// ZWrite [_ZWrite] +// AlphaToMask [_AlphaToMask] +// Cull [_OutlineCull] +// CGPROGRAM +// +// #pragma target 5.0 +// #define FORWARD_BASE_PASS +// #define OUTLINE +// float _Mode; +// // patreon Additive +// // Black Light Mask +//// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF +// // voronoi +//// #pragma shader_feature CHROMATIC_ABERRATION +// // UV Distortion +//// #pragma shader_feature USER_LUT +// // Vertex Offsets +//// #pragma shader_feature AUTO_EXPOSURE +// // Mirror +//// #pragma shader_feature _REQUIRE_UV2 +// // Random +//// #pragma shader_feature _SUNDISK_NONE +// // Dissolve +//// #pragma shader_feature DISTORT +// // Lighting +//// #pragma shader_feature VIGNETTE_MASKED +// #pragma multi_compile_fwdbase +// #pragma fragmentoption ARB_precision_hint_fastest +// #pragma multi_compile_fog +// #pragma multi_compile_instancing +// #pragma vertex vert +// #pragma fragment frag +// #include "../Includes/CGI_PoiPassOutline.cginc" +// ENDCG +// +// } + //EnableOutlinePass + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + + ZWrite [_ZWrite] + Cull [_Cull] + AlphaToMask [_AlphaToMask] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend] + + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_BASE_PASS + float _Mode; + // Base Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + #pragma multi_compile _ VERTEXLIGHT_ON + // patreon Base + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Grab Pass Blur +// #pragma shader_feature CHROMATIC_ABERRATION_LOW + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Touch Color +// #pragma shader_feature GRAIN + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma multi_compile_instancing + #pragma multi_compile_fwdbase + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile_fog + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + + //LightingAdditiveEnable + Pass + { + Name "ForwardAddPass" + Tags { "LightMode" = "ForwardAdd" } + + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend One One + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_ADD_PASS + float _Mode; + // Add Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + // patreon Additive + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW +// #pragma shader_feature _PARALLAX_MAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Disable Directionals +// #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + + #pragma multi_compile_instancing + #pragma multi_compile_fwdadd_fullshadows + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + //LightingAdditiveEnable + + //LightingCastShadows + Pass + { + Name "ShadowCasterPass" + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + AlphaToMask Off + ZWrite [_ZWrite] + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_SHADOW + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Dissolve +// #pragma shader_feature DISTORT + #pragma multi_compile_instancing + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + #include "../Includes/CGI_PoiPassShadow.cginc" + ENDCG + + } + //LightingCastShadows + + Pass + { + Tags { "LightMode" = "Meta" } + Cull Off + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_META_PASS + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta new file mode 100644 index 00000000..351e5101 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_HairCap02_Acc_01-baaf4269/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e533a99c6f90260448070f6c2e984a78 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859.meta new file mode 100644 index 00000000..d8c8cae1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 29dbe4949218fa94fb068bda46d25503 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets.meta new file mode 100644 index 00000000..6568fbc8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3615316f03105914ab48f1f5deaed18d +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources.meta new file mode 100644 index 00000000..703ad1e0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6ff63f7f767c5364494b429e66e49566 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi.meta new file mode 100644 index 00000000..95bde29e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cfc9dd49df4155340a0988edf3b9f8db +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders.meta new file mode 100644 index 00000000..8579403a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4c5d1685789b53b4291a4939d0b1d6c8 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon.meta new file mode 100644 index 00000000..97158a0b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 113f4d3d20b4bd844bdec02d797cfcaa +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta new file mode 100644 index 00000000..a450f19a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6c58855e3e807a741b3c9103637561b4 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc new file mode 100644 index 00000000..7a3f6a9a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc @@ -0,0 +1,32 @@ +#ifndef POI_ALPHA_TO_COVERAGE + #define POI_ALPHA_TO_COVERAGE + + half _MainMipScale; + float _MainAlphaToCoverage; + + float CalcMipLevel(float2 texture_coord) + { + float2 dx = ddx(texture_coord); + float2 dy = ddy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + + return 0.5 * log2(delta_max_sqr); + } + + void ApplyAlphaToCoverage(inout float4 finalColor) + { + // Force Model Opacity to 1 if desired + + if (float(0) == 1) + { + + if(float(0)) + { + // rescale alpha by mip level + finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.001953125,0.001953125,512,512).zw)) * float(0.25); + // rescale alpha by partial derivative + finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta new file mode 100644 index 00000000..c688b8d6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cd9c962957fbf2b4d952fc08a496f49b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc new file mode 100644 index 00000000..e529136f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc @@ -0,0 +1,32 @@ +#ifndef POI_BACKFACE + #define POI_BACKFACE + + float _BackFaceEnabled; + float _BackFaceTextureUV; + float _BackFaceDetailIntensity; + float _BackFaceEmissionStrength; + float2 _BackFacePanning; + float _BackFaceHueShift; + float4 _BackFaceColor; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST; + + float3 BackFaceColor; + void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission) + { + backFaceEmission = 0; + BackFaceColor = 0; + + if (float(0)) + { + if(!poiMesh.isFrontFace) + { + albedo = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + backFaceDetailIntensity = float(1); + BackFaceColor = albedo.rgb; + mixedHueShift = float(0); + backFaceEmission = BackFaceColor * float(0); + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta new file mode 100644 index 00000000..1495dc5c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 411bbb26b89f0d0458a0a238cd83c695 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc new file mode 100644 index 00000000..750364ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc @@ -0,0 +1,54 @@ +#ifndef POI_BLACKLIGHT + #define POI_BLACKLIGHT + + float4 _BlackLightMaskStart; + float4 _BlackLightMaskEnd; + float4 _BlackLightMaskKeys; + float _BlackLightMaskDebug; + float _BlackLightMaskDissolve; + float _BlackLightMaskMetallic; + float _BlackLightMaskClearCoat; + float _BlackLightMaskMatcap; + float _BlackLightMaskMatcap2; + float _BlackLightMaskEmission; + float _BlackLightMaskEmission2; + float _BlackLightMaskFlipbook; + float _BlackLightMaskPanosphere; + float _BlackLightMaskIridescence; + + half _BlackLightMaskGlitter; + + half4 blackLightMask; + + void createBlackLightMask() + { + blackLightMask = 0; + #ifdef VERTEXLIGHT_ON + + for (int lightIndex = 0; lightIndex < 4; lightIndex ++) + { + float3 lightPos = float3(unity_4LightPosX0[lightIndex], unity_4LightPosY0[lightIndex], unity_4LightPosZ0[lightIndex]); + if (!distance(unity_LightColor[lightIndex].rgb, float3(0, 0, 0))) + { + for (int maskIndex = 0; maskIndex < 4; maskIndex ++) + { + float4 comparison = _BlackLightMaskKeys; + if(unity_LightColor[lightIndex].a == comparison[maskIndex]) + { + blackLightMask[maskIndex] = max(blackLightMask[maskIndex], smoothstep(_BlackLightMaskEnd[maskIndex], _BlackLightMaskStart[maskIndex], distance(poiMesh.worldPos, lightPos))); + } + } + } + } + #endif + } +#endif + +/* +#ifdef POI_BLACKLIGHT + if (_BlackLightMaskDissolve != 4) + { + blackLightMask[mask]; + } +#endif +*/ diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta new file mode 100644 index 00000000..209f6cb1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: da463257e7bc3e2459bc8bdea3ce3a57 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc new file mode 100644 index 00000000..f87ae6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc @@ -0,0 +1,39 @@ +#ifndef POI_BLENDING + #define POI_BLENDING + + /* + 0: Zero float4(0.0, 0.0, 0.0, 0.0), + 1: One float4(1.0, 1.0, 1.0, 1.0), + 2: DstColor destinationColor, + 3: SrcColor sourceColor, + 4: OneMinusDstColor float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + 5: SrcAlpha sourceColor.aaaa, + 6: OneMinusSrcColor float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + 7: DstAlpha destinationColor.aaaa, + 8: OneMinusDstAlpha float4(1.0, 1.0, 1.0, 1.0) - destinationColor., + 9: SrcAlphaSaturate saturate(sourceColor.aaaa), + 10: OneMinusSrcAlpha float4(1.0, 1.0, 1.0, 1.0) - sourceColor.aaaa, + */ + + float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor) + { + float4 sA = 1-blendFactor; + const float4 blendData[11] = { + float4(0.0, 0.0, 0.0, 0.0), + float4(1.0, 1.0, 1.0, 1.0), + destinationColor, + sourceColor, + float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sA, + saturate(sourceColor.aaaa), + 1 - sA, + }; + + return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor,sourceColor, sA); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta new file mode 100644 index 00000000..bfedf8a9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 377c341be0667ea4f8e93248cd9ae25b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc new file mode 100644 index 00000000..6e4db3fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc @@ -0,0 +1,34 @@ +#ifndef POI_BULGE + #define POI_BULGE + + + sampler2D _BulgeMask; + float _BuldgeFadeLength; + float _BuldgeHeight; + + void bulgyWolgy(inout v2f o) + { + float depth = DecodeFloatRG(tex2Dlod(_CameraDepthTexture, float4(o.grabPos.xy / o.grabPos.w, 0, 0))); + float bulgeMask = tex2Dlod(_BulgeMask, float4(o.uv0.xy, 0, 0)); + depth = Linear01Depth(depth); + + float intersect = 0; + if (depth != 1) + { + float diff = distance(depth, Linear01Depth(o.pos.z / o.pos.w)); + if(diff > 0) + { + intersect = 1 - smoothstep(0, _ProjectionParams.w * _BuldgeFadeLength, diff); + } + } + float4 offset = intersect * _BuldgeHeight * float4(o.normal, 0); + + offset = IsInMirror() ? 0: offset; + offset *= bulgeMask; + + o.worldPos = mul(unity_ObjectToWorld, o.localPos) + offset; + o.localPos = mul(unity_WorldToObject, o.worldPos); + o.pos = UnityObjectToClipPos(o.localPos); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta new file mode 100644 index 00000000..d994cb15 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c1370268c8c09554eab9d125bdfa29dd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc new file mode 100644 index 00000000..5adf7340 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc @@ -0,0 +1,108 @@ +#ifndef POI_CLEARCOAT + #define POI_CLEARCOAT + + samplerCUBE _ClearCoatCubeMap; + float _ClearCoatSampleWorld; + POI_TEXTURE_NOSAMPLER(_ClearCoatMask); + POI_TEXTURE_NOSAMPLER(_ClearCoatSmoothnessMap); + float _ClearCoatInvertSmoothness; + float _ClearCoat; + float _ClearCoatSmoothness; + float3 _ClearCoatTint; + float _ClearCoatNormalToUse; + float _ClearCoatForceLighting; + float lighty_clear_boy_uwu_var; + + + float3 CalculateClearCoatEnvironmentalReflections() + { + float3 reflectionColor; + + float smoothnessMap = (POI2D_SAMPLER_PAN(_ClearCoatSmoothnessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + if (float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + float roughness = 1 - smoothnessMap; + + lighty_clear_boy_uwu_var = 0; + + float3 reflectedDir = float(0) == 0 ? poiCam.vertexReflectionDir: poiCam.reflectionDir; + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + + + if(float(0) == 0 && no_probe == 0) + { + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflectionColor = lerp(probe1, probe0, interpolator); + } + else + { + reflectionColor = probe0; + } + } + else + { + lighty_clear_boy_uwu_var = 1; + reflectionColor = texCUBElod(_ClearCoatCubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + if(float(0)) + { + lighty_clear_boy_uwu_var = 1; + } + + return reflectionColor * float4(1,1,1,1); + } + + void calculateAndApplyClearCoat(inout float4 finalColor) + { + half clearCoatMap = POI2D_SAMPLER_PAN(_ClearCoatMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskClearCoat != 4) + { + clearCoatMap *= blackLightMask[_BlackLightMaskClearCoat]; + } + #endif + + half3 reflectionColor = CalculateClearCoatEnvironmentalReflections(); + + float NormalDotView = abs(dot(float(1), float(0) == 0 ? poiLight.N0DotV: poiLight.nDotV).r); + #ifdef POI_LIGHTING + finalColor.rgb = lerp(finalColor.rgb, reflectionColor * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var), clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + //finalColor.rgb += reflectionColor; + //finalColor.rgb = finalColor.rgb * (1- (reflectionColor.r + reflectionColor.g + reflectionColor.b)/3) + reflectionColor * clearCoatMap * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var); + #else + finalColor.rgb = lerp(finalColor.rgb, reflectionColor, clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta new file mode 100644 index 00000000..fc1218b6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 22357d8413f047543aef03e06592ad27 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc new file mode 100644 index 00000000..687dc443 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc @@ -0,0 +1,262 @@ +#ifndef POI_COLOR + #define POI_COLOR + + #ifndef pi + #define pi float(3.14159265359) + #endif + + static const float Epsilon = 1e-10; + // The weights of RGB contributions to luminance. + // Should sum to unity. + static const float3 HCYwts = float3(0.299, 0.587, 0.114); + static const float HCLgamma = 3; + static const float HCLy0 = 100; + static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5 + static const float3 wref = float3(1.0, 1.0, 1.0); + #define TAU 6.28318531 + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 RGBtoHCV(in float3 RGB) + { + // Based on work by Sam Hocevar and Emil Persson + float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0); + float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx); + float C = Q.x - min(Q.w, Q.y); + float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z); + return float3(H, C, Q.x); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float3 RGBtoHSV(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float S = HCV.y / (HCV.z + Epsilon); + return float3(HCV.x, S, HCV.z); + } + + float3 HSLtoRGB(in float3 HSL) + { + float3 RGB = HUEtoRGB(HSL.x); + float C = (1 - abs(2 * HSL.z - 1)) * HSL.y; + return(RGB - 0.5) * C + HSL.z; + } + + float3 RGBtoHSL(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float L = HCV.z - HCV.y * 0.5; + float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon); + return float3(HCV.x, S, L); + } + + float3 HCYtoRGB(in float3 HCY) + { + + + float3 RGB = HUEtoRGB(HCY.x); + float Z = dot(RGB, HCYwts); + if (HCY.z < Z) + { + HCY.y *= HCY.z / Z; + } + else if(Z < 1) + { + HCY.y *= (1 - HCY.z) / (1 - Z); + } + return(RGB - Z) * HCY.y + HCY.z; + } + + float3 RGBtoHCY(in float3 RGB) + { + // Corrected by David Schaeffer + float3 HCV = RGBtoHCV(RGB); + float Y = dot(RGB, HCYwts); + float Z = dot(HUEtoRGB(HCV.x), HCYwts); + if (Y < Z) + { + HCV.y *= Z / (Epsilon + Y); + } + else + { + HCV.y *= (1 - Z) / (Epsilon + 1 - Y); + } + return float3(HCV.x, HCV.y, Y); + } + + float3 HCLtoRGB(in float3 HCL) + { + float3 RGB = 0; + if(HCL.z != 0) + { + float H = HCL.x; + float C = HCL.y; + float L = HCL.z * HCLmaxL; + float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0)); + float U = (2 * L - C) / (2 * Q - 1); + float V = C / Q; + float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2; + float T; + H *= 6; + if(H <= 0.999) + { + T = tan(A); + RGB.r = 1; + RGB.g = T / (1 + T); + } + else if(H <= 1.001) + { + RGB.r = 1; + RGB.g = 1; + } + else if(H <= 2) + { + T = tan(A); + RGB.r = (1 + T) / T; + RGB.g = 1; + } + else if(H <= 3) + { + T = tan(A); + RGB.g = 1; + RGB.b = 1 + T; + } + else if(H <= 3.999) + { + T = tan(A); + RGB.g = 1 / (1 + T); + RGB.b = 1; + } + else if(H <= 4.001) + { + RGB.g = 0; + RGB.b = 1; + } + else if(H <= 5) + { + T = tan(A); + RGB.r = -1 / T; + RGB.b = 1; + } + else + { + T = tan(A); + RGB.r = 1; + RGB.b = -T; + } + RGB = RGB * V + U; + } + return RGB; + } + + float3 RGBtoHCL(in float3 RGB) + { + float3 HCL; + float H = 0; + float U = min(RGB.r, min(RGB.g, RGB.b)); + float V = max(RGB.r, max(RGB.g, RGB.b)); + float Q = HCLgamma / HCLy0; + HCL.y = V - U; + if(HCL.y != 0) + { + H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi; + Q *= U / V; + } + Q = exp(Q); + HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6); + HCL.y *= Q; + HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2); + return HCL; + } + + //HSL MODIFT + float3 ModifyViaHSL(float3 color, float3 HSLMod) + { + float3 colorHSL = RGBtoHSL(color); + colorHSL.r = frac(colorHSL.r + HSLMod.r); + colorHSL.g = saturate(colorHSL.g + HSLMod.g); + colorHSL.b = saturate(colorHSL.b + HSLMod.b); + return HSLtoRGB(colorHSL); + } + + float3 hueShift(float3 col, float hueAdjust) + { + hueAdjust *= 2 * pi; + const float3 k = float3(0.57735, 0.57735, 0.57735); + half cosAngle = cos(hueAdjust); + return col * cosAngle + cross(k, col) * sin(hueAdjust) + k * dot(k, col) * (1.0 - cosAngle); + } + + float3 poiSaturation(float3 In, float Saturation) + { + float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750)); + return luma.xxx + Saturation.xxx * (In - luma.xxx); + } + // LCH + float xyzF(float t) + { + return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645)); + } + float xyzR(float t) + { + return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655)); + } + float3 rgb2lch(in float3 c) + { + c = mul(float3x3(0.4124, 0.3576, 0.1805, + 0.2126, 0.7152, 0.0722, + 0.0193, 0.1192, 0.9505), c); + c.x = xyzF(c.x / wref.x); + c.y = xyzF(c.y / wref.y); + c.z = xyzF(c.z / wref.z); + float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z)); + return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y)); + } + + float3 lch2rgb(in float3 c) + { + c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y); + + float lg = 1. / 116. * (c.x + 16.); + float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y), + wref.y * xyzR(lg), + wref.z * xyzR(lg - 0.005 * c.z)); + + float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986, + - 0.9689, 1.8758, 0.0415, + 0.0557, -0.2040, 1.0570), xyz); + + return rgb; + } + + //cheaply lerp around a circle + float lerpAng(in float a, in float b, in float x) + { + float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi; + return ang * x + b; + } + + //Linear interpolation between two colors in Lch space + float3 lerpLch(in float3 a, in float3 b, in float x) + { + float hue = lerpAng(a.z, b.z, x); + return float3(lerp(b.xy, a.xy, x), hue); + } + + float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha) + { + return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha)); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta new file mode 100644 index 00000000..5317c100 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 804abeaafb7a01e4cab0ed1191a22ac1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc new file mode 100644 index 00000000..cd354f85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc @@ -0,0 +1,249 @@ +#ifndef POI_DATA + #define POI_DATA + + float _ParallaxBias; + float _LightingAdditiveLimitIntensity; + float _LightingAdditiveMaxIntensity; + POI_TEXTURE_NOSAMPLER(_BumpMap); + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailMask); + POI_TEXTURE_NOSAMPLER(_DetailNormalMap); + float _DetailNormalMapScale; + #endif + float _BumpScale; + + void calculateAttenuation(v2f i) + { + #ifdef FORWARD_ADD_PASS + #if defined(POINT) || defined(SPOT) + POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz) + poiLight.additiveShadow = shadow; + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + poiLight.additiveShadow == 0; + #endif + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + // fix for rare bug where light atten is 0 when there is no directional light in the scene + #ifdef FORWARD_BASE_PASS + if (all(_LightColor0.rgb == 0.0)) + { + attenuation = 1.0; + } + #endif + #endif + poiLight.attenuation = attenuation; + } + + void calculateVertexLightingData(in v2f i) + { + #ifdef VERTEXLIGHT_ON + float4 toLightX = unity_4LightPosX0 - i.worldPos.x; + float4 toLightY = unity_4LightPosY0 - i.worldPos.y; + float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z; + float4 lengthSq = 0; + lengthSq += toLightX * toLightX; + lengthSq += toLightY * toLightY; + lengthSq += toLightZ * toLightZ; + + float4 lightAttenSq = unity_4LightAtten0; + float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq); + float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25)); + poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight); + + poiLight.vDotNL = 0; + poiLight.vDotNL += toLightX * poiMesh.normals[1].x; + poiLight.vDotNL += toLightY * poiMesh.normals[1].y; + poiLight.vDotNL += toLightZ * poiMesh.normals[1].z; + + float4 corr = rsqrt(lengthSq); + poiLight.vDotNL = max(0, poiLight.vDotNL * corr); + poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL; + + for (int index = 0; index < 4; index ++) + { + poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]); + + float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos; + poiLight.vDirection[index] = normalize(vertexToLightSource); + //poiLight.vAttenuationDotNL[index] = 1.0 / (1.0 + unity_4LightAtten0[index] * poiLight.vDotNL[index]); + poiLight.vColor[index] = unity_LightColor[index].rgb; + + if (float(0) == 1) + { + float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b)); + poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1))); + } + poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir); + poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]); + poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1); + + #ifdef POI_VAR_DOTLH + poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index])); + #endif + + #ifdef POI_VAR_DOTNH + poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index])); + #endif + } + #endif + } + + void calculateLightingData(in v2f i) + { + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb; + poiLight.color = magic + normalLight; + #else + #ifdef FORWARD_ADD_PASS + poiLight.color = _LightColor0.rgb; + + + if (float(0) == 1) + { + float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b)); + poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1))); + } + #endif + #endif + + #ifdef FORWARD_BASE_PASS + poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + #else + #if defined(POINT) || defined(SPOT) + poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #else + poiLight.direction = _WorldSpaceLightPos0; + #endif + #endif + + poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); + + #ifdef POI_VAR_DOTNH + poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir)); + #endif + + #ifdef POI_VAR_DOTLH + poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir)); + #endif + + poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir); + poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir); + poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); + poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); + poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); + poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); + } + + float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) + { + return cross(normal, tangent.xyz) * (binormalSign * unity_WorldTransformParams.w); + } + + void InitializeMeshData(inout v2f i, uint facing) + { + poiMesh.isFrontFace = facing; + poiMesh.normals[0] = normalize(i.normal); + poiMesh.binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + poiMesh.tangent = i.tangent.xyz; + + #ifndef OUTLINE + if(!poiMesh.isFrontFace) + { + poiMesh.normals[0] *= -1; + poiMesh.tangent *= -1; + poiMesh.binormal *= -1; + } + #endif + + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + poiMesh.barycentricCoordinates = i.barycentricCoordinates; + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + #ifdef POI_UV_DISTORTION + poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy); + #else + poiMesh.uv[4] = poiMesh.uv[0]; + #endif + + poiMesh.vertexColor = i.vertexColor; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + poiMesh.lightmapUV = i.lightmapUV; + #endif + poiMesh.modelPos = i.modelPos; + + #ifdef FUR + poiMesh.furAlpha = i.furAlpha; + #endif + } + + void initializeCamera(v2f i) + { + poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); + poiCam.forwardDir = getCameraForward(); + poiCam.worldPos = _WorldSpaceCameraPos; + poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos); + poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); + poiCam.grabPos = i.grabPos; + poiCam.screenUV = calcScreenUVs(i.grabPos); + poiCam.clipPos = i.pos; + #if defined(GRAIN) + poiCam.worldDirection = i.worldDirection; + #endif + + poiCam.tangentViewDir = normalize(i.tangentViewDir); + poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42)); + } + + void calculateTangentData() + { + poiTData.tangentTransform = float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0]); + poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0])); + } + + void CalculateReflectionData() + { + #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON) + poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); + poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); + #endif + } + + void calculateNormals(inout half3 detailMask) + { + half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + #ifdef FINALPASS + detailMask = POI2D_SAMPLER_PAN(_DetailMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(1) > 0) + { + half3 detailNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_DetailNormalMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1) * detailMask.g); + poiMesh.tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + } + else + { + poiMesh.tangentSpaceNormal = mainNormal; + } + #else + poiMesh.tangentSpaceNormal = mainNormal; + #endif + + #ifdef POI_RGBMASK + calculateRGBNormals(poiMesh.tangentSpaceNormal); + #endif + + poiMesh.normals[1] = normalize( + poiMesh.tangentSpaceNormal.x * poiMesh.tangent + + poiMesh.tangentSpaceNormal.y * poiMesh.binormal + + poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] + ); + + poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1])); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta new file mode 100644 index 00000000..84505e2e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 369b99d8f2f404d44a9a5a1c115f4ad8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc new file mode 100644 index 00000000..125d2cd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc @@ -0,0 +1,107 @@ +#ifndef POI_DEBUG + #define POI_DEBUG + + float _DebugEnabled; + float _DebugMeshData; + float _DebugLightingData; + float _DebugCameraData; + + void displayDebugInfo(inout float4 finalColor) + { + + if (float(0) != 0) + { + //Mesh Data + if (float(0) == 1) + { + finalColor.rgb = poiMesh.normals[0]; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiMesh.normals[1]; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiMesh.tangent; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiMesh.binormal; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiMesh.localPos; + return; + } + + #ifdef POI_LIGHTING + if(float(0) == 1) + { + finalColor.rgb = poiLight.attenuation; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiLight.directLighting; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiLight.indirectLighting; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiLight.lightMap; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiLight.rampedLightMap; + return; + } + else if(float(0) == 6) + { + finalColor.rgb = poiLight.finalLighting; + return; + } + else if(float(0) == 7) + { + finalColor.rgb = poiLight.nDotL; + return; + } + #endif + + if(float(0) == 1) + { + finalColor.rgb = poiCam.viewDir; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiCam.tangentViewDir; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiCam.forwardDir; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiCam.worldPos; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiCam.viewDotNormal; + return; + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta new file mode 100644 index 00000000..e0c573b6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d6d43f942b10f6047b9ae61edf0816a8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc new file mode 100644 index 00000000..280fcbc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc @@ -0,0 +1,58 @@ +#ifndef POI_DECAL + #define POI_DECAL + + POI_TEXTURE_NOSAMPLER(_DecalTexture); + POI_TEXTURE_NOSAMPLER(_DecalMask); + float4 _DecalColor; + fixed _DecalTiled; + fixed _DecalBlendAdd; + fixed _DecalBlendMultiply; + fixed _DecalBlendReplace; + half _DecalRotation; + half2 _DecalScale; + half2 _DecalPosition; + half _DecalRotationSpeed; + float _DecalEmissionStrength; + + void applyDecal(inout float4 albedo, inout float3 decalEmission) + { + float2 uv = poiMesh.uv[float(0)]; + float2 decalCenter = float4(0.5,0.5,0,0); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); + uv = remap(uv, float2(0, 0) - float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float2(0, 0), float2(1, 1)); + + half decalAlpha = 1; + //float2 uv = TRANSFORM_TEX(poiMesh.uv[float(0)], _DecalTexture) + _Time.x * float4(0,0,0,0); + float4 decalColor = POI2D_SAMPLER_PAN(_DecalTexture, _MainTex, uv, float4(0,0,0,0)) * float4(1,1,1,1); + decalAlpha *= POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if (!float(0)) + { + if(uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) + { + decalAlpha = 0; + } + } + + if(float(0)) + { + albedo.rgb = lerp(albedo.rgb, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb *= lerp(1, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb += decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + albedo = saturate(albedo); + decalEmission = decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta new file mode 100644 index 00000000..eed6d9e8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: febecb9f58ad55f4ca10be2b89c9add4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc new file mode 100644 index 00000000..9b70067a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc @@ -0,0 +1,21 @@ +#ifndef POI_DEFINES + #define POI_DEFINES + + #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) + + #ifdef _SPECGLOSSMAP // Specular + #ifndef POI_VAR_DOTNH + #define POI_VAR_DOTNH + #endif + #ifndef POI_VAR_DOTLH + #define POI_VAR_DOTLH + #endif + #endif + + #ifdef VIGNETTE_MASKED // Lighting + #ifndef POI_VAR_DOTNL + #define POI_VAR_DOTNL + #endif + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta new file mode 100644 index 00000000..1c5cdfb5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d5d8d505f7d0e234da8c31db0b57d6b5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc new file mode 100644 index 00000000..828460bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc @@ -0,0 +1,112 @@ +#ifndef POI_DEPTH_COLOR + #define POI_DEPTH_COLOR + + float4 _DepthGlowColor; + float _DepthGlowEmission; + float _FadeLength; + float _DepthAlphaMin; + float _DepthAlphaMax; + POI_TEXTURE_NOSAMPLER(_DepthGradient); + POI_TEXTURE_NOSAMPLER(_DepthMask); + float _DepthGradientTextureUV; + float _DepthGradientBlend; + + /* + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, float4 worldDirection, float4 clipPos) + { + float3 touchEmission = 0; + if (!IsInMirror()) + { + float fadeLength = _FadeLength; + fadeLength *= 0.01; + float depth = DecodeFloatRG(tex2Dproj(_CameraDepthTexture, worldDirection)); + depth = Linear01Depth(depth); + if(depth != 1) + { + float diff = distance(depth, Linear01Depth(clipPos.z)); + float intersect = 0; + if(diff > 0) + { + intersect = clamp(1 - smoothstep(0, _ProjectionParams.w * fadeLength, diff), 0, 1); + } + half4 depthGradient = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthGradient, _MainTex, intersect); + half3 depthMask = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthMask, _MainTex, poiMesh.uv[0]); + half3 depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + } + } + depthTouchEmission = touchEmission; + } + */ + + inline float CorrectedLinearEyeDepth(float z, float B) + { + return 1.0 / (z / PM._34 + B); + } + + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, in float4 worldDirection) + { + float3 touchEmission = 0; + float fadeLength = _FadeLength; + fadeLength *= 0.01; + + float perspectiveDivide = 1.0f / poiCam.clipPos.w; + float4 direction = worldDirection * perspectiveDivide; + float2 screenPos = poiCam.grabPos.xy * perspectiveDivide; + float z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenPos); + + #if UNITY_REVERSED_Z + if (z == 0) + #else + if(z == 1) + #endif + return; + + float depth = CorrectedLinearEyeDepth(z, direction.w); + float3 worldpos = direction * depth + _WorldSpaceCameraPos.xyz; + /* + finalColor.rgb = frac(worldpos); + return; + */ + + float diff = distance(worldpos, poiMesh.worldPos); + float intersect = 0; + intersect = clamp(1 - smoothstep(0, fadeLength, diff), 0, 1); + half3 depthMask = POI2D_SAMPLER_PAN(_DepthMask, _MainTex, poiMesh.uv[_DepthMaskUV], _DepthMaskPan); + + half4 depthGradient = 0; + half3 depthColor = 0; + + + if (_DepthGradientTextureUV == 0) + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, float2(intersect, intersect), _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + } + else + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, poiMesh.uv[_DepthGradientUV], _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb * intersect; + } + + + if(_DepthGradientBlend == 0) // rpelace + { + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + } + else if(_DepthGradientBlend == 1) // add + { + finalColor.rgb += depthColor * intersect * depthMask; + } + else if(_DepthGradientBlend == 2) // multiply + { + finalColor.rgb *= lerp(1, depthColor, intersect * depthMask); + } + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect * depthMask); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + + depthTouchEmission = touchEmission; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta new file mode 100644 index 00000000..1510cb5c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 60a39cc94eba18448af285719677efae +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc new file mode 100644 index 00000000..13175f00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc @@ -0,0 +1,171 @@ +#ifndef POI_DISSOLVE + #define POI_DISSOLVE + + float _DissolveType; + float _DissolveEdgeWidth; + float4 _DissolveEdgeColor; + sampler2D _DissolveEdgeGradient; float4 _DissolveEdgeGradient_ST; + float _DissolveEdgeEmission; + float4 _DissolveTextureColor; + + POI_TEXTURE_NOSAMPLER(_DissolveToTexture); + POI_TEXTURE_NOSAMPLER(_DissolveNoiseTexture); + POI_TEXTURE_NOSAMPLER(_DissolveDetailNoise); + POI_TEXTURE_NOSAMPLER(_DissolveMask); + + float _DissolveMaskInvert; + float _DissolveAlpha; + float _ContinuousDissolve; + float _DissolveDetailStrength; + float _DissolveEdgeHardness; + float _DissolveInvertNoise; + float _DissolveInvertDetailNoise; + float _DissolveToEmissionStrength; + + // Point to Point + float _DissolveP2PWorldLocal; + float _DissolveP2PEdgeLength; + float4 _DissolveStartPoint; + float4 _DissolveEndPoint; + + // World Dissolve + float _DissolveWorldShape; + float4 _DissolveShapePosition; + float4 _DissolveShapeRotation; + float _DissolveShapeScale; + float _DissolveInvertShape; + float _DissolveShapeEdgeLength; + + float _DissolveAlpha0; + float _DissolveAlpha1; + float _DissolveAlpha2; + float _DissolveAlpha3; + float _DissolveAlpha4; + float _DissolveAlpha5; + float _DissolveAlpha6; + float _DissolveAlpha7; + float _DissolveAlpha8; + float _DissolveAlpha9; + + // Masking + float _DissolveEmissionSide; + float _DissolveEmission1Side; + float _DissolveUseVertexColors; + + float4 edgeColor; + float edgeAlpha; + float dissolveAlpha; + float4 dissolveToTexture; + //Globals + + + void calculateDissolve(inout float4 albedo, inout float3 dissolveEmission) + { + + float dissolveMask = POI2D_SAMPLER_PAN(_DissolveMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + + if (float(0)) + { + // Vertex Color Imprecision hype + dissolveMask = ceil(poiMesh.vertexColor.g * 100000) / 100000; + } + + dissolveToTexture = POI2D_SAMPLER_PAN(_DissolveToTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + float dissolveNoiseTexture = POI2D_SAMPLER_PAN(_DissolveNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + float da = float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0); + da = saturate(da); + + float dds = float(0.1); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskDissolve != 4) + { + dissolveMask *= blackLightMask[_BlackLightMaskDissolve]; + } + #endif + + if(float(0)) + { + dissolveMask = 1 - dissolveMask; + } + + float dissolveDetailNoise = POI2D_SAMPLER_PAN(_DissolveDetailNoise, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(0)) + { + dissolveNoiseTexture = 1 - dissolveNoiseTexture; + } + if(float(0)) + { + dissolveDetailNoise = 1 - dissolveDetailNoise; + } + if(float(0) != 0) + { + da = sin(_Time.y * float(0)) * .5 + .5; + } + da *= dissolveMask; + dissolveAlpha = da; + edgeAlpha = 0; + + + if(float(1) == 1) // Basic + { + da = remap(da, 0, 1, -float(0.025), 1); + dissolveAlpha = da; + //Adjust detail strength to avoid artifacts + dds *= smoothstep(1, .99, da); + float noise = saturate(dissolveNoiseTexture - dissolveDetailNoise * dds); + + noise = saturate(noise + 0.001); + //noise = remap(noise, 0, 1, float(0.025), 1 - float(0.025)); + dissolveAlpha = dissolveAlpha >= noise; + edgeAlpha = remapClamped(noise, da + float(0.025), da, 0, 1) * (1 - dissolveAlpha); + } + else if (float(1) == 2) // Point to Point + { + float3 direction; + float3 currentPos; + float distanceTo = 0; + direction = normalize(float4(0,1,0,0) - float4(0,-1,0,0)); + currentPos = lerp(float4(0,-1,0,0), float4(0,1,0,0), dissolveAlpha); + if (float(0) == 0) + { + distanceTo = dot(poiMesh.localPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + else + { + distanceTo = dot(poiMesh.worldPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + } + + albedo = lerp(albedo, dissolveToTexture, dissolveAlpha); + + + if(float(0.025)) + { + edgeColor = tex2D(_DissolveEdgeGradient, TRANSFORM_TEX(float2(edgeAlpha, edgeAlpha), _DissolveEdgeGradient)) * float4(1,1,1,1); + albedo.rgb = lerp(albedo.rgb, edgeColor.rgb, smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + dissolveEmission = lerp(0, dissolveToTexture * float(0), dissolveAlpha) + lerp(0, edgeColor.rgb * float(0), smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta new file mode 100644 index 00000000..077e5d3d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0e8262baa44dbbf429430a244fc9d377 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc new file mode 100644 index 00000000..91efad39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc @@ -0,0 +1,34 @@ +#ifndef POI_DITHERING + #define POI_DITHERING + fixed _DitheringEnabled; + fixed _DitherGradient; + + half calcDither(half2 grabPos) + { + half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8)); + return dither; + } + + #ifndef POI_SHADOW + void applyDithering(inout float4 finalColor) + { + + if (float(0)) + { + half dither = calcDither(poiCam.screenUV.xy); + finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1)); + } + } + #else + void applyShadowDithering(inout float alpha, float2 screenUV) + { + + if(float(0)) + { + half dither = calcDither(screenUV); + alpha = alpha - (dither * (1 - alpha) * float(0.1)); + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta new file mode 100644 index 00000000..8fdfbfff --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b674111e1f0bcd540a5875d71ba82647 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc new file mode 100644 index 00000000..cff31fe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc @@ -0,0 +1,240 @@ +#ifndef POI_EMISSION + #define POI_EMISSION + + float4 _EmissionColor; + POI_TEXTURE_NOSAMPLER(_EmissionMap); + POI_TEXTURE_NOSAMPLER(_EmissionMask); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve); float4 _EmissionScrollingCurve_ST; + float _EmissionBaseColorAsMap; + float _EmissionStrength; + float _EnableEmission; + float _EmissionHueShift; + float4 _EmissiveScroll_Direction; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissionBlinkingEnabled; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + float _EnableGITDEmission; + float _GITDEMinEmissionMultiplier; + float _GITDEMaxEmissionMultiplier; + float _GITDEMinLight; + float _GITDEMaxLight; + float _GITDEWorldOrMesh; + float _EmissionCenterOutEnabled; + float _EmissionCenterOutSpeed; + float _EmissionHueShiftEnabled; + float _EmissionBlinkingOffset; + float _EmissionScrollingOffset; + + float4 _EmissionColor1; + #ifdef EFFECT_HUE_VARIATION + POI_TEXTURE_NOSAMPLER(_EmissionMap1); + POI_TEXTURE_NOSAMPLER(_EmissionMask1); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve1); float4 _EmissionScrollingCurve1_ST; + #endif + float _EmissionBaseColorAsMap1; + float _EmissionStrength1; + float _EnableEmission1; + float _EmissionHueShift1; + float4 _EmissiveScroll_Direction1; + float _EmissiveScroll_Width1; + float _EmissiveScroll_Velocity1; + float _EmissiveScroll_Interval1; + float _EmissionBlinkingEnabled1; + float _EmissiveBlink_Min1; + float _EmissiveBlink_Max1; + float _EmissiveBlink_Velocity1; + float _ScrollingEmission1; + float _EnableGITDEmission1; + float _GITDEMinEmissionMultiplier1; + float _GITDEMaxEmissionMultiplier1; + float _GITDEMinLight1; + float _GITDEMaxLight1; + float _GITDEWorldOrMesh1; + float _EmissionCenterOutEnabled1; + float _EmissionCenterOutSpeed1; + float _EmissionHueShiftEnabled1; + float _EmissionBlinkingOffset1; + float _EmissionScrollingOffset1; + + float _EmissionReplace; + + float _EmissionScrollingVertexColor; + float _EmissionScrollingVertexColor1; + + float _EmissionScrollingUseCurve; + float _EmissionScrollingUseCurve1; + + float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled) + { + float glowInTheDarkMultiplier = 1; + + if (enabled) + { + #ifdef POI_LIGHTING + float3 lightValue = float(0) ? poiLight.finalLighting.rgb: poiLight.directLighting.rgb; + float gitdeAlpha = (clamp(poiMax(lightValue), minLight, maxLight) - minLight) / (maxLight - minLight); + glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); + #endif + } + return glowInTheDarkMultiplier; + } + + float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) + { + float phase = 0; + phase = dot(position, direction); + phase -= (_Time.y + offset) * velocity; + phase /= interval; + phase -= floor(phase); + phase = saturate(phase); + return(pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; + } + + float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) + { + float amplitude = (blinkMax - blinkMin) * 0.5f; + float base = blinkMin + amplitude; + return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; + } + + float3 calculateEmissionNew(in float4 baseColor, inout float4 finalColor) + { + // First Emission + float3 emission0 = 0; + float emissionStrength0 = float(0); + float3 emissionColor0 = 0; + + float glowInTheDarkMultiplier0 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + else + { + emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + + + if(float(0)) + { + float3 pos = poiMesh.localPos; + + if(float(0)) + { + pos = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve) + (dot(pos, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos); + } + } + + + if(float(0)) + { + emissionStrength0 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor0 = hueShift(emissionColor0, float(0) * float(0)); + float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask) + _Time.x * float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission != 4) + { + emissionMask0 *= blackLightMask[_BlackLightMaskEmission]; + } + #endif + + emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; + emission0 = emissionStrength0 * emissionColor0; + + #ifdef POI_DISSOLVE + + if(float(2) != 2) + { + emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + + // Second Emission + float3 emission1 = 0; + float emissionStrength1 = 0; + float3 emissionColor1 = 0; + + #ifdef EFFECT_HUE_VARIATION + emissionStrength1 = float(0); + float glowInTheDarkMultiplier1 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor1 = POI2D_SAMPLER_PAN(_EmissionMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + else + { + emissionColor1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap1, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)).rgb * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + + + if(float(0)) + { + float3 pos1 = poiMesh.localPos; + + if(float(0)) + { + pos1 = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength1 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve1) + (dot(pos1, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength1 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos1); + } + } + + if(float(0)) + { + emissionStrength1 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor1 = hueShift(emissionColor1, float(0) * float(0)); + float emissionMask1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask1) + _Time.x * float4(0,0,0,0)); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission2 != 4) + { + emissionMask1 *= blackLightMask[_BlackLightMaskEmission2]; + } + #endif + emissionStrength1 *= glowInTheDarkMultiplier1 * emissionMask1; + emission1 = emissionStrength1 * emissionColor1; + + #ifdef POI_DISSOLVE + if(float(2) != 2) + { + emission1 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + #endif + finalColor.rgb = lerp(finalColor.rgb, saturate(emissionColor0 + emissionColor1), saturate(emissionStrength0 + emissionStrength1) * float(0) * poiMax(emission0 + emission1)); + + return emission0 + emission1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta new file mode 100644 index 00000000..3128d8b7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 526305e77adb50a4ebf9f2916b49dbb8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc new file mode 100644 index 00000000..1e9188ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc @@ -0,0 +1,43 @@ +#ifndef POI_ENVIRONMENTAL_RIM + #define POI_ENVIRONMENTAL_RIM + + //enviro rim + float _EnableEnvironmentalRim; + POI_TEXTURE_NOSAMPLER(_RimEnviroMask); + float _RimEnviroBlur; + float _RimEnviroMinBrightness; + float _RimEnviroWidth; + float _RimEnviroSharpness; + float _RimEnviroIntensity; + + float3 calculateEnvironmentalRimLighting(in float4 albedo) + { + float enviroRimAlpha = saturate(1 - smoothstep(min(float(0), float(0.45)), float(0.45), poiCam.viewDotNormal)); + float(0.7) *= 1.7 - 0.7 * float(0.7); + + float3 enviroRimColor = 0; + float interpolator = unity_SpecCube0_BoxMin.w; + + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + enviroRimColor = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + enviroRimColor = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + half enviroMask = poiMax(POI2D_SAMPLER_PAN(_RimEnviroMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb); + return lerp(0, max(0, (enviroRimColor - float(0)) * albedo.rgb), enviroRimAlpha).rgb * enviroMask * float(1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta new file mode 100644 index 00000000..bb60b5aa --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9be436d6544889640b056231001255e7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc new file mode 100644 index 00000000..0ed89b59 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc @@ -0,0 +1,153 @@ +#ifndef POI_FLIPBOOK + #define POI_FLIPBOOK + + UNITY_DECLARE_TEX2DARRAY(_FlipbookTexArray); float4 _FlipbookTexArray_ST; + float4 _FlipbookColor; + float _FlipbookFPS; + float _FlipbookTotalFrames; + float4 _FlipbookScaleOffset; + float _FlipbookTiled; + float _FlipbookCurrentFrame; + float _FlipbookEmissionStrength; + float _FlipbookRotation; + float _EnableFlipbook; + float _FlipbookTexArrayUV; + float _FlipbookAlphaControlsFinalAlpha; + float _FlipbookRotationSpeed; + float _FlipbookIntensityControlsAlpha; + float _FlipbookColorReplaces; + float2 _FlipbookTexArrayPan; + + // blending + float _FlipbookReplace; + float _FlipbookMultiply; + float _FlipbookAdd; + POI_TEXTURE_NOSAMPLER(_FlipbookMask); + + // anim + float _FlipbookMovementType; + float4 _FlipbookStartEndOffset; + float _FlipbookMovementSpeed; + + // Global + float4 flipBookPixel; + float4 flipBookPixelMultiply; + float flipBookMask; + + #ifndef POI_SHADOW + + void applyFlipbook(inout float4 finalColor, inout float3 flipbookEmission) + { + flipBookMask = POI2D_SAMPLER_PAN(_FlipbookMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float2 uv = frac(poiMesh.uv[float(0)]); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + // 2d rotation + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + if (float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipBookPixel = 0; + return; + } + } + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + flipBookPixel = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipBookPixel.a = poiMax(flipBookPixel.rgb); + } + + if(float(0)) + { + flipBookPixel.rgb = float4(1,1,1,1).rgb; + } + else + { + flipBookPixel.rgb *= float4(1,1,1,1).rgb; + } + + #ifdef POI_BLACKLIGHT + + if(_BlackLightMaskFlipbook != 4) + { + flipBookMask *= blackLightMask[_BlackLightMaskFlipbook]; + } + #endif + + finalColor.rgb = lerp(finalColor, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * float(1) * flipBookMask); + finalColor.rgb = finalColor + flipBookPixel.rgb * float(0) * flipBookMask; + finalColor.rgb = finalColor * lerp(1, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * flipBookMask * float(0)); + + + if(float(0)) + { + finalColor.a = lerp(finalColor.a, flipBookPixel.a * float4(1,1,1,1).a, flipBookMask); + } + flipbookEmission = lerp(0, flipBookPixel.rgb * float(0), flipBookPixel.a * float4(1,1,1,1).a * flipBookMask); + } + + #else + + float applyFlipbookAlphaToShadow(float2 uv) + { + + if(float(0)) + { + float flipbookShadowAlpha = 0; + + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float theta = radians(float(0)); + + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + half4 flipbookColor = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipbookColor.a = poiMax(flipbookColor.rgb); + } + + + if(float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipbookColor.a = 0; + } + } + return flipbookColor.a * float4(1,1,1,1).a; + } + return 1; + } + + #endif +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta new file mode 100644 index 00000000..b761351b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 67c1e502df6d739488f8767e9120eb3f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc new file mode 100644 index 00000000..aa950e7d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc @@ -0,0 +1,376 @@ +#ifndef POIFRAG + #define POIFRAG + + float _MainEmissionStrength; + float _IgnoreFog; + half _GIEmissionMultiplier; + float _IridescenceTime; + float _AlphaToMask; + float _ForceOpaque; + float _commentIfZero_EnableGrabpass; + float _AlphaPremultiply; + float2 _MainTexPan; + float _MainTextureUV; + float _commentIfZero_LightingAdditiveEnable; + + float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target + { + #ifdef FORWARD_ADD_PASS + #if !defined(POI_LIGHTING) + return 0; + #endif + #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL) + return 0; + #endif + #endif + #ifdef FORWARD_ADD_PASS + + if (float(1) == 0) + { + return 0; + } + #endif + UNITY_SETUP_INSTANCE_ID(i); + // Color + float4 albedo = 1; + float4 finalColor = 1; + + // Lighting + float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication + float3 finalSpecular0 = 0; + float3 finalSpecular1 = 0; + float3 finalSSS = 0; + fixed lightingAlpha = 1; + float3 finalEnvironmentalRim = 0; + + // Emissions + float3 finalEmission = 0; + float3 finalLighting = 1; + float3 IridescenceEmission = 0; + float3 spawnInEmission = 0; + float3 voronoiEmission = 0; + float3 matcapEmission = 0; + float3 depthTouchEmission = 0; + float3 decalEmission = 0; + float3 glitterEmission = 0; + float3 panosphereEmission = 0; + float3 backFaceEmission = 0; + float3 dissolveEmission = 0; + float3 rimLightEmission = 0; + float3 flipbookEmission = 0; + float3 textOverlayEmission = 0; + float3 videoEmission = 0; + /********************************************************************** + Initialize the base data that's needed everywhere else in the shader + **********************************************************************/ + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + + #ifdef POI_BLACKLIGHT + createBlackLightMask(); + + if (_BlackLightMaskDebug) + { + return float4(blackLightMask.rgb, 1); + } + #endif + + // This has to happen in the initializbecause it alters UV data globally + #ifdef POI_PARALLAX + calculateandApplyParallax(); + #endif + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + calculateVertexLightingData(i); + /********************************************************************** + Calculate Light Maps + **********************************************************************/ + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + /********************************************************************** + Calculate Color Data + **********************************************************************/ + + initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask); + + #ifdef POI_DECAL + applyDecal(albedo, decalEmission); + #endif + + + #ifdef POI_IRIDESCENCE + + if (_IridescenceTime == 0) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VORONOI + applyVoronoi(albedo, voronoiEmission); + #endif + + #ifdef POI_MSDF + ApplyTextOverlayColor(albedo, textOverlayEmission); + #endif + + #ifdef POI_ENVIRONMENTAL_RIM + finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo); + #endif + + #if defined(POI_METAL) || defined(POI_CLEARCOAT) + CalculateReflectionData(); + #endif + + #ifdef POI_DATA + distanceFade(albedo); + #endif + + #ifdef POI_RANDOM + albedo.a *= i.angleAlpha; + #endif + + #ifdef MATCAP + applyMatcap(albedo, matcapEmission); + #endif + + #ifdef PANOSPHERE + applyPanosphereColor(albedo, panosphereEmission); + #endif + + #ifdef POI_FLIPBOOK + applyFlipbook(albedo, flipbookEmission); + #endif + + #ifdef POI_GLITTER + applyGlitter(albedo, glitterEmission); + #endif + + #ifdef POI_RIM + applyRimLighting(albedo, rimLightEmission); + #endif + + #ifdef POI_DEPTH_COLOR + applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection); + #endif + + #ifdef POI_IRIDESCENCE + + if(_IridescenceTime == 1) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VIDEO + applyScreenEffect(albedo, videoEmission); + #endif + + applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos); + + /********************************************************************** + Handle a few alpha options + **********************************************************************/ + + if (float(0) == 1) + { + + if(float(0) == 0) + { + applyDithering(albedo); + } + } + + albedo.a = max(float(0), albedo.a); + + + if(float(0) >= 1) + { + clip(albedo.a - float(0.5)); + } + + + if(float(0)) + { + albedo.rgb *= saturate(albedo.a + 0.0000000001); + } + + /********************************************************************** + Lighting Time :) + **********************************************************************/ + + #ifdef POI_LIGHTING + finalLighting = calculateFinalLighting(albedo.rgb, finalColor); + + #ifdef SUBSURFACE + finalSSS = calculateSubsurfaceScattering(); + #endif + #endif + + float4 finalColorBeforeLighting = albedo; + finalColor = finalColorBeforeLighting; + + #ifdef POI_SPECULAR + finalSpecular0 = calculateSpecular(finalColorBeforeLighting); + #endif + #ifdef POI_PARALLAX + calculateAndApplyInternalParallax(finalColor); + #endif + + #ifdef POI_ALPHA_TO_COVERAGE + ApplyAlphaToCoverage(finalColor); + #endif + + + if (float(0) == 1) + { + + if(float(0) == 1) + { + applyDithering(finalColor); + } + } + + #ifdef POI_METAL + calculateMetallicness(); + bool probeExists = shouldMetalHappenBeforeLighting(); + + if(!probeExists) + { + ApplyMetallicsFake(finalColor, albedo); + } + #endif + + #ifdef POI_LIGHTING + #if defined(FORWARD_ADD_PASS) && defined(POI_METAL) + finalLighting *= 1 - metalicMap; + #endif + #endif + + #ifdef VERTEXLIGHT_ON + finalColor.rgb *= finalLighting + poiLight.vFinalLighting; + #else + finalColor.rgb *= finalLighting; + #endif + + #ifdef POI_METAL + + if(probeExists) + { + ApplyMetallics(finalColor, albedo); + } + #endif + + finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS; + + #ifdef FORWARD_BASE_PASS + #ifdef POI_CLEARCOAT + calculateAndApplyClearCoat(finalColor); + #endif + #endif + + finalColor.a = saturate(finalColor.a); + + /********************************************************************** + Add Up all the emission values :D + **********************************************************************/ + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a; + finalEmission += wireframeEmission; + finalEmission += IridescenceEmission; + finalEmission += spawnInEmission; + finalEmission += voronoiEmission; + finalEmission += matcapEmission; + finalEmission += depthTouchEmission; + finalEmission += decalEmission; + finalEmission += glitterEmission; + finalEmission += panosphereEmission; + finalEmission += backFaceEmission; + finalEmission += rimLightEmission; + finalEmission += flipbookEmission; + finalEmission += videoEmission; + finalEmission += textOverlayEmission; + finalEmission += dissolveEmission; + #ifdef POI_EMISSION + finalEmission += calculateEmissionNew(finalColorBeforeLighting, finalColor); + #endif + #endif + + /********************************************************************** + Meta Pass Hype :D + **********************************************************************/ + #ifdef POI_META_PASS + UnityMetaInput meta; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta); + meta.Emission = finalEmission * float(1); + meta.Albedo = saturate(finalColor.rgb); + #ifdef POI_SPECULAR + meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a; + #else + meta.SpecularColor = poiLight.color.rgb * albedo.rgb; + #endif + return UnityMetaFragment(meta); + #endif + + /********************************************************************** + Apply Emission to finalColor + **********************************************************************/ + finalColor.rgb += finalEmission; + + /********************************************************************** + Grabpass features + **********************************************************************/ + + + if (_commentIfZero_EnableGrabpass) + { + applyGrabEffects(finalColor); + } + + /********************************************************************** + Unity Fog + **********************************************************************/ + #ifdef FORWARD_BASE_PASS + + if (float(0) == 0) + { + UNITY_APPLY_FOG(i.fogCoord, finalColor); + } + #endif + + #ifdef FORWARD_ADD_PASS + if(float(0) > 0) + { + finalColor.rgb *= finalColor.a; + } + #endif + + + if(float(0) == 0) + { + finalColor.a = 1; + } + + #ifdef FORWARD_ADD_PASS + //finalColor.rgb = smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5)); + #endif + + #ifdef POI_DEBUG + displayDebugInfo(finalColor); + #endif + + //finalColor.rgb = frac(finalColor.rgb); + return finalColor; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta new file mode 100644 index 00000000..4fe5584e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d77eaa8da9666b346b9d01a0e0096484 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc new file mode 100644 index 00000000..8d260cdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc @@ -0,0 +1,41 @@ +#ifndef POI_FUR + #define POI_FUR + + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurTexture); float4 _FurTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurHeightMap); float4 _FurHeightMap_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurMask); float4 _FurMask_ST; + float _FurAO; + float4 _FurColor; + float _FurLayers; + float _FurMinDistance; + float _FurMaxDistance; + float _FurHeightMapMin; + float _FurHeightMapMax; + float _FurDebug; + float _AoRampMin; + float _AoRampMax; + float _FurTipAlpha; + float _FurFadeStart; + + //globals + half furHeightMap; + half furMask; + + void calculateFur() + { + + furHeightMap = UNITY_SAMPLE_TEX2D_SAMPLER(_FurHeightMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurHeightMap)).x; + furHeightMap = remap(furHeightMap, 0, _FurHeightMapMax, _FurHeightMapMin, 1); + furMask = poiMax(UNITY_SAMPLE_TEX2D_SAMPLER(_FurMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurMask)).xyz); + half3 furTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_FurTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurTexture)); + clip(furHeightMap - poiMesh.furAlpha); + clip(furMask - poiMesh.furAlpha); + + albedo.rgb = lerp(mainTexture.rgb, furTexture.rgb * _FurColor.rgb, ceil(poiMesh.furAlpha)); + float aoRampMax = _AoRampMax - (1 - furMask); + albedo.rgb *= lerp(1, smoothstep(_AoRampMin, aoRampMax, furHeightMap), _FurAO); + + albedo.a *= smoothstep(1.01, _FurTipAlpha, remapClamped(poiMesh.furAlpha, _FurFadeStart, 1, 0, 1)) + float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta new file mode 100644 index 00000000..c680c0cf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 87e761e73d6836e4e806dd9583f35b77 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc new file mode 100644 index 00000000..032f3b08 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc @@ -0,0 +1,37 @@ +float _FurLength; +float _FurGravityStrength; + +[instance(4)] +[maxvertexcount(20)] +void geomFur(triangle v2f IN[3], inout TriangleStream < v2f > tristream, uint InstanceID : SV_GSInstanceID) +{ + float4 fur_worldPos[3]; + v2f o_fur[3]; + float3 offset = (float3(0, -1, 0) * (_FurLength*.9) *_FurGravityStrength); + + for (int i = 0; i < 3; i++) + { + if (InstanceID == 0) { + IN[i].furAlpha = 0; + tristream.Append(IN[i]); + } + o_fur[i] = IN[i]; + fur_worldPos[i] = float4(IN[i].worldPos + IN[i].normal * _FurLength, 1); + } + if (InstanceID == 0) { + tristream.RestartStrip(); + } + int Total_FurLayers = clamp(floor(_FurLayers * (1 - smoothstep(_FurMinDistance, _FurMaxDistance, distance(IN[0].worldPos, getCameraPosition())))), min(1, _FurLayers), _FurLayers); + + int startLayer = max(int(InstanceID) * 6 - 1, 0); + for (int layer = startLayer; layer < Total_FurLayers; layer++) { + for (int i = 0; i < 3; i++) { + o_fur[i].furAlpha = float(layer) / Total_FurLayers; + o_fur[i].worldPos = float4(lerp(IN[i].worldPos, fur_worldPos[i] + offset * o_fur[i].furAlpha, o_fur[i].furAlpha),1); + o_fur[i].pos = UnityWorldToClipPos(o_fur[i].worldPos); + o_fur[i].furAlpha += .01; + tristream.Append(o_fur[i]); + } + tristream.RestartStrip(); + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta new file mode 100644 index 00000000..b2ba56ca --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f22c980afb56d15499c27f16ab013c28 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc new file mode 100644 index 00000000..e31b6498 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc @@ -0,0 +1,232 @@ +#ifndef POI_GLITTER + #define POI_GLITTER + + half3 _GlitterColor; + POI_TEXTURE_NOSAMPLER(_GlitterMask); + float2 _GlitterPan; + POI_TEXTURE_NOSAMPLER(_GlitterColorMap); + POI_TEXTURE_NOSAMPLER(_GlitterTexture); + half _GlitterSpeed; + half _GlitterBrightness; + float _GlitterFrequency; + float _GlitterJitter; + half _GlitterSize; + half _GlitterContrast; + half _GlitterAngleRange; + half _GlitterMinBrightness; + half _GlitterBias; + float _GlitterRandomColors; + float2 _GlitterMinMaxSaturation; + float2 _GlitterMinMaxBrightness; + fixed _GlitterUseSurfaceColor; + float _GlitterBlendType; + float _GlitterMode; + float _GlitterShape; + float _GlitterCenterSize; + float _glitterFrequencyLinearEmissive; + float _GlitterJaggyFix; + float _GlitterRandomRotation; + float _GlitterTextureRotation; + float4 _GlitterMinMaxSize; + float _GlitterRandomSize; + + + float3 randomFloat3(float2 Seed, float maximum) + { + return(.5 + float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) + ) * .5) * (maximum); + } + + float3 randomFloat3Range(float2 Seed, float Range) + { + return(float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1) * Range; + } + + float3 randomFloat3WiggleRange(float2 Seed, float Range) + { + float3 rando = (float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1); + float speed = 1 + float(10); + return float3(sin((_Time.x + rando.x * pi) * speed), sin((_Time.x + rando.y * pi) * speed), sin((_Time.x + rando.z * pi) * speed)) * Range; + } + + void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out) + { + float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233))) * 43758.5453); + Out = lerp(Min, Max, randomno); + } + + float3 RandomColorFromPoint(float2 rando) + { + fixed hue = random2(rando.x + rando.y).x; + fixed saturation = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.x); + fixed value = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.y); + float3 hsv = float3(hue, saturation, value); + return HSVtoRGB(hsv); + } + + void applyGlitter(inout float4 albedo, inout float3 glitterEmission) + { + + + // Scale + float2 st = poiMesh.uv[0] * float(300); + + // Tile the space + float2 i_st = floor(st); + float2 f_st = frac(st); + + float m_dist = 10.; // minimun distance + float2 m_point = 0; // minimum point + float2 randoPoint = 0; + float2 dank; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 neighbor = float2(i, j); + float2 pos = random2(i_st + neighbor); + float2 rando = pos; + pos = 0.5 + 0.5 * sin(float(1) * 6.2831 * pos); + float2 diff = neighbor + pos - f_st; + float dist = length(diff); + + if (dist < m_dist) + { + dank = diff; + m_dist = dist; + m_point = pos; + randoPoint = rando; + } + } + } + + float randomFromPoint = random(randoPoint); + + float size = float(0.3); + + if(float(0)) + { + size = remapClamped(randomFromPoint, 0, 1, float4(0.1,0.5,0,1).x, float4(0.1,0.5,0,1).y); + } + + + // Assign a color using the closest point position + //color += dot(m_point, float2(.3, .6)); + + // Add distance field to closest point center + // color.g = m_dist; + + // Show isolines + //color -= abs(sin(40.0 * m_dist)) * 0.07; + + // Draw cell center + half glitterAlpha = 1; + switch(float(0)) + { + case 0: //circle + glitterAlpha = (1. - step(size, m_dist)); + break; + case 1: //sqaure + float jaggyFix = pow(poiCam.distanceToVert, 2) * float(0); + + + if (float(0)) + { + float2 center = float2(0, 0); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + dank = float2((dank.x - center.x) * cs - (dank.y - center.y) * sn + center.x, (dank.x - center.x) * sn + (dank.y - center.y) * cs + center.y); + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + else + { + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + break; + } + + float3 finalGlitter = 0; + + switch(float(0)) + { + case 0: + float3 randomRotation = 0; + + if(float(10) > 0) + { + randomRotation = randomFloat3WiggleRange(randoPoint, float(90)); + } + else + { + randomRotation = randomFloat3Range(randoPoint, float(90)); + } + float3 norm = poiMesh.normals[0]; + + float3 glitterReflectionDirection = normalize(mul(poiRotationMatrixFromAngles(randomRotation), norm)); + finalGlitter = lerp(0, float(0) * glitterAlpha, glitterAlpha) + max(pow(saturate(dot(lerp(glitterReflectionDirection, poiCam.viewDir, float(0.8)), poiCam.viewDir)), float(300)), 0); + finalGlitter *= glitterAlpha; + break; + case 1: + float offset = random(randoPoint); + float brightness = sin((_Time.x + offset) * float(10)) * float(20) - (float(20) - 1); + finalGlitter = max(float(0) * glitterAlpha, brightness * glitterAlpha * smoothstep(0, 1, 1 - m_dist * float(0.08) * 10)); + break; + } + + + half3 glitterColor = float4(1,1,1,1); + glitterColor *= lerp(1, albedo, float(0)); + glitterColor *= POI2D_SAMPLER_PAN(_GlitterColorMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + + float2 uv = remapClamped(dank, -size, size, 0, 1); + + if(float(0) && !float(0)) + { + float2 fakeUVCenter = float2(.5, .5); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - fakeUVCenter.x) * cs - (uv.y - fakeUVCenter.y) * sn + fakeUVCenter.x, (uv.x - fakeUVCenter.x) * sn + (uv.y - fakeUVCenter.y) * cs + fakeUVCenter.y); + } + float4 glitterTexture = POI2D_SAMPLER_PAN(_GlitterTexture, _MainTex, uv, float4(0,0,0,0)); + //float4 glitterTexture = _GlitterTexture.SampleGrad(sampler_MainTex, frac(uv), ddx(uv), ddy(uv)); + glitterColor *= glitterTexture.rgb; + float glitterMask = POI2D_SAMPLER_PAN(_GlitterMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskGlitter != 4) + { + glitterMask *= blackLightMask[_BlackLightMaskGlitter]; + } + #endif + + if(float(0)) + { + glitterColor *= RandomColorFromPoint(random2(randoPoint.x + randoPoint.y)); + } + + + if(float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, finalGlitter * glitterColor * float(3), finalGlitter * glitterTexture.a * glitterMask); + glitterEmission = finalGlitter * glitterColor * max(0, (float(3) - 1) * glitterTexture.a) * glitterMask; + } + else + { + glitterEmission = finalGlitter * glitterColor * float(3) * glitterTexture.a * glitterMask; + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta new file mode 100644 index 00000000..5abcc6b1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 388790bb584ce8f4da2e1055795be2b7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc new file mode 100644 index 00000000..060cb720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc @@ -0,0 +1,127 @@ +#ifndef POI_GRAB + #define POI_GRAB + + float _RefractionIndex; + float _RefractionOpacity; + float _RefractionChromaticAberattion; + float _RefractionEnabled; + float _GrabSrcBlend; + float _GrabDstBlend; + float _GrabPassUseAlpha; + float _GrabPassBlendFactor; + float _GrabBlurDistance; + float _GrabBlurQuality; + float _GrabBlurDirections; + POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap); + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RefractionOpacityMask); float4 _RefractionOpacityMask_ST; + + float4 blur(float2 uv) + { + float two_pi = 6.28318530718; + + float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur + float quality = floor(_GrabBlurQuality); + float directions = floor(_GrabBlurDirections); + + // Pixel colour + float4 color = tex2D(_PoiGrab, uv); + + float deltaAngle = two_pi / directions; + float deltaQuality = 1.0 / quality; + for (int i = 0; i < directions; i ++) + { + for (int j = 0; j < quality; j ++) + { + float angle = deltaAngle * i + j; + float offset = deltaQuality * (j + 1); + color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset); + } + } + + // Output to screen + color /= quality * directions + 1; + return color; + } + + inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos) + { + float4 refractionColor; + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos)); + float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0))) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir))); + float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x)); + + + if (_RefractionChromaticAberattion > 0) + { + float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction)); + float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g; + float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b; + refractionColor = float4(redAlpha.r, green, blue, redAlpha.a); + } + else + { + float2 refractedGrab = projectedGrabPos + cameraRefraction; + + #ifdef CHROMATIC_ABERRATION_LOW + refractionColor = blur(refractedGrab); + #else + refractionColor = tex2D(_PoiGrab, (refractedGrab)); + #endif + } + return refractionColor; + } + + void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor) + { + float3 refraction = 1; + + if(_RefractionEnabled == 1) + { + refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb; + } + else + { + #ifdef CHROMATIC_ABERRATION_LOW + refraction = blur(projectedGrabPos); + #else + refraction = tex2Dproj(_PoiGrab, poiCam.grabPos); + #endif + } + + float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r; + + if(_GrabPassUseAlpha) + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a)); + finalColor.a = 1; + } + else + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor); + } + } + + float2 calculateGrabPosition() + { + float4 grabPos = poiCam.grabPos; + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + float halfPosW = grabPos.w * 0.5; + grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW; + #if SHADER_API_D3D9 || SHADER_API_D3D11 + grabPos.w += 0.00000000001; + #endif + return(grabPos / grabPos.w).xy; + } + + void applyGrabEffects(inout float4 finalColor) + { + float2 projectedGrabPos = calculateGrabPosition(); + calculateRefraction(projectedGrabPos, finalColor); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta new file mode 100644 index 00000000..54306c64 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dba4c32f43756144c9a956b6a11c1e64 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc new file mode 100644 index 00000000..9ae9e754 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc @@ -0,0 +1,338 @@ +#ifndef POI_HELPER + #define POI_HELPER + + #include "CGI_PoiColors.cginc" + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float linearSin(float x) + { + return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0); + } + + float random(float2 p) + { + return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123); + } + + float2 random2(float2 p) + { + return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453); + } + + float3 random3(float3 p) + { + return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453); + } + + float3 mod(float3 x, float y) + { + return x - y * floor(x / y); + } + float2 mod(float2 x, float y) + { + return x - y * floor(x / y); + } + + //1/7 + #define K 0.142857142857 + //3/7 + #define Ko 0.428571428571 + + // Permutation polynomial: (34x^2 + x) mod 289 + float3 Permutation(float3 x) + { + return mod((34.0 * x + 1.0) * x, 289.0); + } + + bool IsInMirror() + { + return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; + } + + float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax) + { + #if UNITY_SPECCUBE_BOX_PROJECTION + + if (cubemapPosition.w > 0) + { + float3 factors = ((direction > 0 ? boxMax: boxMin) - position) / direction; + float scalar = min(min(factors.x, factors.y), factors.z); + direction = direction * scalar + (position - cubemapPosition); + } + #endif + return direction; + } + + // Camera + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + float3 grayscale_vector_node() + { + return float3(0, 0.3823529, 0.01845836); + } + + float3 grayscale_for_light() + { + return float3(0.298912, 0.586611, 0.114478); + } + + //Math Operators + + float remap(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float poiMax(float2 i) + { + return max(i.x, i.y); + } + + float poiMax(float3 i) + { + return max(max(i.x, i.y), i.z); + } + + float poiMax(float4 i) + { + return max(max(max(i.x, i.y), i.z), i.w); + } + + float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis) + { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, + 0.0, 0.0, 0.0, 1.0); + } + + float4x4 poiRotationMatrixFromAngles(float x, float y, float z) + { + float angleX = radians(x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + + float4x4 poiRotationMatrixFromAngles(float3 angles) + { + float angleX = radians(angles.x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(angles.y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(angles.z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + +#endif + +half2 calcScreenUVs(half4 grabPos) +{ + half2 uv = grabPos / (grabPos.w + 0.0000000001); + #if UNITY_SINGLE_PASS_STEREO + uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y); + #else + uv.xy *= _ScreenParams.xy; + #endif + + return uv; +} + +float inverseLerp(float A, float B, float T) +{ + return(T - A) / (B - A); +} + +float inverseLerp2(float2 a, float2 b, float2 value) +{ + float2 AB = b - a; + float2 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp3(float3 a, float3 b, float3 value) +{ + float3 AB = b - a; + float3 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp4(float4 a, float4 b, float4 value) +{ + float4 AB = b - a; + float4 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +// Dithering +inline half Dither8x8Bayer(int x, int y) +{ + const half dither[ 64 ] = { + 1, 49, 13, 61, 4, 52, 16, 64, + 33, 17, 45, 29, 36, 20, 48, 32, + 9, 57, 5, 53, 12, 60, 8, 56, + 41, 25, 37, 21, 44, 28, 40, 24, + 3, 51, 15, 63, 2, 50, 14, 62, + 35, 19, 47, 31, 34, 18, 46, 30, + 11, 59, 7, 55, 10, 58, 6, 54, + 43, 27, 39, 23, 42, 26, 38, 22 + }; + int r = y * 8 + x; + return dither[r] / 64; +} + +// UV Manipulation +float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv) +{ + float theta = radians(rotation); + scale = 1 - scale; + float cs = cos(theta); + float sn = sin(theta); + float2 centerPoint = offset + .5; + uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y); + + return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1)); +} + +bool isVR() +{ + // USING_STEREO_MATRICES + #if UNITY_SINGLE_PASS_STEREO + return true; + #else + return false; + #endif +} + +bool isVRHandCamera() +{ + return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005; +} + +bool isDesktop() +{ + return !isVRHandCamera(); +} + +bool isVRHandCameraPreview() +{ + return isVRHandCamera() && _ScreenParams.y == 720; +} + +bool isVRHandCameraPicture() +{ + return isVRHandCamera() && _ScreenParams.y == 1080; +} + +bool isPanorama() +{ + // Crude method + // FOV=90=camproj=[1][1] + return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025; +} + +float3 calculateluminance(float3 color) +{ + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta new file mode 100644 index 00000000..28efbbbf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a0044f977cf6d624bb0f79cc07d12fb8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc new file mode 100644 index 00000000..6ee66d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc @@ -0,0 +1,36 @@ +#ifndef POI_HOLOGRAM + #define POI_HOLOGRAM + + UNITY_DECLARE_TEX2D_NOSAMPLER(_HoloAlphaMap); float4 _HoloAlphaMap_ST; + float _HoloCoordinateSpace; // 0 World, 1 Local, 2 UV + float3 _HoloDirection; + float _HoloScrollSpeed; + float _HoloLineDensity; + + fixed _HoloFresnelAlpha; + fixed _HoloRimSharpness; + fixed _HoloRimWidth; + void ApplyHoloAlpha(inout float4 color) + { + float uv = 0; + + if (_HoloCoordinateSpace == 0) + { + uv = dot(normalize(_HoloDirection), poiMesh.worldPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 1) + { + uv = dot(normalize(_HoloDirection), poiMesh.localPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 2) + { + uv = dot(_HoloDirection, poiMesh.uv[0] * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + float holoRim = saturate(1 - smoothstep(min(_HoloRimSharpness, _HoloRimWidth), _HoloRimWidth, poiCam.viewDotNormal)); + holoRim = abs(lerp(1, holoRim, _HoloFresnelAlpha)); + color.a *= UNITY_SAMPLE_TEX2D_SAMPLER(_HoloAlphaMap, _MainTex, uv).r * holoRim; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta new file mode 100644 index 00000000..740e25fb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5c114b5a9b6d0b549b8a2df6a5dc5d4d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc new file mode 100644 index 00000000..bcea8ccc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc @@ -0,0 +1,61 @@ +#ifndef POI_IRIDESCENCE + #define POI_IRIDESCENCE + + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceRamp); float4 _IridescenceRamp_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceMask); float4 _IridescenceMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceNormalMap); float4 _IridescenceNormalMap_ST; + float _IridescenceNormalUV; + float _IridescenceMaskUV; + float _IridescenceNormalSelection; + float _IridescenceNormalIntensity; + float _IridescenceNormalToggle; + float _IridescenceIntensity; + fixed _IridescenceAddBlend; + fixed _IridescenceReplaceBlend; + fixed _IridescenceMultiplyBlend; + float _IridescenceEmissionStrength; + + //global + + float3 calculateNormal(float3 baseNormal) + { + float3 normal = UnpackScaleNormal(UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceNormalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceNormalUV], _IridescenceNormalMap)), _IridescenceNormalIntensity); + return normalize( + normal.x * poiMesh.tangent + + normal.y * poiMesh.binormal + + normal.z * baseNormal + ); + } + + void applyIridescence(inout float4 albedo, inout float3 IridescenceEmission) + { + float3 normal = poiMesh.normals[_IridescenceNormalSelection]; + + // Use custom normal map + + if (_IridescenceNormalToggle) + { + normal = calculateNormal(normal); + } + + float ndotv = dot(normal, poiCam.viewDir); + + float4 iridescenceColor = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceRamp, _MainTex, 1 - abs(ndotv)); + float4 iridescenceMask = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceMaskUV], _IridescenceMask)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskIridescence != 4) + { + iridescenceMask *= blackLightMask[_BlackLightMaskIridescence]; + } + #endif + + + albedo.rgb = lerp(albedo.rgb, saturate(iridescenceColor.rgb * _IridescenceIntensity), iridescenceColor.a * _IridescenceReplaceBlend * iridescenceMask); + albedo.rgb += saturate(iridescenceColor.rgb * _IridescenceIntensity * iridescenceColor.a * _IridescenceAddBlend * iridescenceMask); + albedo.rgb *= saturate(lerp(1, iridescenceColor.rgb * _IridescenceIntensity, iridescenceColor.a * _IridescenceMultiplyBlend * iridescenceMask)); + + IridescenceEmission = saturate(iridescenceColor.rgb * _IridescenceIntensity) * iridescenceColor.a * iridescenceMask * _IridescenceEmissionStrength; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta new file mode 100644 index 00000000..3e33a5bb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 02709e578a7b20044bcc14337b68c69c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc new file mode 100644 index 00000000..8f35cb62 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc @@ -0,0 +1,668 @@ + +#ifndef POI_LIGHTING + #define POI_LIGHTING + + float _LightingShadingEnabled; + float _LightingRampType; + float _LightingIgnoreAmbientColor; + float _UseShadowTexture; + float _LightingEnableAO; + float _LightingDetailShadowsEnabled; + + float _LightingOnlyUnityShadows; + float _LightingMode; + float _ForceLightDirection; + float _ShadowStrength; + float _OutlineShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _CastedShadowSmoothing; + float _AttenuationMultiplier; + float _EnableLighting; + float _LightingControlledUseLightColor; + fixed _LightingStandardSmoothness; + fixed _LightingStandardControlsToon; + fixed _LightingMinLightBrightness; + float _LightingUseShadowRamp; + float _LightingMinShadowBrightnessRatio; + UNITY_DECLARE_TEX2D(_ToonRamp); + fixed _LightingMonochromatic; + + fixed _LightingGradientStart; + fixed _LightingGradientEnd; + float3 _LightingShadowColor; + POI_TEXTURE_NOSAMPLER(_LightingShadowTexture); + float _AOStrength; + fixed _LightingDetailStrength; + fixed _LightingAdditiveDetailStrength; + fixed _LightingNoIndirectMultiplier; + fixed _LightingNoIndirectThreshold; + float _LightingUncapped; + + float _LightingDirectColorMode; + float _LightingIndirectColorMode; + float _LightingAdditiveType; + fixed _LightingAdditiveGradientStart; + fixed _LightingAdditiveGradientEnd; + fixed _LightingAdditivePassthrough; + float _LightingDirectAdjustment; + float _LightingIndirect; + // HSL JUNK + float _LightingEnableHSL; + float _LightingShadowHue; + float _LightingShadowSaturation; + float _LightingShadowLightness; + float _LightingHSLIntensity; + /* + UNITY_DECLARE_TEX2D_NOSAMPLER(_ToonRamp3); + half _LightingShadowStrength3; + half _ShadowOffset3; + */ + + half4 shadowStrength; + + POI_TEXTURE_NOSAMPLER(_LightingDetailShadows); + POI_TEXTURE_NOSAMPLER(_LightingAOTex); + POI_TEXTURE_NOSAMPLER(_LightingShadowMask); + + /* + * MIT License + * + * Copyright (c) 2018 s-ilent + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + /* + * Silent's code starts here + */ + + float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n) + { + // average energy + float R0 = max(0, L0); + + // avg direction of incoming light + float3 R1 = 0.5f * L1; + + // directional brightness + float lenR1 = length(R1); + + // linear angle between normal and direction 0-1 + //float q = 0.5f * (1.0f + dot(R1 / lenR1, n)); + //float q = dot(R1 / lenR1, n) * 0.5 + 0.5; + float q = dot(normalize(R1), n) * 0.5 + 0.5; + q = saturate(q); // Thanks to ScruffyRuffles for the bug identity. + + // power for q + // lerps from 1 (linear) to 3 (cubic) based on directionality + float p = 1.0f + 2.0f * lenR1 / R0; + + // dynamic range constant + // should vary between 4 (highly directional) and 0 (ambient) + float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0); + + return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p)); + } + + half3 BetterSH9(half4 normal) + { + float3 indirect; + float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0; + indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal); + indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal); + indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal); + indirect = max(0, indirect); + indirect += SHEvalLinearL2(normal); + return indirect; + } + + float3 BetterSH9(float3 normal) + { + return BetterSH9(float4(normal, 1)); + } + + /* + * Standard stuff starts here + */ + UnityLight CreateLight(float3 normal, fixed detailShadowMap) + { + UnityLight light; + light.dir = poiLight.direction; + light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap); + light.ndotl = DotClamped(normal, poiLight.direction); + return light; + } + + float FadeShadows(float attenuation) + { + #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + // UNITY_LIGHT_ATTENUATION doesn't fade shadows for us. + + #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + attenuation = lerp(1, poiLight.attenuation, float(0)); + #endif + + float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); + float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ); + float shadowFade = UnityComputeShadowFade(shadowFadeDistance); + float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); + attenuation = UnityMixRealtimeAndBakedShadows( + attenuation, bakedAttenuation, shadowFade + ); + #endif + + return attenuation; + } + + void ApplySubtractiveLighting(inout UnityIndirect indirectLight) + { + #if SUBTRACTIVE_LIGHTING + poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0))); + + float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz)); + float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb; + float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate; + subtractedLight = max(subtractedLight, unity_ShadowColor.rgb); + subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x); + indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse); + #endif + } + + float3 weightedBlend(float3 layer1, float3 layer2, float2 weights) + { + return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y); + } + + UnityIndirect CreateIndirectLight(float3 normal) + { + UnityIndirect indirectLight; + indirectLight.diffuse = 0; + indirectLight.specular = 0; + + #if defined(FORWARD_BASE_PASS) + #if defined(LIGHTMAP_ON) + indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy)); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy + ); + indirectLight.diffuse = DecodeDirectionalLightmap( + indirectLight.diffuse, lightmapDirection, normal + ); + #endif + ApplySubtractiveLighting(indirectLight); + #endif + + #if defined(DYNAMICLIGHTMAP_ON) + float3 dynamicLightDiffuse = DecodeRealtimeLightmap( + UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw) + ); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_DynamicDirectionality, unity_DynamicLightmap, + poiMesh.lightmapUV.zw + ); + indirectLight.diffuse += DecodeDirectionalLightmap( + dynamicLightDiffuse, dynamicLightmapDirection, normal + ); + #else + indirectLight.diffuse += dynamicLightDiffuse; + #endif + #endif + + #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON) + #if UNITY_LIGHT_PROBE_PROXY_VOLUME + if (unity_ProbeVolumeParams.x == 1) + { + indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume( + float4(normal, 1), poiMesh.worldPos + ); + indirectLight.diffuse = max(0, indirectLight.diffuse); + #if defined(UNITY_COLORSPACE_GAMMA) + indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse); + #endif + } + else + { + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + } + #else + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + #endif + #endif + + float3 reflectionDir = reflect(-poiCam.viewDir, normal); + Unity_GlossyEnvironmentData envData; + envData.roughness = 1 - float(0); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + #if UNITY_SPECCUBE_BLENDING + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + indirectLight.specular = lerp(probe1, probe0, interpolator); + } + else + { + indirectLight.specular = probe0; + } + #else + indirectLight.specular = probe0; + #endif + float occlusion = 1; + + if(float(0)) + { + occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + } + + indirectLight.diffuse *= occlusion; + indirectLight.diffuse = max(indirectLight.diffuse, float(0)); + indirectLight.specular *= occlusion; + #endif + + return indirectLight; + } + + /* + * Poiyomi's cool as heck code starts here :smug: + */ + + half PoiDiffuse(half NdotV, half NdotL, half LdotH) + { + half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5); + // Two schlick fresnel term + half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL)); + half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV)); + + return lightScatter * viewScatter; + } + + float3 ShadeSH9Indirect() + { + return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Direct() + { + return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Normal(float3 normalDirection) + { + return ShadeSH9(half4(normalDirection, 1.0)); + } + + half3 GetSHLength() + { + half3 x, x1; + x.r = length(unity_SHAr); + x.g = length(unity_SHAg); + x.b = length(unity_SHAb); + x1.r = length(unity_SHBr); + x1.g = length(unity_SHBg); + x1.b = length(unity_SHBb); + return x + x1; + } + + float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap) + { + return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])); + } + + void calculateBasePassLightMaps() + { + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + float AOMap = 1; + float AOStrength = 1; + float3 lightColor = poiLight.color; + /* + * Generate Basic Light Maps + */ + + bool lightExists = false; + if (all(_LightColor0.rgb >= 0.002)) + { + lightExists = true; + } + #ifndef OUTLINE + + if(float(0)) + { + AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + AOStrength = float(1); + } + + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + if (lightExists) + { + lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + } + else + { + lightColor = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + } + + //lightColor = magic * magiratio + normalLight * normaRatio; + //lightColor = magic + normalLight; + #endif + #endif + + float3 grayscale_vector = float3(.33333, .33333, .33333); + float3 ShadeSH9Plus = GetSHLength(); + float3 ShadeSH9Minus = BetterSH9(float4(0, 0, 0, 1)); + + shadowStrength = 1; + #ifndef OUTLINE + shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(1); + #else + shadowStrength = float(1); + #endif + + float bw_lightColor = dot(lightColor, grayscale_vector); + float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector)); + float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector); + float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector); + float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); + + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(0)) + { + poiLight.lightMap = poiLight.attenuation; + } + else + { + poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); + } + poiLight.lightMap *= detailShadow; + + /* + * Decide on light colors + */ + + float3 indirectLighting = 0; + float3 directLighting = 0; + + + + + if (float(0) == 1) + { + indirectLighting = BetterSH9(float4(poiMesh.normals[0], 1)); + } + else + { + indirectLighting = ShadeSH9Minus; + } + + poiLight.directLighting = lightColor; + poiLight.indirectLighting = indirectLighting; + + + if(float(0) == 0) + { + float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + + float magiLumi = calculateluminance(magic); + float normaLumi = calculateluminance(normalLight); + float maginormalumi = magiLumi + normaLumi; + + float magiratio = magiLumi / maginormalumi; + float normaRatio = normaLumi / maginormalumi; + + float target = calculateluminance(magic * magiratio + normalLight * normaRatio); + float3 properLightColor = magic + normalLight; + float properLuminance = calculateluminance(magic + normalLight); + directLighting = properLightColor * max(0.0001, (target / properLuminance)); + } + else + { + directLighting = lightColor; + } + + + if(!float(0)) + { + float directluminance = calculateluminance(directLighting); + float indirectluminance = calculateluminance(indirectLighting); + directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1))); + indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1))); + } + + directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0)); + indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0)); + + if(max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0) + { + indirectLighting = directLighting * _LightingNoIndirectMultiplier; + } + + + if(float(0)) + { + float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1); + if(directluminance > 0) + { + indirectLighting = max(0.001, indirectLighting); + } + float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1); + float targetluminance = directluminance * float(0); + if(indirectluminance < targetluminance) + { + indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance); + } + } + + /* + * Create Shade Maps + */ + + if (float(0)) + { + switch(float(0)) + { + case 0: // Ramp Texture + { + poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)), shadowStrength.r); + + if (float(0)) + { + poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + else + { + poiLight.finalLighting = lerp(indirectLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + } + break; + case 1: // Math Gradient + { + poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)); + float3 shadowColor = float4(1,1,1,1); + + if (float(0)) + { + shadowColor = 1; + } + + if(float(0)) + { + poiLight.finalLighting = lerp((directLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + else + { + poiLight.finalLighting = lerp((indirectLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + } + break; + } + } + else + { + poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap); + poiLight.finalLighting = directLighting; + } + + if(!float(0)) + { + poiLight.finalLighting = saturate(poiLight.finalLighting); + } + //poiLight.finalLighting *= .8; + #endif + } + + void applyShadowTexture(inout float4 albedo) + { + + if (float(0) && float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, POI2D_SAMPLER_PAN(_LightingShadowTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1), (1 - poiLight.rampedLightMap) * shadowStrength); + } + } + + float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL) + { + fixed detailShadow = 1; + + if(float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + return lightColor * attenuationDotNL * detailShadow; + } + else + { + return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow; + } + } + + + float3 calculateFinalLighting(inout float3 albedo, float4 finalColor) + { + float3 finalLighting = 1; + // Additive Lighting + #ifdef FORWARD_ADD_PASS + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow; + } + else + { + #if defined(POINT) || defined(SPOT) + finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow; + #else + finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow; + #endif + } + #endif + + // Base and Meta Lighting + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + #ifdef VERTEXLIGHT_ON + poiLight.vFinalLighting = 0; + + for (int index = 0; index < 4; index ++) + { + poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vCorrectedDotNL[index]); + } + #endif + + switch(float(0)) + { + case 0: // Toon Lighting + { + // HSL Shading + + if (float(0)) + { + float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap); + albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1)); + } + + // Normal Shading + + if (float(0) > 0) + { + poiLight.finalLighting = max(0.001, poiLight.finalLighting); + float finalluminance = calculateluminance(poiLight.finalLighting); + finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0)))); + } + else + { + finalLighting = poiLight.finalLighting; + } + } + break; + case 1: // realistic + { + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb; + finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0)); + } + break; + } + #endif + return finalLighting; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta new file mode 100644 index 00000000..a69fa949 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6feb6170d0554dd43ba2d87784bbb354 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc new file mode 100644 index 00000000..c23736df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc @@ -0,0 +1,243 @@ +#ifndef POI_MSDF + #define POI_MSDF + + sampler2D _TextGlyphs; + float4 _TextGlyphs_ST; + float4 _TextGlyphs_TexelSize; + float _TextFPSUV; + float _TextTimeUV; + float _TextPositionUV; + float _TextPixelRange; + + float _TextFPSEnabled; + float _TextPositionEnabled; + float _TextTimeEnabled; + + + float4 _TextFPSColor; + half _TextFPSEmissionStrength; + fixed4 _TextFPSPadding; + half2 _TextFPSOffset; + half2 _TextFPSScale; + half _TextFPSRotation; + + fixed _TextPositionVertical; + float4 _TextPositionColor; + half _TextPositionEmissionStrength; + fixed4 _TextPositionPadding; + half2 _TextPositionOffset; + half2 _TextPositionScale; + half _TextPositionRotation; + + float4 _TextTimeColor; + half _TextTimeEmissionStrength; + fixed4 _TextTimePadding; + half2 _TextTimeOffset; + half2 _TextTimeScale; + half _TextTimeRotation; + + #define glyphWidth 0.0625 + + #define ASCII_LEFT_PARENTHESIS 40 + #define ASCII_RIGHT_PARENTHESIS 41 + #define ASCII_POSITIVE 43 + #define ASCII_PERIOD 46 + #define ASCII_NEGATIVE 45 + #define ASCII_COMMA 44 + #define ASCII_E 69 + #define ASCII_F 70 + #define ASCII_I 73 + #define ASCII_M 77 + #define ASCII_O 79 + #define ASCII_P 80 + #define ASCII_S 83 + #define ASCII_T 54 + #define ASCII_SEMICOLON 58 + + float3 globalTextEmission; + + half2 getAsciiCoordinate(float index) + { + return half2((index - 1) / 16, 1 - ((floor(index / 16 - glyphWidth)) / 16)); + } + + float median(float r, float g, float b) + { + return max(min(r, g), min(max(r, g), b)); + } + + void ApplyPositionText(inout float4 albedo, float2 uv) + { + float3 cameraPos = clamp(getCameraPosition(), -999, 999); + float3 absCameraPos = abs(cameraPos); + float totalCharacters = 20; + float positionArray[20]; + positionArray[0] = cameraPos.x >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[1] = floor((absCameraPos.x * .01) % 10) + 48; + positionArray[2] = floor((absCameraPos.x * .1) % 10) + 48; + positionArray[3] = floor(absCameraPos.x % 10) + 48; + positionArray[4] = ASCII_PERIOD; + positionArray[5] = floor((absCameraPos.x * 10) % 10) + 48; + positionArray[6] = ASCII_COMMA; + positionArray[7] = cameraPos.y >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[8] = floor((absCameraPos.y * .01) % 10) + 48; + positionArray[9] = floor((absCameraPos.y * .1) % 10) + 48; + positionArray[10] = floor(absCameraPos.y % 10) + 48; + positionArray[11] = ASCII_PERIOD; + positionArray[12] = floor((absCameraPos.y * 10) % 10) + 48; + positionArray[13] = ASCII_COMMA; + positionArray[14] = cameraPos.z >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[15] = floor((absCameraPos.z * .01) % 10) + 48; + positionArray[16] = floor((absCameraPos.z * .1) % 10) + 48; + positionArray[17] = floor(absCameraPos.z % 10) + 48; + positionArray[18] = ASCII_PERIOD; + positionArray[19] = floor((absCameraPos.z * 10) % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if (uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(positionArray[currentCharacter]); + + float2 startUV = float2(1 / totalCharacters * currentCharacter, 0); + float2 endUV = float2(1 / totalCharacters * (currentCharacter + 1), 1); + + fixed4 textPositionPadding = float4(0,0,0,0); + textPositionPadding *= 1 / totalCharacters; + uv = remapClamped(uv, startUV, endUV, float2(glyphPos.x + textPositionPadding.x, glyphPos.y - glyphWidth + textPositionPadding.y), float2(glyphPos.x + glyphWidth - textPositionPadding.z, glyphPos.y - textPositionPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textPositionPadding.z - .001 || uv.x < glyphPos.x + textPositionPadding.x + .001 || uv.y > glyphPos.y - textPositionPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textPositionPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyTimeText(inout float4 albedo, float2 uv) + { + float instanceTime = _Time.y; + float hours = instanceTime / 3600; + float minutes = (instanceTime / 60) % 60; + float seconds = instanceTime % 60; + float totalCharacters = 8; + float timeArray[8]; + timeArray[0] = floor((hours * .1) % 10) + 48; + timeArray[1] = floor(hours % 10) + 48; + timeArray[2] = ASCII_SEMICOLON; + timeArray[3] = floor((minutes * .1) % 10) + 48; + timeArray[4] = floor(minutes % 10) + 48; + timeArray[5] = ASCII_SEMICOLON; + timeArray[6] = floor((seconds * .1) % 10) + 48; + timeArray[7] = floor(seconds % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(timeArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + fixed4 textTimePadding = float4(0,0,0,0); + textTimePadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textTimePadding.x, glyphPos.y - glyphWidth + textTimePadding.y), float2(glyphPos.x + glyphWidth - textTimePadding.z, glyphPos.y - textTimePadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textTimePadding.z - .001 || uv.x < glyphPos.x + textTimePadding.x + .001 || uv.y > glyphPos.y - textTimePadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textTimePadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyFPSText(inout float4 albedo, float2 uv) + { + float smoothDeltaTime = clamp(unity_DeltaTime.w, 0, 999); + float totalCharacters = 7; + float fpsArray[7]; + fpsArray[0] = ASCII_F; + fpsArray[1] = ASCII_P; + fpsArray[2] = ASCII_S; + fpsArray[3] = ASCII_SEMICOLON; + fpsArray[4] = floor((smoothDeltaTime * .01) % 10) + 48; + fpsArray[5] = floor((smoothDeltaTime * .1) % 10) + 48; + fpsArray[6] = floor(smoothDeltaTime % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(fpsArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + + fixed4 textFPSPadding = float4(0,0,0,0); + textFPSPadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textFPSPadding.x, glyphPos.y - glyphWidth + textFPSPadding.y), float2(glyphPos.x + glyphWidth - textFPSPadding.z, glyphPos.y - textFPSPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textFPSPadding.z - .001 || uv.x < glyphPos.x + textFPSPadding.x + .001 || uv.y > glyphPos.y - textFPSPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textFPSPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,1,1,1).rgb, opacity * float4(1,1,1,1).a); + globalTextEmission += float4(1,1,1,1).rgb * opacity * float(0); + } + + void ApplyTextOverlayColor(inout float4 albedo, inout float3 textOverlayEmission) + { + globalTextEmission = 0; + half positionalOpacity = 0; + #ifdef EFFECT_BUMP + + if(float(0)) + { + ApplyFPSText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyPositionText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyTimeText(albedo, poiMesh.uv[float(0)]); + } + + textOverlayEmission = globalTextEmission; + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta new file mode 100644 index 00000000..28ec80f3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 64ba4055309171b4d92af4e83a39dfa8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc new file mode 100644 index 00000000..ecac0805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc @@ -0,0 +1,33 @@ +#ifndef POI_MACROS + #define POI_MACROS + + #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale + + #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex))) + #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + + #ifdef POINT + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; + #endif + + #ifdef SPOT + #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)) + #else + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord + #endif + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + DECLARE_LIGHT_COORD(input, worldPos); \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta new file mode 100644 index 00000000..1bbb001d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 71450fb9f4fef3f47a8d8f70eaa5af3c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc new file mode 100644 index 00000000..270384af --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc @@ -0,0 +1,147 @@ +#ifndef POI_MAINTEXTURE + #define POI_MAINTEXTURE + + + + POI_TEXTURE_NOSAMPLER(_AlphaMask); + POI_TEXTURE_NOSAMPLER(_MainFadeTexture); + float4 _Color; + float _MainVertexColoring; + float _MainUseVertexColorAlpha; + float _Saturation; + float2 _MainDistanceFade; + half _MainMinAlpha; + float _MainHueShift; + #ifdef COLOR_GRADING_HDR + POI_TEXTURE_NOSAMPLER(_MainHueShiftMask); + float _MainHueShiftToggle; + float _MainHueShiftSpeed; + float _MainHueShiftReplace; + #endif + + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailTex); + half _DetailTexIntensity; + half3 _DetailTint; + float _DetailBrightness; + #endif + //globals + float alphaMask; + half3 diffColor; + + #include "CGI_PoiBackFace.cginc" + + float3 wireframeEmission; + + inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo) + { + half4 specGloss = 0; + half3 specColor = specGloss.rgb; + half smoothness = specGloss.a; + + half oneMinusReflectivity; + diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specColor, /*out*/ oneMinusReflectivity); + + FragmentCommonData o = (FragmentCommonData)0; + o.diffColor = diffColor; + o.specColor = specColor; + o.oneMinusReflectivity = oneMinusReflectivity; + o.smoothness = smoothness; + return o; + } + + inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo) + { + i_tex = i_tex; + + FragmentCommonData o = SpecularSetup(i_tex, albedo); + o.normalWorld = float4(0, 0, 0, 1); + o.eyeVec = poiCam.viewDir; + o.posWorld = i_posWorld; + + // NOTE: shader relies on pre-multiply alpha-blend (float(1) = One, float(0) = OneMinusSrcAlpha) + o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha); + return o; + } + + void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask) + { + dissolveEmission = 0; + + #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + #endif + + alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + mainTexture.a *= alphaMask; + + #ifndef POI_SHADOW + albedo = float4(lerp(mainTexture.rgb, dot(mainTexture.rgb, float3(0.3, 0.59, 0.11)), -float(0)) * max(float4(1,1,1,1).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, GammaToLinearSpace(poiMesh.vertexColor.rgb), float(0)), mainTexture.a * max(float4(1,1,1,1).a, 0.0000001)); + + #ifdef POI_LIGHTING + applyShadowTexture(albedo); + #endif + + albedo *= lerp(1, poiMesh.vertexColor.a, float(0)); + #ifdef POI_RGBMASK + albedo.rgb = calculateRGBMask(albedo.rgb); + #endif + + albedo.a = saturate(float(0) + albedo.a); + + wireframeEmission = 0; + #ifdef POI_WIREFRAME + applyWireframe(wireframeEmission, albedo); + #endif + float backFaceDetailIntensity = 1; + + float mixedHueShift = float(0); + applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission); + + #ifdef POI_FUR + calculateFur(); + #endif + + #ifdef COLOR_GRADING_HDR + float hueShiftAlpha = POI2D_SAMPLER_PAN(_MainHueShiftMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if(float(1)) + { + albedo.rgb = lerp(albedo.rgb, hueShift(albedo.rgb, mixedHueShift + float(0) * _Time.x), hueShiftAlpha); + } + else + { + albedo.rgb = hueShift(albedo.rgb, frac((mixedHueShift - (1 - hueShiftAlpha) + float(0) * _Time.x))); + } + #endif + #ifdef FINALPASS + half3 detailTexture = POI2D_SAMPLER_PAN(_DetailTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb * float4(1,1,1,1).rgb; + albedo.rgb *= LerpWhiteTo(detailTexture * float(1) * unity_ColorSpaceDouble.rgb, detailMask.r * float(1) * backFaceDetailIntensity); + #endif + albedo.rgb = saturate(albedo.rgb); + + #ifdef POI_HOLOGRAM + ApplyHoloAlpha(albedo); + #endif + + s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo); + #endif + + #ifdef DISTORT + calculateDissolve(albedo, dissolveEmission); + #endif + } + + void distanceFade(inout float4 albedo) + { + half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(fadeMap) + { + half fadeValue = max(smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, poiCam.distanceToVert), float(0)); + albedo.a *= fadeValue; + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta new file mode 100644 index 00000000..a0a7e772 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bbd4262dc5650f742a0ce217a7b45963 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc new file mode 100644 index 00000000..3aa6d6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc @@ -0,0 +1,115 @@ +#ifndef MATCAP + #define MATCAP + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap); float4 _Matcap_ST; + POI_TEXTURE_NOSAMPLER(_MatcapMask); + float _MatcapMaskInvert; + float _MatcapBorder; + float4 _MatcapColor; + float _MatcapIntensity; + float _MatcapReplace; + float _MatcapMultiply; + float _MatcapAdd; + float _MatcapEnable; + float _MatcapLightMask; + float _MatcapEmissionStrength; + float _MatcapNormal; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap2);float4 _Matcap2_ST; + POI_TEXTURE_NOSAMPLER(_Matcap2Mask); + float _Matcap2MaskInvert; + float _Matcap2Border; + float4 _Matcap2Color; + float _Matcap2Intensity; + float _Matcap2Replace; + float _Matcap2Multiply; + float _Matcap2Add; + float _Matcap2Enable; + float _Matcap2LightMask; + float _Matcap2EmissionStrength; + float _Matcap2Normal; + + void blendMatcap(inout float4 finalColor, float add, float multiply, float replace, float4 matcapColor, float matcapMask, inout float3 matcapEmission, float emissionStrength + #ifdef POI_LIGHTING + , float matcapLightMask + #endif + #ifdef POI_BLACKLIGHT + , uint blackLightMaskIndex + #endif + ) + { + #ifdef POI_LIGHTING + if (matcapLightMask) + { + matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); + } + #endif + #ifdef POI_BLACKLIGHT + if(blackLightMaskIndex != 4) + { + matcapMask *= blackLightMask[blackLightMaskIndex]; + } + #endif + + finalColor.rgb = lerp(finalColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a); + finalColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); + finalColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; + matcapEmission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; + } + + void applyMatcap(inout float4 finalColor, inout float3 matcapEmission) + { + float4 matcap = 0; + float matcapMask = 0; + float4 matcap2 = 0; + float matcap2Mask = 0; + + // Both matcaps use the same coordinates + half3 worldViewUp = normalize(half3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); + + // Matcap 1 + half2 matcapUV = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + + matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(1,1,1,1); + matcap.rgb *= float(1); + matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if (float(0)) + { + matcapMask = 1 - matcapMask; + } + + blendMatcap(finalColor, float(0), float(0), float(1), matcap, matcapMask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap + #endif + ); + + // Matcap 2 + + if (float(0)) + { + half2 matcapUV2 = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + matcap2 = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap2, _MainTex, TRANSFORM_TEX(matcapUV2, _Matcap2)) * float4(1,1,1,1); + matcap2.rgb *= float(1); + matcap2Mask = POI2D_SAMPLER_PAN(_Matcap2Mask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(float(0)) + { + matcap2Mask = 1 - matcap2Mask; + } + blendMatcap(finalColor, float(0), float(0), float(0), matcap2, matcap2Mask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap2 + #endif + ); + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta new file mode 100644 index 00000000..ed1aeede --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0a118b42a24d7ab49aafe179785aeb40 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc new file mode 100644 index 00000000..b2d07a38 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc @@ -0,0 +1,104 @@ +/* +MIT License + +Copyright (c) 2019 wraikny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +VertexTransformShader is dependent on: +*/ + +#ifndef POI_MATH + #define POI_MATH + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float4 quaternion_conjugate(float4 v) + { + return float4( + v.x, -v.yzw + ); + } + + float4 quaternion_mul(float4 v1, float4 v2) + { + float4 result1 = (v1.x * v2 + v1 * v2.x); + + float4 result2 = float4( + - dot(v1.yzw, v2.yzw), + cross(v1.yzw, v2.yzw) + ); + + return float4(result1 + result2); + } + + // angle : radians + float4 get_quaternion_from_angle(float3 axis, float angle) + { + return float4( + cos(angle / 2.0), + normalize(axis) * sin(angle / 2.0) + ); + } + + float4 quaternion_from_vector(float3 inVec) + { + return float4(0.0, inVec); + } + + float degree_to_radius(float degree) + { + return( + degree / 180.0 * pi + ); + } + + float3 rotate_with_quaternion(float3 inVec, float3 rotation) + { + float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x)); + float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y)); + float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z)); + + #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C)) + float4 quaternion = normalize(MUL3(qx, qy, qz)); + float4 conjugate = quaternion_conjugate(quaternion); + + float4 inVecQ = quaternion_from_vector(inVec); + + float3 rotated = ( + MUL3(quaternion, inVecQ, conjugate) + ).yzw; + + return rotated; + } + + float4 transform(float4 input, float4 pos, float4 rotation, float4 scale) + { + input.rgb *= (scale.xyz * scale.w); + input = float4( + rotate_with_quaternion(input.xyz, rotation.xyz * rotation.w) + + (pos.xyz * pos.w), + input.w + ); + return input; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta new file mode 100644 index 00000000..2b56c931 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4c9c68322daa3d84f8b75c6aeb49881c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc new file mode 100644 index 00000000..916f65eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc @@ -0,0 +1,130 @@ +#ifndef POI_METAL + #define POI_METAL + + samplerCUBE _CubeMap; + float _SampleWorld; + POI_TEXTURE_NOSAMPLER(_MetallicMask); + POI_TEXTURE_NOSAMPLER(_SmoothnessMask); + float _Metallic; + float _InvertSmoothness; + float _Smoothness; + float _EnableMetallic; + float3 _MetalReflectionTint; + POI_TEXTURE_NOSAMPLER(_MetallicTintMap); + + float3 finalreflections; + float metalicMap; + float3 reflection; + float roughness; + float lighty_boy_uwu_var; + + bool shouldMetalHappenBeforeLighting() + { + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool probeExists = !(unity_SpecCube0_HDR.a == 0 && envSample.a == 0); + return probeExists && !float(0); + } + + float3 fresnelRelflection(in float4 albedo) + { + half3 dotNV = 1 - abs(poiLight.nDotV); + half f = dotNV * dotNV * dotNV * dotNV; + //f *= i_sold.fresnel; + return lerp(lerp(DielectricSpec.rgb, albedo.rgb, metalicMap), saturate(1 - roughness + metalicMap), f); + } + + void calculateMetallicness() + { + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + } + + void ApplyMetallics(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflection = lerp(probe1, probe0, interpolator); + } + else + { + reflection = probe0; + } + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } + + void ApplyMetallicsFake(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + reflection = texCUBElod(_CubeMap, float4(poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta new file mode 100644 index 00000000..13150b4e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 013867397d171c040807d45b7f565ccc +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc new file mode 100644 index 00000000..8bb16398 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc @@ -0,0 +1,77 @@ +#ifndef POI_MIRROR + #define POI_MIRROR + + float _Mirror; + float _EnableMirrorTexture; + POI_TEXTURE_NOSAMPLER(_MirrorTexture); + + + void applyMirrorRenderVert(inout float4 vertex) + { + + if (float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + void applyMirrorRenderFrag() + { + + if(float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + void applyMirrorTexture(inout float4 mainTexture) + { + + if(float(0)) + { + if(IsInMirror()) + { + mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + } + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta new file mode 100644 index 00000000..4588d0a4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 48a11e6520d2d32418ac78caa48906b8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc new file mode 100644 index 00000000..62e63c91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc @@ -0,0 +1,107 @@ +float _OutlineRimLightBlend; +float _OutlineLit; +float _OutlineTintMix; +float2 _MainTexPan; +float _MainTextureUV; + +float4 frag(v2f i, uint facing: SV_IsFrontFace): COLOR +{ + float4 finalColor = 1; + + if (float(0)) + { + UNITY_SETUP_INSTANCE_ID(i); + + float3 finalEmission = 0; + float4 albedo = 1; + + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + float3 uselessData0; + float3 uselessData1; + initTextureData(albedo, mainTexture, uselessData0, uselessData1, detailMask); + + + fixed4 col = mainTexture; + float alphaMultiplier = smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(getCameraPosition(), i.worldPos)); + float OutlineMask = tex2D(_OutlineMask, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0)).r; + clip(OutlineMask * float(0) - 0.001); + + col = col * 0.00000000001 + tex2D(_OutlineTexture, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineTexture) + _Time.x * float4(0,0,0,0) ); + col.a *= albedo.a; + col.a *= alphaMultiplier; + + #ifdef POI_RANDOM + col.a *= i.angleAlpha; + #endif + + poiCam.screenUV = calcScreenUVs(i.grabPos); + col.a *= float4(1,1,1,1).a; + + + if(float(0) == 1) + { + applyDithering(col); + } + + clip(col.a - float(0.5)); + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + + if(float(0) == 1) + { + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + col.rgb = mainTexture.rgb; + } + else if(float(0) == 2) + { + col.rgb = lerp(col.rgb, poiLight.color, float(0)); + } + col.rgb *= float4(1,1,1,1).rgb; + + if(float(0) == 1) + { + col.rgb = lerp(col.rgb, mainTexture.rgb, float(0)); + } + + finalColor = col; + + #ifdef POI_LIGHTING + + if(float(1)) + { + finalColor.rgb *= calculateFinalLighting(finalColor.rgb, finalColor); + } + #endif + finalColor.rgb += (col.rgb * float(0)); + } + else + { + clip(-1); + } + return finalColor; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta new file mode 100644 index 00000000..b623a392 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0ae4425149ff83447935319c0b680fd2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc new file mode 100644 index 00000000..900e9e43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc @@ -0,0 +1,105 @@ +#ifndef OutlineVert + #define OutlineVert + + #include "CGI_PoiV2F.cginc" + + float _OutlineMode; + float4 _OutlinePersonaDirection; + float4 _OutlineDropShadowOffset; + float _OutlineUseVertexColors; + float _OutlineFixedSize; + float _commentIfZero_EnableOutlinePass; + + sampler2D _OutlineMask; float4 _OutlineMask_ST; float2 _OutlineMaskPan; float _OutlineMaskUV; + v2f vert(appdata v) + { + + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + + float2 uvArray[4]; + uvArray[0] = o.uv0.xy; + uvArray[1] = o.uv0.zw; + uvArray[2] = o.uv1.xy; + uvArray[3] = o.uv1.zw; + + #ifdef POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + o.uv0.xy = v.uv0 + _OutlineGlobalPan.xy * _Time.y; + float outlineMask = 1; + + outlineMask = poiMax(tex2Dlod(_OutlineMask, float4(TRANSFORM_TEX(uvArray[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0), 0, 0)).rgb); + + if (float(0) == 2) + { + outlineMask *= v.color.r; + } + + + if(float(0) != 1) + { + o.normal = UnityObjectToWorldNormal(v.normal); + } + else + { + o.normal = UnityObjectToWorldNormal(v.color); + } + + + half offsetMultiplier = 1; + half distanceOffset = 1; + + if(float(0)) + { + distanceOffset *= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex).xyz); + } + + float3 offset = o.normal * (float(0) * float(0) / 100) * outlineMask * distanceOffset; + + + if(float(0) == 2) + { + float3 lightDirection = poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + offsetMultiplier = saturate(dot(lightDirection, o.normal)); + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 3) + { + half3 viewNormal = mul((float3x3)UNITY_MATRIX_V, o.normal); + offsetMultiplier = saturate(dot(viewNormal.xy, normalize(float4(1,0,0,0).xy))); + + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 4) + { + offset = mul((float3x3)transpose(UNITY_MATRIX_V), float4(1,0,0,0)); + offset *= distanceOffset; + } + + o.worldPos = mul(unity_ObjectToWorld, v.vertex) + float4(offset, 0); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.pos = UnityWorldToClipPos(o.worldPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0); + UNITY_TRANSFER_FOG(o, o.pos); + return o; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta new file mode 100644 index 00000000..a601d92c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e21da7579c058c74b9740793d2b16d9a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc new file mode 100644 index 00000000..da64a89d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc @@ -0,0 +1,63 @@ +#ifndef PANOSPHERE + #define PANOSPHERE + + sampler2D _PanosphereTexture; float4 _PanosphereTexture_ST; + POI_TEXTURE_NOSAMPLER(_PanoMask); + float _PanoEmission; + float _PanoBlend; + float4 _PanosphereColor; + float3 _PanospherePan; + float _PanoToggle; + float _PanoCubeMapToggle; + float _PanoInfiniteStereoToggle; + samplerCUBE _PanoCubeMap; half4 _PanoCubeMap_HDR; + + float3 panoColor; + float panoMask; + + float2 projectIt(float3 coords) + { + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude + _Time.y * float4(0,0,0,0).x, latitude + _Time.y * float4(0,0,0,0).y) * float2(1.0 / UNITY_PI, 1.0 / UNITY_PI); + sphereCoords = float2(1.0, 1.0) - sphereCoords; + return(sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; + } + + void applyPanosphereColor(inout float4 albedo, inout float3 panosphereEmission) + { + panoMask = POI2D_SAMPLER_PAN(_PanoMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskPanosphere != 4) + { + panoMask *= blackLightMask[_BlackLightMaskPanosphere]; + } + #endif + + + if(float(0)) + { + float3 cubeUV = mul(poiRotationMatrixFromAngles(float4(0,0,0,0).xyz * _Time.y), float4(-poiCam.viewDir, 1)); + half4 cubemap = texCUBE(_PanoCubeMap, cubeUV); + panoColor = DecodeHDR(cubemap, _PanoCubeMap_HDR); + } + else + { + float2 uv = projectIt(normalize(lerp(getCameraPosition().xyz, poiCam.worldPos.xyz, float(0)) - poiMesh.worldPos.xyz) * - 1); + + float2 ddxuv = ddx(uv); + float2 ddyuv = ddy(uv); + if(any(fwidth(uv) > .5)) + { + ddxuv = ddyuv = 0.001; + } + panoColor = tex2D(_PanosphereTexture, TRANSFORM_TEX(uv, _PanosphereTexture), ddxuv, ddyuv).rgb * float4(1,1,1,1).rgb; + } + panosphereEmission = panoColor * float(0) * panoMask * float(0); + albedo.rgb = lerp(albedo.rgb, panoColor, float(0) * panoMask); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta new file mode 100644 index 00000000..71dd9652 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 25e435cf749ebe6419d53ddcc48ea7cd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc new file mode 100644 index 00000000..6cd94900 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc @@ -0,0 +1,143 @@ +#ifndef POI_PARALLAX + #define POI_PARALLAX + + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxHeightMap); float4 _ParallaxHeightMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxHeightMapMask); + float2 _ParallaxHeightMapPan; + float _ParallaxStrength; + float _ParallaxHeightMapEnabled; + float _ParallaxUV; + + //Internal + float _ParallaxInternalMapEnabled; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxInternalMap); float4 _ParallaxInternalMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxInternalMapMask); + float _ParallaxInternalIterations; + float _ParallaxInternalMinDepth; + float _ParallaxInternalMaxDepth; + float _ParallaxInternalMinFade; + float _ParallaxInternalMaxFade; + float4 _ParallaxInternalMinColor; + float4 _ParallaxInternalMaxColor; + float4 _ParallaxInternalPanSpeed; + float4 _ParallaxInternalPanDepthSpeed; + float _ParallaxInternalHeightmapMode; + float _ParallaxInternalHeightFromAlpha; + + float GetParallaxHeight(float2 uv) + { + return clamp(UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxHeightMap, _MainTex, TRANSFORM_TEX(uv, _ParallaxHeightMap) + _Time.x * float4(0,0,0,0)).g, 0, .99999); + } + /* + float2 ParallaxOffset(float2 viewDir) + { + float height = GetParallaxHeight(); + height -= 0.5; + height *= float(0); + return viewDir * height; + } + */ + float2 ParallaxRaymarching(float2 viewDir) + { + float2 uvOffset = 0; + float stepSize = 0.1; + float2 uvDelta = viewDir * (stepSize * float(0)); + + float stepHeight = 1; + float surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)]); + + + float2 prevUVOffset = uvOffset; + float prevStepHeight = stepHeight; + float prevSurfaceHeight = surfaceHeight; + + for (int i = 1; i < 10 && stepHeight > surfaceHeight; i ++) + { + prevUVOffset = uvOffset; + prevStepHeight = stepHeight; + prevSurfaceHeight = surfaceHeight; + + uvOffset -= uvDelta; + stepHeight -= stepSize; + surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)] + uvOffset); + } + + float prevDifference = prevStepHeight - prevSurfaceHeight; + float difference = surfaceHeight - stepHeight; + float t = prevDifference / (prevDifference + difference); + uvOffset = prevUVOffset -uvDelta * t; + + return uvOffset *= POI2D_SAMPLER_PAN(_ParallaxHeightMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + + void calculateandApplyParallax() + { + + if (float(0)) + { + float2 parallaxOffset = ParallaxRaymarching(poiCam.tangentViewDir.xy); + + if(float(0) == 0) + { + poiMesh.uv[0] += parallaxOffset; + } + + if(float(0) == 1) + { + poiMesh.uv[1] += parallaxOffset; + } + + if(float(0) == 2) + { + poiMesh.uv[2] += parallaxOffset; + } + + if(float(0) == 3) + { + poiMesh.uv[3] += parallaxOffset; + } + } + } + + void calculateAndApplyInternalParallax(inout float4 finalColor) + { + #if defined(_PARALLAXMAP) + + if(float(0)) + { + float3 parallax = 0; + + for (int j = float(1); j > 0; j --) + { + float ratio = (float)j / float(1); + float2 parallaxOffset = _Time.y * (float4(0,0,0,0) + (1 - ratio) * float4(0,0,0,0)); + float fade = lerp(float(0), float(1), ratio); + float4 parallaxColor = UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxInternalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _ParallaxInternalMap) + lerp(float(0), float(1), ratio) * - poiCam.tangentViewDir.xy + parallaxOffset); + float3 parallaxTint = lerp(float4(1,1,1,1), float4(1,1,1,1), ratio); + float parallaxHeight; + if(float(0)) + { + parallaxTint *= parallaxColor.rgb; + parallaxHeight = parallaxColor.a; + } + else + { + parallaxHeight = parallaxColor.r; + } + //float parallaxColor *= lerp(float4(1,1,1,1), float4(1,1,1,1), 1 - ratio); + + if (float(0) == 1) + { + parallax = lerp(parallax, parallaxTint * fade, parallaxHeight >= 1 - ratio); + } + else + { + parallax += parallaxTint * parallaxHeight * fade; + } + } + //parallax /= float(1); + finalColor.rgb += parallax * POI2D_SAMPLER_PAN(_ParallaxInternalMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta new file mode 100644 index 00000000..18d326e1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7670a112701159e418002f7554dda602 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc new file mode 100644 index 00000000..81230e8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc @@ -0,0 +1,233 @@ +/* +USED--------------------------------------------- +"_PARALLAXMAP", +"_REQUIRE_UV2", +"_SUNDISK_NONE", +"_DETAIL_MULX2", +"_GLOSSYREFLECTIONS_OFF", +"_METALLICGLOSSMAP", +"_COLORADDSUBDIFF_ON", +"_SPECGLOSSMAP", +"_TERRAIN_NORMAL_MAP", +"_SUNDISK_SIMPLE", +"_EMISSION", +"_COLORCOLOR_ON", +"_COLOROVERLAY_ON", +"_ALPHAMODULATE_ON", +"_SUNDISK_HIGH_QUALITY", +"_MAPPING_6_FRAMES_LAYOUT", +"_NORMALMAP" +"EFFECT_BUMP", +"BLOOM", +"BLOOM_LOW", +"GRAIN", +"DEPTH_OF_FIELD", +"USER_LUT", +"CHROMATIC_ABERRATION_LOW", +"BLOOM_LENS_DIRT", +"_FADING_ON", +"CHROMATIC_ABERRATION", +"DISTORT", +"GEOM_TYPE_BRANCH", +"_SPECULARHIGHLIGHTS_OFF", +"_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", +"EFFECT_HUE_VARIATION", +"GEOM_TYPE_LEAF", +"GEOM_TYPE_MESH", +"FINALPASS", +"AUTO_EXPOSURE" +"VIGNETTE", +"VIGNETTE_MASKED", +"COLOR_GRADING_HDR", + +UNUSED------------------------------------------- +"_ALPHABLEND_ON", +"_ALPHAPREMULTIPLY_ON", +"_ALPHATEST_ON", +"GEOM_TYPE_BRANCH_DETAIL", +"GEOM_TYPE_FROND", +"PIXELSNAP_ON", +"SOFTPARTICLES_ON", +"DITHERING", +"TONEMAPPING_NEUTRAL", +"TONEMAPPING_FILMIC", +"TONEMAPPING_ACES", +"TONEMAPPING_CUSTOM", +"DEPTH_OF_FIELD_COC_VIEW", +"COLOR_GRADING", +"COLOR_GRADING_LOG_VIEW", +"VIGNETTE_CLASSIC", +"COLOR_GRADING_HDR_3D", + +DO NOT USE ----------------------------------------- +"BILLBOARD_FACE_CAMERA_POS", +*/ + + +#ifndef POI_PASS + #define POI_PASS + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #ifdef POI_META_PASS + #include "UnityMetaPass.cginc" + #endif + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + + #include "CGI_PoiSpawnInVert.cginc" + + #include "CGI_PoiV2F.cginc" + + #ifdef BLOOM_LOW + #include "CGI_PoiBulge.cginc" + #endif + + #include "CGI_PoiVert.cginc" + + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + + #include "CGI_PoiDithering.cginc" + + #ifdef _PARALLAXMAP + #include "CGI_PoiParallax.cginc" + #endif + + #ifdef USER_LUT + #include "CGI_PoiUVDistortion.cginc" + #endif + + #ifdef VIGNETTE + #include "CGI_PoiRGBMask.cginc" + #endif + + #include "CGI_PoiData.cginc" + + #ifdef _SPECULARHIGHLIGHTS_OFF + #include "CGI_PoiBlackLight.cginc" + #endif + + #include "CGI_PoiSpawnInFrag.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + + #ifdef DEPTH_OF_FIELD + #include "CGI_PoiHologram.cginc" + #endif + + #ifdef BLOOM_LENS_DIRT + #include "CGI_PoiIridescence.cginc" + #endif + + + #ifdef FUR + #include "CGI_PoiFur.cginc" + #include "CGI_PoiGeomFur.cginc" + #endif + + #ifdef VIGNETTE_MASKED + #include "CGI_PoiLighting.cginc" + #endif + + #include "CGI_PoiMainTex.cginc" + + #ifdef GEOM_TYPE_BRANCH + #include "CGI_PoiDecal.cginc" + #endif + + #ifdef CHROMATIC_ABERRATION + #include "CGI_PoiVoronoi.cginc" + #endif + + #ifdef _DETAIL_MULX2 + #include "CGI_PoiPanosphere.cginc" + #endif + + #ifdef EFFECT_BUMP + #include "CGI_PoiMSDF.cginc" + #endif + + #ifdef GRAIN + #include "CGI_PoiDepthColor.cginc" + #endif + + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _GLOSSYREFLECTIONS_OFF + #include "CGI_PoiRimLighting.cginc" + #endif + + #ifdef _MAPPING_6_FRAMES_LAYOUT + #include "CGI_PoiEnvironmentalRimLighting.cginc" + #endif + + #ifdef _METALLICGLOSSMAP + #include "CGI_PoiMetal.cginc" + #endif + + #ifdef _COLORADDSUBDIFF_ON + #include "CGI_PoiMatcap.cginc" + #endif + + #ifdef _SPECGLOSSMAP + #include "CGI_PoiSpecular.cginc" + #endif + + #ifdef BLOOM + #include "CGI_PoiVideo.cginc" + #endif + + #ifdef _TERRAIN_NORMAL_MAP + #include "CGI_PoiSubsurfaceScattering.cginc" + #endif + + #include "CGI_PoiBlending.cginc" + #include "CGI_PoiGrab.cginc" + + #ifdef _SUNDISK_SIMPLE + #include "CGI_PoiGlitter.cginc" + #endif + + #ifdef _EMISSION + #include "CGI_PoiEmission.cginc" + #endif + + #ifdef _COLORCOLOR_ON + #include "CGI_PoiClearCoat.cginc" + #endif + + #include "CGI_PoiAlphaToCoverage.cginc" + + #ifdef _COLOROVERLAY_ON + #include "CGI_PoiDebug.cginc" + #endif + #include "CGI_PoiFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta new file mode 100644 index 00000000..a9bf0382 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 25d8b02d06f961e4a964374a700f15f6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc new file mode 100644 index 00000000..5e365972 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc @@ -0,0 +1,26 @@ +#ifndef POI_PASS_OUTLINE + #define POI_PASS_OUTLINE + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "CGI_PoiMacros.cginc" + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiOutlineVert.cginc" + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiLighting.cginc" + #include "CGI_PoiMainTex.cginc" + #include "CGI_PoiData.cginc" + #include "CGI_PoiDithering.cginc" + #include "CGI_PoiOutlineFrag.cginc" +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta new file mode 100644 index 00000000..9d677afa --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f1cc4c6e7ed93d54f81e3c7699e960d4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc new file mode 100644 index 00000000..d21a5d4d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc @@ -0,0 +1,44 @@ +#ifndef POI_PASS_SHADOW + #define POI_PASS_SHADOW + + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiShadowIncludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiMirror.cginc" + #include "CGI_PoiSpawnInFrag.cginc" + + #include "CGI_PoiV2F.cginc" + #include "CGI_PoiData.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + #include "CGI_PoiDithering.cginc" + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + #include "CGI_PoiSpawnInVert.cginc" + #include "CGI_PoiShadowVert.cginc" + #include "CGI_PoiShadowFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta new file mode 100644 index 00000000..02ac2a0f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2fc6b1aa60647674f9960ac28cfc86b3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc new file mode 100644 index 00000000..d4cd1697 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc @@ -0,0 +1,131 @@ +#ifndef POI_RGBMASK + #define POI_RGBMASK + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RGBMask); float4 _RGBMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RedTexure); float4 _RedTexure_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GreenTexture); float4 _GreenTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlueTexture); float4 _BlueTexture_ST; + + #ifdef GEOM_TYPE_MESH + POI_NORMAL_NOSAMPLER(_RgbNormalR); + POI_NORMAL_NOSAMPLER(_RgbNormalG); + POI_NORMAL_NOSAMPLER(_RgbNormalB); + float _RgbNormalsEnabled; + #endif + + float4 _RedColor; + float4 _GreenColor; + float4 _BlueColor; + + float4 _RGBMaskPanning; + float4 _RGBRedPanning; + float4 _RGBGreenPanning; + float4 _RGBBluePanning; + + float _RGBBlendMultiplicative; + + float _RGBMaskUV; + float _RGBRed_UV; + float _RGBGreen_UV; + float _RGBBlue_UV; + float _RGBUseVertexColors; + float _RGBNormalBlend; + + static float3 rgbMask; + + void calculateRGBNormals(inout half3 mainTangentSpaceNormal) + { + #ifdef GEOM_TYPE_MESH + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + + if(float(0)) + { + + if(float(0) == 0) + { + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.r); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.g); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.b); + } + return; + } + else + { + half3 newNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0) * rgbMask.r); + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.g); + normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.b); + mainTangentSpaceNormal = BlendNormals(newNormal, mainTangentSpaceNormal); + return; + } + } + #endif + } + + float3 calculateRGBMask(float3 baseColor) + { + //If RGB normals are in use this data will already exist + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + float4 red = POI2D_SAMPLER_PAN(_RedTexure, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 green = POI2D_SAMPLER_PAN(_GreenTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 blue = POI2D_SAMPLER_PAN(_BlueTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + + if(float(0)) + { + float3 RGBColor = 1; + RGBColor = lerp(RGBColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + baseColor *= RGBColor; + } + else + { + baseColor = lerp(baseColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + } + + return baseColor; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta new file mode 100644 index 00000000..5c9a8812 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 19bc02de8c3422841b18681ee0fe9674 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc new file mode 100644 index 00000000..137ef6de --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc @@ -0,0 +1,4 @@ +#ifndef POI_RNG + #define POI_RNG + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta new file mode 100644 index 00000000..bace7020 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1156bada28b4b534a99f7bec31123790 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..11f3eea2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,41 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + float _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin; + float _CameraAngleMax; + float _ModelAngleMin; + float _ModelAngleMax; + float _AngleMinAlpha; + float _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = float(45) / 180; + half cameraAngleMax = float(90) / 180; + half modelAngleMin = float(45) / 180; + half modelAngleMax = float(90) / 180; + float3 pos = float(0) == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(float4(0,0,1,0)))); + half cameraLookAtModel = remapClamped(.5 * dot(cameraToModelDirection, getCameraForward()) + .5, cameraAngleMax, cameraAngleMin, 0, 1); + half modelLookAtCamera = remapClamped(.5 * dot(-cameraToModelDirection, modelForwardDirection) + .5, modelAngleMax, modelAngleMin, 0, 1); + if (float(0) == 0) + { + return max(cameraLookAtModel, float(0)); + } + else if(float(0) == 1) + { + return max(modelLookAtCamera, float(0)); + } + else if(float(0) == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, float(0)); + } + return 1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta new file mode 100644 index 00000000..22b5af5d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 31b2b75afa90af44e991c8c652c342f7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc new file mode 100644 index 00000000..d4571c0c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc @@ -0,0 +1,47 @@ +#ifndef POI_RIM + #define POI_RIM + + float4 _RimLightColor; + float _RimLightingInvert; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float _ShadowMix; + float _ShadowMixThreshold; + float _ShadowMixWidthMod; + float _EnableRimLighting; + float _RimBrighten; + float _RimLightNormal; + + POI_TEXTURE_NOSAMPLER(_RimTex); + POI_TEXTURE_NOSAMPLER(_RimMask); + POI_TEXTURE_NOSAMPLER(_RimWidthNoiseTexture); + + float _RimWidthNoiseStrength; + + float4 rimColor = float4(0, 0, 0, 0); + float rim = 0; + + void applyRimLighting(inout float4 albedo, inout float3 rimLightEmission) + { + float rimNoise = POI2D_SAMPLER_PAN(_RimWidthNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimNoise = (rimNoise - .5) * float(0.1); + + float viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + + if (float(0)) + { + viewDotNormal = 1 - abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + } + float rimWidth = float(0.8); + rimWidth -= rimNoise; + float rimMask = POI2D_SAMPLER_PAN(_RimMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimColor = POI2D_SAMPLER_PAN(_RimTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + rimWidth = max(lerp(rimWidth, rimWidth * lerp(0, 1, poiLight.lightMap - float(0.5)) * float(0.5), float(0)),0); + rim = 1 - smoothstep(min(float(0.25), rimWidth), rimWidth, viewDotNormal); + rim *= float4(1,1,1,1).a * rimColor.a * rimMask; + rimLightEmission = rim * lerp(albedo, rimColor, float(0)) * float(0); + albedo.rgb = lerp(albedo.rgb, lerp(albedo.rgb, rimColor, float(0)) + lerp(albedo.rgb, rimColor, float(0)) * float(0), rim); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta new file mode 100644 index 00000000..6d607de1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 92473a28db45cc74d99966ebbfd76efc +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc new file mode 100644 index 00000000..16701f61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc @@ -0,0 +1,116 @@ +#ifndef SHADOW_FRAG + #define SHADOW_FRAG + + float2 _MainDistanceFade; + float _ForceOpaque; + float _MainShadowClipMod; + float2 _AlphaMaskPan; + float _AlphaMaskUV; + sampler3D _DitherMaskLOD; + float2 _MainTexPan; + float _MainTextureUV; + + half4 fragShadowCaster( + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + V2FShadow i, uint facing: SV_IsFrontFace + #endif + ): SV_Target + { + poiMesh.uv[0] = i.uv; + poiMesh.uv[1] = i.uv1; + poiMesh.uv[2] = i.uv2; + poiMesh.uv[3] = i.uv3; + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + + + //Possible Bug with clip + float clipValue = clamp(float(0.5) + float(0), - .001, 1.001); + + poiMesh.vertexColor = saturate(i.vertexColor); + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + #if defined(UNITY_STANDARD_USE_SHADOW_UVS) + + half4 alpha = mainTexture; + + + if (float(0)) + { + if(IsInMirror()) + { + alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a; + } + } + + + alpha.a *= smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(i.modelPos, _WorldSpaceCameraPos)); + half alphaMask = POI2D_PAN(_AlphaMask, poiMesh.uv[float(0)], float4(0,0,0,0)); + alpha.a *= alphaMask; + alpha.a *= float4(1,1,1,1).a + .0001; + alpha.a += float(0); + alpha.a = saturate(alpha.a); + + + if(float(0) == 0) + { + alpha.a = 1; + } + + + if(float(0) == 1) + { + applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy); + } + + #ifdef POI_DISSOLVE + float3 fakeEmission = 1; + calculateDissolve(alpha, fakeEmission); + #endif + + if(float(0) == 1) + { + clip(alpha.a - 0.001); + } + + /* + return poiMesh.vertexColor.g; + + #ifdef POI_RANDOM + alpha.a *= i.angleAlpha; + #endif + + + if(float(0) >= 1) + { + applySpawnInShadow(uv[0], i.localPos); + + #if defined(POI_FLIPBOOK) + alpha.a *= applyFlipbookAlphaToShadow(uv[float(0)]); + #endif + } + */ + + if (float(0) == 1) + { + clip(alpha.a - clipValue); + } + + + if(float(0) > 1) + { + float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a; + clip(dither - 0.01); + } + + #endif + SHADOW_CASTER_FRAGMENT(i) + } + + #endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta new file mode 100644 index 00000000..56bed67b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 12d31ae59682593409c66f15ab23279d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc new file mode 100644 index 00000000..fd8f19a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc @@ -0,0 +1,41 @@ +#ifndef SHADOW_INCLUDES + #define SHADOW_INCLUDES + + #define UNITY_STANDARD_USE_SHADOW_UVS 1 + + float4 _Color; + sampler2D _AlphaMask; float4 _AlphaMask_ST; + + struct VertexInputShadow + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + struct V2FShadow + { + V2F_SHADOW_CASTER_NOPOS + float4 pos: SV_POSITION; + float2 uv: TEXCOORD1; + float2 uv1: TEXCOORD2; + float2 uv2: TEXCOORD3; + float2 uv3: TEXCOORD4; + float3 modelPos: TEXCOORD5; + float4 worldPos: TEXCOORD6; + float4 localPos: TEXCOORD7; + float3 angleAlpha: TEXCOORD8; + float4 grabPos: TEXCOORD9; + fixed3 barycentricCoordinates: TEXCOORD10; + float4 vertexColor: TEXCOORD11; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta new file mode 100644 index 00000000..d974d96e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3abf88f3b091c654596d668ea2838e94 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc new file mode 100644 index 00000000..f0b7184a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc @@ -0,0 +1,80 @@ +float _EnableTouchGlow; +float _EnableBulge; +float _VertexManipulationHeightUV; + +V2FShadow vertShadowCaster(VertexInputShadow v) +{ + V2FShadow o; + UNITY_SETUP_INSTANCE_ID(v); + + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(V2FShadow, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.uv = v.uv0; + o.uv1 = v.uv1; + o.uv2 = v.uv2; + o.uv3 = v.uv3; + + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, v.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.vertexColor = v.color; + + + if(_EnableTouchGlow || _EnableBulge) + { + o.pos = UnityObjectToClipPos(float3(0, 0, -5)); + o.localPos.xyz = float3(0, 0, -5); + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + } + + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + + o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal); + o.pos = UnityApplyLinearShadowBias(o.pos); + + return o; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta new file mode 100644 index 00000000..314b1720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 315a9e08ee65242418056da199b2c20b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc new file mode 100644 index 00000000..0c18d1ad --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc @@ -0,0 +1,58 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + #endif + + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST; + + float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos) + { + + if (_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + spawnInEmission = saturate(inverseGradient + _SpawnInAlpha + _SpawnInEmissionOffset +noise - 1) * _SpawnInEmissionColor; + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } + + void applySpawnInShadow(float2 uv, float3 localPos) + { + + if(_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float alpha = gradient - _SpawnInAlpha - noise + length(_SpawnInVertOffset); + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta new file mode 100644 index 00000000..6aaeda0b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d7157c8b55bf9f1469b5440142f506f4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc new file mode 100644 index 00000000..fdcc457f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc @@ -0,0 +1,40 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + + #endif + //sampler2D _SpawnInNoiseVert; float4 _SpawnInNoiseVert_ST; + + float calculateGradientValueVert(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv) + { + + if (_EnableScifiSpawnIn) + { + float noise = 0; + float gradient = calculateGradientValueVert(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + worldPos.xyz += saturate(inverseGradient + _SpawnInAlpha + _SpawnInVertOffsetOffset -1) * float3(0, _SpawnInVertOffset, 0); + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + //float noise = tex2Dlod(_SpawnInNoise, float4(TRANSFORM_TEX(uv, _SpawnInNoise))).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta new file mode 100644 index 00000000..f3052d64 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9481bb929c5a89044885855fcbab0e71 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc new file mode 100644 index 00000000..f5287465 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc @@ -0,0 +1,488 @@ +#ifndef POI_SPECULAR + #define POI_SPECULAR + float _SpecWhatTangent; + float _SpecularType; + float _SmoothnessFrom; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap); + POI_TEXTURE_NOSAMPLER(_SpecularMap); + fixed _CenterOutSpecColor; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro); + float _SpecularAnisoJitterMirrored; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoFakeUV); + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap); + POI_TEXTURE_NOSAMPLER(_SpecularMask); + float _SpecularAnisoJitterMicroMultiplier; + float _SpecularAnisoJitterMacroMultiplier; + float4 _SpecularTint; + float _SpecularSmoothness; + float _Spec1Offset; + float _Spec1JitterStrength; + float _Spec2Smoothness; + float _Spec2Offset; + float _Spec2JitterStrength; + float _AnisoUseTangentMap; + float _AnisoSpec1Alpha; + float _AnisoSpec2Alpha; + float _SpecularInvertSmoothness; + half _SpecularMetallic; + float _SpecularNormal; + float _SpecularNormal1; + // Toon + fixed _SpecularToonStart; + fixed _SpecularToonEnd; + half4 _SpecularToonInnerOuter; + + float _EnableSpecular1; + float _SpecWhatTangent1; + float _SpecularType1; + float _SmoothnessFrom1; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMap1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro1); + float _SpecularAnisoJitterMirrored1; + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMask1); + float _SpecularAnisoJitterMicroMultiplier1; + float _SpecularAnisoJitterMacroMultiplier1; + float4 _SpecularTint1; + float _SpecularSmoothness1; + float _Spec1Offset1; + float _Spec1JitterStrength1; + float _Spec2Smoothness1; + float _Spec2Offset1; + float _Spec2JitterStrength1; + float _AnisoUseTangentMap1; + float _AnisoSpec1Alpha1; + float _AnisoSpec2Alpha1; + float _SpecularInvertSmoothness1; + half _SpecularMetallic1; + // Toon + half4 _SpecularToonInnerOuter1; + fixed _SpecularToonStart1; + fixed _SpecularToonEnd1; + + UnityIndirect ZeroIndirect() + { + UnityIndirect ind; + ind.diffuse = 0; + ind.specular = 0; + return ind; + } + + // From unity just putting it here in case I want to mod it + half4 poiRealisticSpecular(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, + float3 normal, float3 halfDir, + UnityLight light, UnityIndirect gi) + { + float perceptualRoughness = SmoothnessToPerceptualRoughness(smoothness); + #define UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV 0 + + #if UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV + half shiftAmount = dot(normal, poiCam.viewDir); + normal = shiftAmount < 0.0f ? normal + poiCam.viewDir * (-shiftAmount + 1e-5f): normal; + float nv = saturate(dot(normal, poiCam.viewDir)); + #else + half nv = abs(dot(normal, poiCam.viewDir)); + #endif + + float nl = saturate(dot(normal, light.dir)); + float nh = saturate(dot(normal, halfDir)); + + half lv = saturate(dot(light.dir, poiCam.viewDir)); + half lh = saturate(dot(light.dir, halfDir)); + + half diffuseTerm = DisneyDiffuse(nv, nl, lh, perceptualRoughness) * nl; + + float roughness = PerceptualRoughnessToRoughness(perceptualRoughness); + + roughness = max(roughness, 0.002); + float V = SmithJointGGXVisibilityTerm(nl, nv, roughness); + float D = GGXTerm(nh, roughness); + + float specularTerm = V * D * UNITY_PI; + + #ifdef UNITY_COLORSPACE_GAMMA + specularTerm = sqrt(max(1e-4h, specularTerm)); + #endif + + specularTerm = max(0, specularTerm * nl); + #if defined(_POI_SPECULARHIGHLIGHTS_OFF) + specularTerm = 0.0; + #endif + + half surfaceReduction; + #ifdef UNITY_COLORSPACE_GAMMA + surfaceReduction = 1.0 - 0.28 * roughness * perceptualRoughness; + #else + surfaceReduction = 1.0 / (roughness * roughness + 1.0); + #endif + + specularTerm *= any(specColor) ? 1.0: 0.0; + + half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); + half3 color = diffColor * (gi.diffuse + light.color * diffuseTerm) + + specularTerm * light.color * FresnelTerm(specColor, lh) + + surfaceReduction * gi.specular * FresnelLerp(specColor, grazingTerm, nv); + + return half4(color, 1); + } + + half3 calculateRealisticSpecular(float4 albedo, float2 uv, float4 specularTint, float specularSmoothness, float invertSmoothness, float mixAlbedoWithTint, float4 specularMap, float3 specularLight, float3 normal, float attenuation, float3 lightDirection, float nDotL, float3 halfDir) + { + half oneMinusReflectivity; + half3 finalSpecular; + UnityLight unityLight; + unityLight.color = specularLight; + unityLight.dir = lightDirection; + unityLight.ndotl = nDotL; + + + if (float(1) == 0) + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularMap.rgb * specularTint.rgb, /*out*/ oneMinusReflectivity); + finalSpecular = poiRealisticSpecular(diffColor, specularMap.rgb, oneMinusReflectivity, specularMap.a * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + else + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularTint.rgb, /*out*/ oneMinusReflectivity); + float smoothness = max(max(specularMap.r, specularMap.g), specularMap.b); + finalSpecular = poiRealisticSpecular(diffColor, 1, oneMinusReflectivity, smoothness * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + finalSpecular *= lerp(1, albedo.rgb, mixAlbedoWithTint); + return finalSpecular; + } + + half3 calculateToonSpecular(float4 albedo, float2 uv, float2 specularToonInnerOuter, float specularMixAlbedoIntoTint, float smoothnessFrom, float4 specularMap, float3 specularLight, float3 normal, float3 halfDir, float attenuation) + { + half3 finalSpecular = smoothstep(1 - specularToonInnerOuter.y, 1 - specularToonInnerOuter.x, dot(halfDir, normal)) * specularLight; + + if (smoothnessFrom == 0) + { + finalSpecular.rgb *= specularMap.rgb * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + finalSpecular *= specularMap.a; + } + else + { + finalSpecular *= specularMap.r * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + return finalSpecular; + } + + float3 strandSpecular(float TdotL, float TdotV, float specPower, float nDotL) + { + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + float Specular = saturate(nDotL) * pow(saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV), specPower); + half normalization = sqrt((specPower + 1) * ((specPower) + 1)) / (8 * pi); + Specular *= normalization; + return Specular; + } + + half3 AnisotropicSpecular( + float specWhatTangent, float anisoUseTangentMap, float specularSmoothness, float spec2Smoothness, + float anisoSpec1Alpha, float anisoSpec2Alpha, float4 specularTint, float specularMixAlbedoIntoTint, float4 specularMap, float3 specularLight, float3 lightDirection, float3 halfDir, float nDotL, float jitter, float4 packedTangentMap, in float4 albedo) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + tangentDirectionMap += float(0) +jitter; + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + half specPower = RoughnessToSpecPower(1.0 - specularSmoothness * specularMap.a); + half spec2Power = RoughnessToSpecPower(1.0 - spec2Smoothness * specularMap.a); + half Specular = 0; + + float3 spec = strandSpecular(TdotL, TdotV, specPower, nDotL) * anisoSpec1Alpha; + float3 spec2 = strandSpecular(TdotL, TdotV, spec2Power, nDotL) * anisoSpec2Alpha; + + return max(spec, spec2) * specularMap.rgb * specularTint.a * specularLight * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + + inline float3 toonAnisoSpecular(float specWhatTangent, float anisoUseTangentMap, float3 lightDirection, float halfDir, float4 specularMap, float nDotL, fixed gradientStart, fixed gradientEnd, float4 specColor, float4 finalColor, fixed metallic, float jitter, float mirrored, float4 packedTangentMap) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + if (!mirrored) + { + tangentDirectionMap += jitter; + } + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + + float specular = saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV); + + fixed smoothAlpha = specular; + if(mirrored) + { + smoothAlpha = max(specular - jitter, 0); + } + + specular = smoothstep(gradientStart, gradientEnd, smoothAlpha); + + /* + + if(_CenterOutSpecColor) + { + specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, clamp(float2(specular, specular), 0.01, .99), float4(0,0,0,0)); + } + */ + + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + + return saturate(nDotL) * specular * poiLight.color * specColor * specularMap.rgb * lerp(1, finalColor, metallic) * specularMap.a; + } + + inline float SpecularHQ(half roughness, half dotNH, half dotLH) + { + roughness = saturate(roughness); + roughness = max((roughness * roughness), 0.002); + half roughnessX2 = roughness * roughness; + + half denom = dotNH * dotNH * (roughnessX2 - 1.0) + 1.0f; + half D = roughnessX2 / (3.14159 * denom * denom); + + half k = roughness / 2.0f; + half k2 = k * k; + half invK2 = 1.0f - k2; + + half vis = rcp(dotLH * dotLH * invK2 + k2); + + float specTerm = vis * D; + + return specTerm; + } + + float3 calculateNewSpecular(in float3 specularMap, uint colorFrom, in float4 albedo, in float3 specularTint, in float specularMetallic, in float specularSmoothness, in half dotNH, in half dotLH, in float3 lightColor, in float attenuation) + { + float3 specColor = specularTint; + float metallic = specularMetallic; + float roughness = 1 - specularSmoothness; + float perceptualRoughness = roughness; + //float reflectInverse = DielectricSpec.a - metallic * DielectricSpec.a; + //float reflectivity = 1.0h - reflectInverse; + float3 specMapColor = lerp(specularMap, 1, colorFrom); + float3 specularColor = lerp(DielectricSpec.rgb * specMapColor, lerp(specularMap, albedo.rgb, colorFrom), metallic); + //albedo.rgb *= reflectInverse; + return clamp(specularColor * lightColor * attenuation * specularTint * SpecularHQ(perceptualRoughness, dotNH, dotLH), 0, lightColor * specularTint); + } + + float3 calculateSpecular(in float4 albedo) + { + half3 finalSpecular = 0; + half3 finalSpecular1 = 0; + float4 realisticAlbedo = albedo; + float4 realisticAlbedo1 = albedo; + float4 specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half metallic = POI2D_SAMPLER_PAN(_SpecularMetallicMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + half specularMask = POI2D_SAMPLER_PAN(_SpecularMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float attenuation = saturate(poiLight.nDotL); + #ifdef POI_LIGHTING + + if (float(0) && float(0) == 0 && float(0) == 1) + { + attenuation = poiLight.rampedLightMap; + } + #endif + + + if(float(1) == 1) // Realistic + { + if (float(1) == 1) + { + specularMap.a = specularMap.r; + specularMap.rgb = 1; + } + + if(float(0)) + { + specularMap.a = 1 - specularMap.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, attenuation); + #else + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic, jitter, float(0), packedTangentMap); + finalSpecular *= attenuation; + } + + #ifdef FORWARD_BASE_PASS + + if(float(1) == 2) // Toon + { + finalSpecular += calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic, float(1), specularMap, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += AnisotropicSpecular(float(0), float(0), float(1), float(0), float(1), float(1), float4(1,1,1,1), metallic, specularMap, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular *= float4(1,1,1,1); + finalSpecular *= attenuation; + } + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + + finalSpecular *= float4(1,1,1,1).a; + finalSpecular = finalSpecular.rgb; + finalSpecular *= specularMask; + + + if (float(0)) + { + float4 specularMap1 = POI2D_SAMPLER_PAN(_SpecularMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half specularMask1 = POI2D_SAMPLER_PAN(_SpecularMask1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + half metallic1 = POI2D_SAMPLER_PAN(_SpecularMetallicMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + float attenuation = poiLight.attenuation; + + if(float(1) == 1) // Realistic + { + + if (float(1) == 1) + { + specularMap1.a = specularMap1.r; + specularMap1.rgb = 1; + } + else + { + realisticAlbedo1.rgb = specularMap1.rgb; + } + + + if(float(0)) + { + specularMap1.a = 1 - specularMap1.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, saturate(poiLight.nDotL)); + #else + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap1, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic1, jitter, float(0), packedTangentMap); + finalSpecular1 *= poiLight.attenuation; + } + + + if(float(1) == 2) // Toon + { + finalSpecular1 = calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic1, float(1), specularMap1, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular1 *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 = AnisotropicSpecular(float(0), float(0), float(0.75), float(0), float(1), float(1), float4(1,1,1,1), metallic1, specularMap1, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular1 *= float4(1,1,1,1); + finalSpecular1 *= poiLight.attenuation; + } + + #ifdef FORWARD_BASE_PASS + // Non Important Lights + #ifdef VERTEXLIGHT_ON + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular1 += calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + #endif + + finalSpecular1 *= float4(1,1,1,1).a; + finalSpecular1 = finalSpecular1.rgb; + finalSpecular1 *= specularMask1; + } + return finalSpecular + finalSpecular1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta new file mode 100644 index 00000000..d7826b20 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5147dce30160cd5479d00d294703a297 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc new file mode 100644 index 00000000..b7c21c01 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc @@ -0,0 +1,28 @@ +#ifndef SUBSURFACE + #define SUBSURFACE + + float _SSSThicknessMod; + float _SSSSCale; + float _SSSPower; + float _SSSDistortion; + float4 _SSSColor; + float _EnableSSS; + + POI_TEXTURE_NOSAMPLER(_SSSThicknessMap); + + float3 calculateSubsurfaceScattering() + { + float SSS = 1 - POI2D_SAMPLER_PAN(_SSSThicknessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + half3 vLTLight = poiLight.direction + poiMesh.normals[0] * float(1); + half flTDot = pow(saturate(dot(poiCam.viewDir, -vLTLight)), float(5)) * float(0.25); + #ifdef FORWARD_BASE_PASS + half3 fLT = (flTDot) * saturate(SSS + - 1 * float(0)); + #else + half3 fLT = poiLight.attenuation * (flTDot) * saturate(SSS + - 1 * float(0)); + #endif + + return fLT * poiLight.color * float4(1,0,0,1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta new file mode 100644 index 00000000..073902fe --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d129b4960956d5e43a74496102a9a426 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc new file mode 100644 index 00000000..4912473d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc @@ -0,0 +1,117 @@ +#ifndef POI_TESSELLATION + #define POI_TESSELLATION + + float _TessellationPhongStrength; + float _TessellationEdgeLength; + float _TessellationExtrusionAmount; + float _TessellationUniform; + + struct TessellationControlPoint + { + float4 vertex: INTERNALTESSPOS; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + }; + + struct TessellationFactors + { + float edge[3]: SV_TessFactor; + float inside: SV_InsideTessFactor; + }; + + TessellationControlPoint poiTessellationVert(appdata v) + { + TessellationControlPoint p; + p.vertex = v.vertex; + p.normal = v.normal; + p.tangent = v.tangent; + p.color = v.color; + p.uv0 = v.uv0; + p.uv1 = v.uv1; + p.uv2 = v.uv2; + p.uv3 = v.uv3; + return p; + } + + float TessellationEdgeFactor(float3 p0, float3 p1) + { + #ifndef _FADING_ON + float edgeLength = distance(p0, p1); + + float3 edgeCenter = (p0 + p1) * 0.5; + float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos); + + return edgeLength * _ScreenParams.y / + (_TessellationEdgeLength * viewDistance); + #else + return _TessellationUniform; + #endif + } + + TessellationFactors poiPatchConst( + InputPatch < TessellationControlPoint, 3 > patch + ) + { + + TessellationFactors f; + float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz; + float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz; + float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz; + f.edge[0] = TessellationEdgeFactor(p1, p2); + f.edge[1] = TessellationEdgeFactor(p2, p0); + f.edge[2] = TessellationEdgeFactor(p0, p1); + f.inside = (TessellationEdgeFactor(p1, p2) + + TessellationEdgeFactor(p2, p0) + + TessellationEdgeFactor(p0, p1)) * (1 / 3.0); + return f; + } + + [UNITY_domain("tri")] + [UNITY_outputcontrolpoints(3)] + [UNITY_outputtopology("triangle_cw")] + [UNITY_partitioning("fractional_odd")] + [UNITY_patchconstantfunc("poiPatchConst")] + TessellationControlPoint poiHull( + InputPatch < TessellationControlPoint, 3 > patch, + uint id: SV_OutputControlPointID + ) + { + return patch[id]; + } + + [UNITY_domain("tri")] + v2f poiDomain( + TessellationFactors factors, + OutputPatch < TessellationControlPoint, 3 > patch, + float3 barycentricCoordinates: SV_DomainLocation + ) + { + appdata data; + + #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z; + + MY_DOMAIN_PROGRAM_INTERPOLATE(vertex) + float3 pp[3]; + for (int i = 0; i < 3; ++ i) + { + pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + } + data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz; + MY_DOMAIN_PROGRAM_INTERPOLATE(normal) + data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount; + MY_DOMAIN_PROGRAM_INTERPOLATE(tangent) + MY_DOMAIN_PROGRAM_INTERPOLATE(color) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv0) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv1) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv2) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv3) + + return vert(data); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta new file mode 100644 index 00000000..874da725 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6057059fcef2e52428074668cb1c4671 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc new file mode 100644 index 00000000..38d5fd75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc @@ -0,0 +1,34 @@ +#ifndef POI_UV_DISTORTION + #define POI_UV_DISTORTION + + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture); float4 _DistortionFlowTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture1); float4 _DistortionFlowTexture1_ST; + POI_TEXTURE_NOSAMPLER(_DistortionMask); + + float _DistortionStrength; + float _DistortionStrength1; + float2 _DistortionSpeed; + float2 _DistortionSpeed1; + + float2 getTorusUv(float2 uv) + { + // translated to hlsl from https://www.shadertoy.com/view/Md3Bz7 + // http://web.cs.ucdavis.edu/~amenta/s12/findnorm.pdf + float phi = 6.28318530718f * uv.x; + float theta = 6.28318530718f * uv.y; + float3 c = cos(float3(phi, phi + 1.57079632679f, theta)); + float2 result = float2(c.x * c.z, -c.y * c.z); + return result * 0.5 + 0.5; + } + + float2 calculateDistortionUV(float2 uv) + { + half distortionMask = POI2D_SAMPLER_PAN(_DistortionMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flowVector = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + float4 flowVector1 = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture1, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture1) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + flowVector *= float(0.5); + flowVector1 *= float(0.5); + return uv + ((flowVector.xy + flowVector1.xy) / 2) * distortionMask; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta new file mode 100644 index 00000000..f472e9f0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ee22b04c556ba5748866520e7fcaf65d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc new file mode 100644 index 00000000..0e29a179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc @@ -0,0 +1,34 @@ +#ifndef POI_V2F + #define POI_V2F + + struct v2f + { + float4 pos: SV_POSITION; + float4 uv0: TEXCOORD0; + float4 uv1: TEXCOORD1; + float3 normal: TEXCOORD2; + float3 tangentViewDir: TEXCOORD3; + float4 tangent: TEXCOORD4; + float4 worldPos: TEXCOORD5; + float4 localPos: TEXCOORD6; + float4 grabPos: TEXCOORD7; + float3 barycentricCoordinates: TEXCOORD8; + #if defined(GRAIN) + float4 worldDirection: TEXCOORD9; + #endif + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV: TEXCOORD10; + #endif + float3 modelPos: TEXCOORD11; + float angleAlpha: TEXCOORD12; + float4 vertexColor: TEXCOORD14; + #ifdef FUR + float furAlpha: TEXCOORD15; + #endif + UNITY_SHADOW_COORDS(16) + UNITY_FOG_COORDS(17) + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta new file mode 100644 index 00000000..3be85bb3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7a20465c7f6e0c545843dfe0624e74c2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc new file mode 100644 index 00000000..1558e937 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc @@ -0,0 +1,126 @@ +#ifndef POI_VERT + #define POI_VERT + + float _VertexManipulationHeightUV; + float _VertexUnwrap; + + #define PM UNITY_MATRIX_P + + inline float4 CalculateFrustumCorrection() + { + float x1 = -PM._31 / (PM._11 * PM._34); + float x2 = -PM._32 / (PM._22 * PM._34); + return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23); + } + + v2f vert(appdata v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + #ifdef _COLOROVERLAY_ON + v.vertex.xyz = lerp(v.vertex.xyz, float3(v.uv0.x - .5, v.uv0.y - .5, 0), float(0)); + #endif + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.tangent, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + #ifdef _REQUIRE_UV2 //POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.normal = UnityObjectToWorldNormal(v.normal); + //o.localPos.x *= -1; + //o.localPos.xz += sin(o.localPos.y * 100 + _Time.y * 5) * .0025; + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, o.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + o.vertexColor = v.color; + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + + #ifdef POI_BULGE + bulgyWolgy(o); + #endif + + + o.angleAlpha = 1; + #ifdef _SUNDISK_NONE //POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + #if defined(LIGHTMAP_ON) + o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0.xy); + UNITY_TRANSFER_FOG(o, o.pos); + + #if defined(_PARALLAXMAP) // POI_PARALLAX + v.tangent.xyz = normalize(v.tangent.xyz); + v.normal = normalize(v.normal); + float3x3 objectToTangent = float3x3( + v.tangent.xyz, + cross(v.normal, v.tangent.xyz) * v.tangent.w, + v.normal + ); + o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex)); + #endif + + #ifdef POI_META_PASS + o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); + #endif + + #if defined(GRAIN) + float4 worldDirection; + + worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos; + worldDirection.w = dot(o.pos, CalculateFrustumCorrection()); + o.worldDirection = worldDirection; + #endif + + return o; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta new file mode 100644 index 00000000..6d1a8460 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1ae180d4686400844b2b93570df4eeb5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc new file mode 100644 index 00000000..94c16148 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc @@ -0,0 +1,93 @@ +#ifndef POI_VERTEX_MANIPULATION + #define POI_VERTEX_MANIPULATION + + #include "CGI_PoiMath.cginc" + + float4 _VertexManipulationLocalTranslation; + float4 _VertexManipulationLocalRotation; + float4 _VertexManipulationLocalScale; + float4 _VertexManipulationWorldTranslation; + + float _VertexManipulationHeight; + float _VertexManipulationHeightBias; + sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST; + float2 _VertexManipulationHeightPan; + + + //Vertex Glitching + float _EnableVertexGlitch; + sampler2D _VertexGlitchMap; float4 _VertexGlitchMap_ST; + float _VertexGlitchThreshold; + float _VertexGlitchFrequency; + float _VertexGlitchStrength; + // Rounding + float _VertexRoundingDivision; + float _VertexRoundingEnabled; + + void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyVertexRounding(inout float4 worldPos, inout float4 localPos) + { + + if (float(0)) + { + worldPos.xyz = (ceil(worldPos * float(500)) / float(500)) - 1 / float(500) * .5; + localPos = mul(unity_WorldToObject, worldPos); + } + } + + void applyVertexGlitching(inout float4 worldPos, inout float4 localPos) + { + + if(_EnableVertexGlitch) + { + float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + forward.y = 0; + forward = normalize(forward); + float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward)); + float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1; + /* + float uvl = worldPos.y * _VertexGlitchDensity + _Time.x * _VertexGlitchMapPanSpeed; + float uvr = worldPos.y * _VertexGlitchDensity - _Time.x * _VertexGlitchMapPanSpeed; + float glitchAmountLeft = tex2Dlod(_VertexGlitchMap, float4(uvl, uvl, 0, 0)).r; + float glitchAmountRight = -tex2Dlod(_VertexGlitchMap, float4(uvr, uvr, 0, 0)).r; + float glitchAmount = glitchAmountLeft + glitchAmountRight; + */ + float time = _Time.y * _VertexGlitchFrequency; + float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4; + worldPos.xyz += glitchAmount * glitchDirection * (_VertexGlitchStrength * .01) * step(_VertexGlitchThreshold, randomGlitch); + localPos = mul(unity_WorldToObject, worldPos); + } + } + +#endif +// diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta new file mode 100644 index 00000000..14f5eba4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 32aa6ff3f0d8678409c7b692ec5feea3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc new file mode 100644 index 00000000..ec2d37e4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc @@ -0,0 +1,266 @@ +#ifndef POI_VIDEO + #define POI_VIDEO + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoPixelTexture); float4 _VideoPixelTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoMaskTexture); float4 _VideoMaskTexture_ST; + + float _VideoUVNumber; + float _VideoType; + float3 pixels; + float2 _VideoResolution; + sampler2D _VideoGameboyRamp; + half _VideoBacklight; + half _VideoCRTRefreshRate; + half _VideoCRTPixelEnergizedTime; + half _VideoEnableVideoPlayer; + half _VideoRepeatVideoTexture; + half _VideoPixelateToResolution; + float2 _VideoMaskPanning; + // Video Settings + half _VideoSaturation; + half _VideoContrast; + float2 _VideoTiling; + float2 _VideoOffset; + float2 _VideoPanning; + //Debug + half _VideoEnableDebug; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoDebugTexture); float4 _VideoDebugTexture_ST; + + + sampler2D _VRChat_VideoPlayer; + float4 _VRChat_VideoPlayer_TexelSize; + + float4 globalVideoPlayerColor; + float3 globalColorToDisplayOnScreen; + float globalVideoOn; + + float3 applyBacklight(float3 albedo, half backlightStrength) + { + return max(backlightStrength, albedo.rgb); + } + + float3 applyViewAngleTN(float3 albedo) + { + float3 reflectionVector = normalize(reflect(poiCam.viewDir.rgb, poiMesh.normals[1].rgb)); + float upwardShift = dot(reflectionVector, poiMesh.binormal); + upwardShift = pow(upwardShift, 1); + float sideShift = dot(reflectionVector, poiMesh.tangent); + sideShift *= pow(sideShift, 3); + #if !UNITY_COLORSPACE_GAMMA + albedo = LinearToGammaSpace(albedo); + #endif + albedo = saturate(lerp(half3(0.5, 0.5, 0.5), albedo, upwardShift + 1)); + #if !UNITY_COLORSPACE_GAMMA + albedo = GammaToLinearSpace(albedo); + #endif + albedo = (lerp(albedo, albedo.gbr, sideShift)); + return albedo; + } + + float calculateCRTPixelBrightness() + { + float totalPixels = _VideoResolution.x * _VideoResolution.y; + float2 uvPixel = float2((floor((1 - poiMesh.uv[_VideoUVNumber].y) * _VideoResolution.y)) / _VideoResolution.y, (floor(poiMesh.uv[_VideoUVNumber].x * _VideoResolution.x)) / _VideoResolution.x); + float currentPixelNumber = _VideoResolution.x * (_VideoResolution.y * uvPixel.x) + _VideoResolution.y * uvPixel.y; + float currentPixelAlpha = currentPixelNumber / totalPixels; + half electronBeamAlpha = frac(_Time.y * _VideoCRTRefreshRate); + float electronBeamPixelNumber = totalPixels * electronBeamAlpha; + + float DistanceInPixelsFromCurrentElectronBeamPixel = 0; + if (electronBeamPixelNumber >= currentPixelNumber) + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber - currentPixelNumber; + } + else + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber + (totalPixels - currentPixelNumber); + } + float CRTFrameTime = 1 / _VideoCRTRefreshRate; + float timeSincecurrentPixelWasHitByElectronBeam = (DistanceInPixelsFromCurrentElectronBeamPixel / totalPixels); + + return saturate(_VideoCRTPixelEnergizedTime - timeSincecurrentPixelWasHitByElectronBeam); + } + + void applyContrastSettings(inout float3 pixel) + { + #if !UNITY_COLORSPACE_GAMMA + pixel = LinearToGammaSpace(pixel); + #endif + pixel = saturate(lerp(half3(0.5, 0.5, 0.5), pixel, _VideoContrast + 1)); + #if !UNITY_COLORSPACE_GAMMA + pixel = GammaToLinearSpace(pixel); + #endif + } + + void applySaturationSettings(inout float3 pixel) + { + pixel = lerp(pixel.rgb, dot(pixel.rgb, float3(0.3, 0.59, 0.11)), -_VideoSaturation); + } + + void applyVideoSettings(inout float3 pixel) + { + applySaturationSettings(pixel); + applyContrastSettings(pixel); + } + + void calculateLCD(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateTN(inout float4 albedo) + { + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + globalColorToDisplayOnScreen = applyViewAngleTN(globalColorToDisplayOnScreen); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateCRT(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + float brightness = calculateCRTPixelBrightness(); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * brightness * _VideoBacklight; + } + void calculateOLED(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateGameboy(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + half brightness = saturate((globalColorToDisplayOnScreen.r + globalColorToDisplayOnScreen.g + globalColorToDisplayOnScreen.b) * .3333333); + albedo.rgb = tex2D(_VideoGameboyRamp, brightness); + } + void calculateProjector(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + + float3 projectorColor = albedo * globalColorToDisplayOnScreen * _VideoBacklight; + albedo.r = clamp(projectorColor.r, albedo.r, 1000); + albedo.g = clamp(projectorColor.g, albedo.g, 1000); + albedo.b = clamp(projectorColor.b, albedo.b, 1000); + } + + void applyScreenEffect(inout float4 albedo, inout float3 videoEmission) + { + float4 albedoBeforeScreen = albedo; + + pixels = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoPixelTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoPixelTexture) * _VideoResolution); + globalVideoOn = 0; + + if(_VideoEnableVideoPlayer == 1) + { + float4 videoTexture = 0; + + if(_VideoPixelateToResolution) + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, round(TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoResolution + .5) / _VideoResolution); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, round(poiMesh.uv[_VideoUVNumber] * _VideoResolution + .5) / _VideoResolution); + } + } + else + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoTiling + _VideoOffset); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, ((poiMesh.uv[_VideoUVNumber] + _Time.x * _VideoPanning) * _VideoTiling) + _VideoOffset); + } + } + if(videoTexture.a == 1) + { + globalColorToDisplayOnScreen = videoTexture.rgb; + globalVideoOn = 1; + } + } + + + if(_VideoRepeatVideoTexture == 1) + { + if(poiMesh.uv[_VideoUVNumber].x > 1 || poiMesh.uv[_VideoUVNumber].x < 0 || poiMesh.uv[_VideoUVNumber].y > 1 || poiMesh.uv[_VideoUVNumber].y < 0) + { + return; + } + } + + switch(_VideoType) + { + case 0: // LCD + { + calculateLCD(albedo); + break; + } + case 1: // TN + { + calculateTN(albedo); + break; + } + case 2: // CRT + { + calculateCRT(albedo); + break; + } + case 3: // OLED + { + calculateOLED(albedo); + break; + } + case 4: // Gameboy + { + calculateGameboy(albedo); + break; + } + case 5: // Projector + { + calculateProjector(albedo); + break; + } + } + + float screenMask = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoMaskTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoMaskTexture) + _Time.x * _VideoMaskPanning); + albedo = lerp(albedoBeforeScreen, albedo, screenMask); + videoEmission = max(albedo.rgb * screenMask - 1, 0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta new file mode 100644 index 00000000..eb2b7db9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d27860bcc436eb243a4a77b32ba4117a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc new file mode 100644 index 00000000..db3d3130 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc @@ -0,0 +1,304 @@ +#ifndef POI_VORONOI + #define POI_VORONOI + + #include "CGI_PoiRNG.cginc" + + float _VoronoiSpace; + float _VoronoiBlend; + float _VoronoiType; + float4 _VoronoiColor0; + float _VoronoiEmission0; + float4 _VoronoiColor1; + float _VoronoiEmission1; + float2 _VoronoiGradient; + float _VoronoiScale; + float3 _VoronoiSpeed; + float _VoronoiEnableRandomCellColor; + float2 _VoronoiRandomMinMaxSaturation; + float2 _VoronoiRandomMinMaxBrightness; + float3 randomPoint; + float _VoronoiEffectsMaterialAlpha; + + POI_TEXTURE_NOSAMPLER(_VoronoiMask); + POI_TEXTURE_NOSAMPLER(_VoronoiNoise); + float _VoronoiNoiseIntensity; + + float2 inoise(float3 P, float jitter) + { + float3 Pi = mod(floor(P), 289.0); + float3 Pf = frac(P); + float3 oi = float3(-1.0, 0.0, 1.0); + float3 of = float3(-0.5, 0.5, 1.5); + float3 px = Permutation(Pi.x + oi); + float3 py = Permutation(Pi.y + oi); + + float3 p, ox, oy, oz, dx, dy, dz; + float2 F = 1e6; + + for (int i = 0; i < 3; i ++) + { + for (int j = 0; j < 3; j ++) + { + p = Permutation(px[i] + py[j] + Pi.z + oi); // pij1, pij2, pij3 + + ox = frac(p * K) - Ko; + oy = mod(floor(p * K), 7.0) * K - Ko; + + p = Permutation(p); + + oz = frac(p * K) - Ko; + + dx = Pf.x - of[i] + jitter * ox; + dy = Pf.y - of[j] + jitter * oy; + dz = Pf.z - of + jitter * oz; + + float3 d = dx * dx + dy * dy + dz * dz; // dij1, dij2 and dij3, squared + + //Find lowest and second lowest distances + for (int n = 0; n < 3; n ++) + { + if (d[n] < F[0]) + { + F[1] = F[0]; + F[0] = d[n]; + randomPoint = p; + } + else if(d[n] < F[1]) + { + F[1] = d[n]; + } + } + } + } + + return F; + } + + float voronoi2D(in float2 x, float scale, float2 speed) + { + x *= scale; + x += speed * _Time.x; + float2 n = floor(x); + float2 f = frac(x); + + // first pass: regular voronoi + float2 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 g = float2(float(i), float(j)); + float2 o = random2(n + g); + float2 currentPoint = o; + + float2 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint.xy = currentPoint; + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + float2 g = mg + float2(float(q), float(r)); + float2 o = random2(n + g); + + float2 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + return md; + } + + float voronoi3D(in float3 x, float scale, float3 speed) + { + x *= scale; + x += speed * _Time.x; + float3 n = floor(x); + float3 f = frac(x); + + // first pass: regular voronoi + float3 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + for (int h = -1; h <= 1; h ++) + { + float3 g = float3(float(h), float(i), float(j)); + float3 o = random3(n + g); + float3 currentPoint = o; + + float3 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint = currentPoint; + } + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + for (int p = -2; p <= 2; p ++) + { + float3 g = mg + float3(float(p), float(q), float(r)); + float3 o = random3(n + g); + + float3 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + } + return md; + } + + + + // fracal sum, range -1.0 - 1.0 + float VoronoiNoise_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + float VoronoiNoiseDiff_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[1]) - sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + void applyVoronoi(inout float4 finalColor, inout float3 VoronoiEmission) + { + float voronoiOctaveNumber = 1; + float voronoiOctaveScale = 1; + float voronoiOctaveAttenuation = 1; + randomPoint = 0; + float4 voronoiColor1 = _VoronoiColor1; + + float voronoi = 0; + + float3 position = 0; + + + if (_VoronoiSpace == 0) + { + position = poiMesh.localPos; + } + + if(_VoronoiSpace == 1) + { + position = poiMesh.worldPos; + } + + if(_VoronoiSpace == 2) + { + position = float3(poiMesh.uv[0].x, poiMesh.uv[0].y, 0); + } + + float mask = POI2D_SAMPLER_PAN(_VoronoiMask, _MainTex, poiMesh.uv[_VoronoiMaskUV], _VoronoiMaskPan).r; + float edgeNoise = POI2D_SAMPLER_PAN(_VoronoiNoise, _MainTex, poiMesh.uv[_VoronoiNoiseUV], _VoronoiNoisePan).r * _VoronoiNoiseIntensity; + + + if(_VoronoiType == 0) // Basic + { + voronoi = voronoi2D(position.xy, _VoronoiScale, _VoronoiSpeed); + } + + if (_VoronoiType == 1) // Diff + { + voronoi = VoronoiNoiseDiff_Octaves(position, _VoronoiScale, _VoronoiSpeed, voronoiOctaveNumber, voronoiOctaveScale, voronoiOctaveAttenuation, 1, _Time.x); + } + + if (_VoronoiType == 2) // Fixed Border + { + voronoi = voronoi3D(position, _VoronoiScale, _VoronoiSpeed); + // isolines + //color = c.x * (0.5 + 0.5 * sin(64.0 * c.x)) * 1.0; + } + + if (_VoronoiEnableRandomCellColor == 1) + { + float3 rando = random3(randomPoint); + fixed hue = rando.x; + fixed saturation = lerp(_VoronoiRandomMinMaxSaturation.x, _VoronoiRandomMinMaxSaturation.y, rando.y); + fixed value = lerp(_VoronoiRandomMinMaxBrightness.x, _VoronoiRandomMinMaxBrightness.y, rando.z); + float3 hsv = float3(hue, saturation, value); + + voronoiColor1.rgb = HSVtoRGB(hsv); + } + + float2 voronoiGradient = _VoronoiGradient; + voronoiGradient.xy += edgeNoise; + float ramp = smoothstep(voronoiGradient.x, voronoiGradient.y, voronoi); + + + if(_VoronoiBlend == 0) + { + float4 voronoiColor = lerp(_VoronoiColor0, voronoiColor1, ramp); + + if(_VoronoiEffectsMaterialAlpha) + { + finalColor.rgba = lerp(finalColor, voronoiColor, mask); + } + else + { + finalColor.rgb = lerp(finalColor.rgb, voronoiColor.rgb, mask * voronoiColor.a); + } + } + float4 voronoiEmissionColor = lerp(_VoronoiColor0 * _VoronoiEmission0, voronoiColor1 * _VoronoiEmission1, ramp); + VoronoiEmission = voronoiEmissionColor.rgb * mask * voronoiEmissionColor.a; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta new file mode 100644 index 00000000..4ada046f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4d67e92bb13537b4bba6266a2cd2d138 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc new file mode 100644 index 00000000..49c602c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc @@ -0,0 +1,111 @@ +#ifndef POI_WIREFRAME + #define POI_WIREFRAME + + UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST; + float2 _WireframeTexturePan; + float _WireframeSmoothing; + float _WireframeThickness; + float4 _WireframeColor; + float _WireframeAlpha; + float _WireframeEnable; + float _WireframeWaveEnabled; + float _WireframeWaveDensity; + float _WireframeWaveSpeed; + float _WireframeEdgeOpacity; + float _WireframeFaceOpacity; + half _WireframeEmissionAlpha; + float _WireframeEmissionStrength; + float _WireframeQuad; + float _WireframeUV; + + #ifndef POI_SHADOW + void applyWireframe(inout float3 wireframeEmission, inout float4 albedo) + { + + if (_WireframeEnable) + { + float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan); + float size = _WireframeThickness; + half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates)); + half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates); + half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1; + + float4 wireframeColor = _WireframeColor * colorMap; + + albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary); + wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a; + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream) + { + + if(_WireframeQuad) + { + float e1 = length(IN[0].localPos - IN[1].localPos); + float e2 = length(IN[1].localPos - IN[2].localPos); + float e3 = length(IN[2].localPos - IN[0].localPos); + + float3 quad = 0; + if(e1 > e2 && e1 > e3) + quad.y = 1.; + else if(e2 > e3 && e2 > e1) + quad.x = 1; + else + quad.z = 1; + + IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad; + IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad; + IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad; + } + else + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + } + + + + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #else + + float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos) + { + + if(_WireframeEnable) + { + float wireframeFadeAlpha = _WireframeAlpha; + float3 finalWireframeColor = 0; + + float3 barys; + barys.xy = barycentricCoordinates; + barys.z = 1 - barys.x - barys.y; + float3 deltas = fwidth(barys); + float3 smoothing = deltas * _WireframeSmoothing; + float wireframeThickness = _WireframeThickness; + float3 thickness = deltas * wireframeThickness; + barys = smoothstep(thickness, thickness + smoothing, barys); + float minBary = min(barys.x, min(barys.y, barys.z)); + + return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream) + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta new file mode 100644 index 00000000..5bcb000d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e3d2b40df1569054e885b7f3625972d6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc new file mode 100644 index 00000000..319de57c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc @@ -0,0 +1,171 @@ +#ifndef POICLUDES + #define POICLUDES + + UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _PoiGrab; + sampler2D _CameraDepthTexture; + float _Cutoff; + float _AlphaMod; + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #ifdef OUTLINE + float _LineWidth; + float _OutlineEmission; + float4 _LineColor; + sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV; + float4 _OutlineFadeDistance; + float4 _OutlineGlobalPan; + #endif + + struct PoiLighting + { + half3 direction; + half3 color; + fixed attenuation; + #ifdef FORWARD_ADD_PASS + fixed additiveShadow; + #endif + half3 directLighting; + half3 indirectLighting; + half lightMap; + half3 rampedLightMap; + half3 finalLighting; + half3 halfDir; + half nDotL; + half nDotH; + half lDotv; + half lDotH; + half nDotV; + half N0DotV; + half diffuseTerm; + + // World normal dot half direction + #ifdef POI_VAR_DOTNH + half dotNH; + #endif + + // Light direction dot half direction + #ifdef POI_VAR_DOTLH + half dotLH; + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + float4 vDotNL; + float3 vColor[4]; + float4 vCorrectedDotNL; + float4 vAttenuation; + float4 vAttenuationDotNL; + float3 vPosition[4]; + float3 vDirection[4]; + float3 vFinalLighting; + float3 vHalfDir[4]; + + #ifdef POI_VAR_DOTLH + half4 vDotLH; + #endif + + #ifdef POI_VAR_DOTNH + half4 vDotNH; + #endif + + #endif + }; + + struct PoiCamera + { + half3 viewDir; + half3 tangentViewDir; + half3 forwardDir; + half3 worldPos; + float viewDotNormal; + float distanceToModel; + float distanceToVert; + float3 reflectionDir; + float3 vertexReflectionDir; + float2 screenUV; + float4 clipPos; + #if defined(GRAIN) + float4 worldDirection; + #endif + float4 grabPos; + }; + + struct PoiMesh + { + float3 normals[2]; + float3 tangent; + float3 binormal; + float3 localPos; + float3 worldPos; + float3 modelPos; + float3 tangentSpaceNormal; + float2 uv[5]; + float4 vertexColor; + fixed3 barycentricCoordinates; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV; + #endif + float isFrontFace; + #ifdef FUR + float furAlpha; + #endif + }; + + struct PoiTangentData + { + float3x3 tangentTransform; + float3x3 tangentToWorld; + }; + + struct FragmentCommonData + { + half3 diffColor, specColor; + // Note: smoothness & oneMinusReflectivity for optimization purposes, mostly for DX9 SM2.0 level. + // Most of the math is being done on these (1-x) values, and that saves a few precious ALU slots. + half oneMinusReflectivity, smoothness; + float3 normalWorld; + float3 eyeVec; + half alpha; + float3 posWorld; + + #if UNITY_STANDARD_SIMPLE + half3 reflUVW; + #endif + + #if UNITY_STANDARD_SIMPLE + half3 tangentSpaceNormal; + #endif + }; + + struct Debug + { + float debug1; + float2 debug2; + float3 debug3; + float4 debug4; + }; + + static Debug debug; + static PoiLighting poiLight; + static PoiCamera poiCam; + static PoiMesh poiMesh; + static UnityGI gi; + static FragmentCommonData s; + static PoiTangentData poiTData; + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta new file mode 100644 index 00000000..42796f74 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d46d309e154e9964f8bb4c4756f13eb7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta new file mode 100644 index 00000000..f237cb91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 08959fafd1afae14a907ef43e1af46f5 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader new file mode 100644 index 00000000..6be92bc2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader @@ -0,0 +1,7648 @@ +Shader "Hidden/.poiyomi/• Poiyomi Toon •/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 + [HideInInspector] shader_master_label ("Poiyomi Toon V7.0.100", Float) = 0 + [HideInInspector] shader_presets ("poiToonPresets", Float) = 0 + [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0 + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + // Keyword to remind users in the VRChat SDK that this material hasn't been locked. Inelegant but it works. + [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 + [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0 + [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0 + + [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7, Multiplicative Grab Pass, 8)]_Mode("Rendering Preset--{on_value_actions:[ + {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2451}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]}, + {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:RenderType=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]} + }]}]}", Int) = 0 + [HideInInspector] m_LockingInfo ("Locking Info--{button_right:{text:Tutorial,action:{type:URL,data:https://youtu.be/asWeDJb5LAo},hover:YouTube},is_hideable:true}", Float) = 0 + [Helpbox(1)] _HelpBoxLocking ("LOCKING IN THE SHADER WILL DRAMATICALLY INCREASE PERFORMANCE AND DRAMATICALLY LOWER THE FILE SIZE OF AN AVATAR PACKAGE. + + LOCKED IN MATERIALS CANNOT BE ANIMATED WITHOUT SETTING THE SPECIFIC PROPERTY TO DYNAMIC. RIGHT CLICK MATERIAL PROPERTIES YOU WISH TO ANIMATE, A CLOCK ICON WILL APPEAR BESIDE THE PROPERTY SIGNIFYING THAT IT CAN BE ANIMATED. + + FOR MORE INFORMATION ON LOCKING PLEASE WATCH THE LOCKING TUTORIAL IN THE HEADER ABOVE.", Int) = 0 + [Helpbox(2)] _HelpBoxHideLocking ("TO HIDE THIS CATEGORY SELECT CUSTOM UI AT THE TOP AND UNCHECK THE LOCKING INFO CATEGORY", Float) = 0 + // Main + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color & Alpha", Color) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("UV", Int) = 0 + _Saturation ("Saturation", Range(-1, 1)) = 0 + _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _BumpMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _AlphaMask ("Alpha Map", 2D) = "white" { } + [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AlphaMaskUV ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector] m_start_MainHueShift ("Hue Shift", Float) = 0 + [HideInInspector][Toggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0 + [ToggleUI]_MainHueShiftReplace ("Replace?", Float) = 1 + _MainHueShift ("Hue Shift", Range(0, 1)) = 0 + _MainHueShiftSpeed ("Shift Speed", Float) = 0 + _MainHueShiftMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainHueShiftMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainHueShiftMaskUV ("UV", Int) = 0 + [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0 + + // RGB Masking + [HideInInspector] m_start_RGBMask ("RGB Color Masking", Float) = 0 + [HideInInspector][Toggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0 + [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0 + [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0 + _RGBMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBMaskUV ("UV", int) = 0 + _RedColor ("R Color", Color) = (1, 1, 1, 1) + _RedTexure ("R Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBRed_UV ("UV", int) = 0 + _GreenColor ("G Color", Color) = (1, 1, 1, 1) + _GreenTexture ("G Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBGreen_UV ("UV", int) = 0 + _BlueColor ("B Color", Color) = (1, 1, 1, 1) + _BlueTexture ("B Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBBlue_UV ("UV", int) = 0 + // RGB MASKED NORMALS + [Toggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0 + [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0 + [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalRUV ("UV", int) = 0 + _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalGUV ("UV", int) = 0 + _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalBUV ("UV", int) = 0 + _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0 + + // Detail Options + [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0 + _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { } + [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailMaskUV ("UV", Int) = 0 + _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1) + _DetailTex ("Detail Texture", 2D) = "gray" { } + [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailTexUV ("UV", Int) = 0 + _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1 + _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1 + [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1 + [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailNormalMapUV ("UV", Int) = 0 + [HideInInspector] m_end_DetailOptions ("Details", Float) = 0 + + // Vertex Colors + [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0 + _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0 + _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0 + + //Vertex Manipulations + [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0 + [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1) + [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1) + _VertexManipulationHeight ("Vertex Height", Float) = 0 + _VertexManipulationHeightMask ("Height Map", 2D) = "while" { } + [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0 + _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0 + [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0 + _VertexRoundingDivision ("Division Amount", Float) = 500 + [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0 + + // Alpha Options + [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0 + _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0 + _DitherGradient ("Dither Gradient", Range(0, 1)) = .1 + [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0 + _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0 + [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0 + [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0 + _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25 + [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0 + _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 + [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 + + // Decal Texture + [HideInInspector] m_start_DecalSection ("Decal", Float) = 0 + [HideInInspector][Toggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0 + _DecalColor ("Color", Color) = (1, 1, 1, 1) + _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _DecalTexture ("Decal", 2D) = "white" { } + [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalTextureUV ("UV", Int) = 0 + _DecalMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalMaskUV ("UV", Int) = 0 + [ToggleUI]_DecalTiled ("Tiled?", Float) = 0 + [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0) + [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0) + _DecalRotation ("Rotation", Range(0, 360)) = 0 + _DecalRotationSpeed ("Rotation Speed", Float) = 0 + _DecalBlendAdd ("Add", Range(0, 1)) = 0 + _DecalBlendMultiply ("Multiply", Range(0, 1)) = 0 + _DecalBlendReplace ("Replace", Range(0, 1)) = 0 + [HideInInspector] m_end_DecalSection ("Decal", Float) = 0 + + // Back Face Textures and Emission + [HideInInspector] m_start_backFace ("Back Face", Float) = 0 + [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0 + _BackFaceColor ("Color", Color) = (1, 1, 1, 1) + _BackFaceTexture ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_BackFaceTextureUV ("UV#", Int) = 0 + _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1 + _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0 + _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [HideInInspector] m_end_backFace ("Back Face", Float) = 0 + + // Lighting + [HideInInspector] m_lightingOptions ("Lighting", Float) = 0 + [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0 + [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1 + [Enum(Toon, 0, Realistic, 1)] _LightingMode ("Lighting Type", Int) = 0 + _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0 + [ToggleUI]_LightingShadingEnabled ("Enable Shading--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0 + [Enum(Ramp Texture, 0, Math Gradient, 1)] _LightingRampType ("Ramp Type--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Int) = 0 + [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", 2D) = "white" { } + _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowMaskUV ("UV", Int) = 0 + _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0 + _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = 0 + _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = .5 + _LightingShadowColor ("Shadow Tint--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Color) = (1, 1, 1, 1) + _ShadowStrength ("Shadow Strength--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 1 + _AttenuationMultiplier ("Unity Shadows--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==1},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 0 + [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + + [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0 + [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0 + [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0 + [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0 + [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0 + _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0 + _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 + _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0 + [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0 + + [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled}", Float) = 0 + [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0 + _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingDetailShadowsUV ("UV", Int) = 0 + _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0 + + [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0 + _LightingAOTex ("AO Map", 2D) = "white" { } + [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingAOTexUV ("UV", Int) = 0 + _AOStrength ("AO Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0 + + [HideInInspector] m_start_shadowTexture ("Shadow Texture--{reference_property:_UseShadowTexture, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + [HideInInspector][ToggleUI]_UseShadowTexture ("EnableShadowTexture--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + _LightingShadowTexture ("Shadow Texture--{reference_properties:[_LightingShadowTexturePan, _LightingShadowTextureUV], condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_shadowTexture ("Shadow Texture", Float) = 0 + + // HSL Lighting + [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0 + _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1 + _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5 + _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5 + _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5 + [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0 + + // point/spot Light Settings + [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_commentIfZero_LightingAdditiveEnable,button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0 + [HideInInspector][ToggleUI]_commentIfZero_LightingAdditiveEnable ("Enable Additive", Float) = 1 + [Enum(Realistic, 0, Toon, 1)] _LightingAdditiveType ("Lighting Type", Int) = 1 + _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0 + _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5 + _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5 + _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1 + [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0 + _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1 + [Toggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1 + [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0 + [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0 + + // Subsurface Scattering + [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0 + [Toggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0 + _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1) + _SSSThicknessMap ("Thickness Map", 2D) = "black" { } + [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SSSThicknessMapUV ("UV", Int) = 0 + _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0 + _SSSSCale ("Light Strength", Range(0, 1)) = 0.25 + _SSSPower ("Light Spread", Range(1, 100)) = 5 + _SSSDistortion ("Light Distortion", Range(0, 1)) = 1 + [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0 + + // Rim Lighting + [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0 + [Toggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0 + [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1 + [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimTexUV ("UV", Int) = 0 + _RimMask ("Rim Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimMaskUV ("UV", Int) = 0 + + // Rim Noise + [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0 + _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { } + [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0 + _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1 + [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0 + + // Rim Shadow Mix + [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0 + _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0 + _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5 + _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5 + [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0 + [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0 + + // Environmental Rim Lighting + [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0 + [Toggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0 + _RimEnviroMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimEnviroMaskUV ("UV", Int) = 0 + _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7 + _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45 + _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0 + _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0 + _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1 + [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0 + + // Baked Lighting + [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0 + _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1 + [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown + [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown + [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0 + + // Metallics + [HideInInspector] m_start_Metallic ("Metallics", Float) = 0 + [Toggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1) + _MetallicTintMap ("Tint Map", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicTintMapUV ("UV", Int) = 0 + _MetallicMask ("Metallic Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicMaskUV ("UV", Int) = 0 + _Metallic ("Metallic", Range(0, 1)) = 0 + _SmoothnessMask ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SmoothnessMaskUV ("UV", Int) = 0 + [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _Smoothness ("Smoothness", Range(0, 1)) = 0 + [HideInInspector] m_end_Metallic ("Metallics", Float) = 0 + + // Clearcoat + [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0 + [Toggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0 + [Enum(Vertex, 0, Pixel, 1)] _ClearCoatNormalToUse ("What Normal?", Int) = 0 + _ClearCoatCubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_ClearCoatSampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _ClearCoatTint ("Reflection Tint", Color) = (1, 1, 1) + _ClearCoatMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatMaskUV ("UV", Int) = 0 + _ClearCoat ("Clear Coat", Range(0, 1)) = 1 + _ClearCoatSmoothnessMap ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatSmoothnessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatSmoothnessMapUV ("UV", Int) = 0 + [ToggleUI]_ClearCoatInvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _ClearCoatSmoothness ("Smoothness", Range(0, 1)) = 0 + [ToggleUI]_ClearCoatForceLighting ("Force Lighting", Float) = 0 + [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0 + + // First Matcap + [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0 + [Toggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0 + _MatcapColor ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { } + _MatcapBorder ("Border", Range(0, .5)) = 0.43 + _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MatcapMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0 + _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _MatcapIntensity ("Intensity", Range(0, 5)) = 1 + _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 + _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1 + _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0 + _MatcapAdd ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1 + [HideInInspector] m_end_matcap ("Matcap", Float) = 0 + + // Second Matcap + [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0 + [ToggleUI]_Matcap2Enable ("Enable Matcap 2", Float) = 0 + _Matcap2Color ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { } + _Matcap2Border ("Border", Range(0, .5)) = 0.43 + _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _Matcap2MaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0 + _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _Matcap2Intensity ("Intensity", Range(0, 5)) = 1 + _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0 + _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0 + _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0 + _Matcap2Add ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1 + [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0 + + // Specular + [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0 + [Toggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1 + _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMapUV ("UV", Int) = 0 + _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1 + [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMapUV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0 + _SpecularMask ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMaskUV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1 + // Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0 + _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0 + _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMapUV ("UV", Int) = 0 + //toon aniso + _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95 + _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0 + // Toon Specular + [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0 + + // Second Specular + [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0 + [ToggleUI]_EnableSpecular1 ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1 + _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0 + _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75 + _SpecularMap1 ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMap1UV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0 + _SpecularMask1 ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMask1UV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1 + // Second Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0 + _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0 + _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMap1UV ("UV", Int) = 0 + // Second toon aniso + _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95 + _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor1 ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0 + // Second Toon Specular + [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0 + + // First Emission + [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0 + [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0 + [Toggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0 + [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMapUV ("UV", Int) = 0 + _EmissionMask ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMaskUV ("UV", Int) = 0 + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0 + _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 + + // Center out emission + [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0 + + // Glow in the dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + // Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + _EmissionScrollingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0 + + // Second Enission + [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0 + [Toggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0 + [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMap1UV ("UV", Int) = 0 + _EmissionMask1 ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMask1UV ("UV", Int) = 0 + _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0 + _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0 + + // Second Center Out Enission + [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0 + + // Second Glow In The Dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Second Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + + // Scrolling Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0 + _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width1 ("Width", Float) = 10 + _EmissiveScroll_Velocity1 ("Velocity", Float) = 10 + _EmissiveScroll_Interval1 ("Interval", Float) = 20 + _EmissionScrollingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0 + + // Flipbook + [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0 + [Toggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0 + [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0 + [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookTexArrayUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookMask ("Mask", 2D) = "white" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookMaskUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1) + _FlipbookTotalFrames ("Total Frames", Int) = 1 + _FlipbookFPS ("FPS", Float) = 30.0 + _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0) + [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0 + _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _FlipbookRotation ("Rotation", Range(0, 360)) = 0 + _FlipbookRotationSpeed ("Rotation Speed", Float) = 0 + _FlipbookReplace ("Replace", Range(0, 1)) = 1 + _FlipbookMultiply ("Multiply", Range(0, 1)) = 0 + _FlipbookAdd ("Add", Range(0, 1)) = 0 + + // Flipbook Manual Control + [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0 + _FlipbookCurrentFrame ("Current Frame", Float) = -1 + [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0 + [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0 + + // Dissolve + [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0 + [Toggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0 + [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1 + _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025 + _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5 + _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1) + [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { } + _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0 + _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1) + _DissolveToTexture ("Dissolved Texture", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveToTextureUV ("UV", Int) = 0 + _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0 + _DissolveNoiseTexture ("Dissolve Noise", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0 + _DissolveDetailNoise ("Dissolve Detail Noise", 2D) = "black" { } + [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0 + _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1 + _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0 + _DissolveMask ("Dissolve Mask", 2D) = "white" { } + [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0 + [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0 + _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0 + [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2 + [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0 + + // Point to Point Dissolve + [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0 + [Enum(Local, 0, World, 1)] _DissolveP2PWorldLocal ("World/Local", Int) = 0 + _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1 + [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0) + [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0) + [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0 + + // Locked in anim sldiers + [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0 + _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0 + _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0 + _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0 + _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0 + _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0 + _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0 + _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0 + _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0 + _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0 + _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0 + [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0 + [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0 + + // Panosphere + [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + [Toggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0 + [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0 + _PanosphereColor ("Color", Color) = (1, 1, 1, 1) + _PanosphereTexture ("Texture", 2D) = "white" { } + _PanoMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _PanoMaskUV ("UV", Int) = 0 + _PanoEmission ("Emission Strength", Range(0, 10)) = 0 + _PanoBlend ("Alpha", Range(0, 1)) = 0 + [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0) + [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0 + [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { } + [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + + // Glitter + [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0 + [Toggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0 + [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0 + [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0 + [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0 + [HDR]_GlitterColor ("Color", Color) = (1, 1, 1) + _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0 + _GlitterColorMap ("Glitter Color Map", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterColorMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterMask ("Glitter Mask", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterMaskUV ("UV", Int) = 0 + _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterTextureRotation ("Rotation Speed", Float) = 0 + _GlitterFrequency ("Glitter Density", Float) = 300.0 + _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0 + _GlitterSpeed ("Glitter Speed", Float) = 10.0 + _GlitterSize ("Glitter Size", Range(0, 1)) = .3 + _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300 + _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90 + _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0 + _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3 + _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8 + _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08 + _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20 + _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0 + + // Glitter Random Colors + [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0 + [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0 + [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1) + [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1) + [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0 + [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1) + [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0 + [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0 + [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0 + + // MSDF OVERLAY + [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0 + _TextGlyphs ("Font Array", 2D) = "black" { } + _TextPixelRange ("Pixel Range", Float) = 4.0 + [Toggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0 + + // FPS + [HideInInspector] m_start_TextFPS ("FPS", Float) = 0 + [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextFPSUV ("FPS UV", Int) = 0 + _TextFPSColor ("Color", Color) = (1, 1, 1, 1) + _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextFPSRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1) + _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextFPS ("FPS", Float) = 0 + + // POSITION + [HideInInspector] m_start_TextPosition ("Position", Float) = 0 + [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextPositionUV ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVertical ("Vertical?", Float) = 0 + _TextPositionColor ("Color", Color) = (1, 0, 1, 1) + _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextPositionRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1) + _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextPosition ("Position", Float) = 0 + + // INSTANCE TIME + [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0 + [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextTimeUV ("Time UV", Int) = 0 + _TextTimeColor ("Color", Color) = (1, 0, 1, 1) + _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextTimeRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1) + _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0 + [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0 + + // Mirror Rendering + [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0 + [Toggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0 + [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0 + [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0 + _MirrorTexture ("Mirror Tex", 2D) = "white" { } + [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MirrorTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0 + + // Distance Fade + [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0 + _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0 + _MainFadeTexture ("Fade Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainFadeTextureUV ("UV", Int) = 0 + [Vector2]_MainDistanceFade ("Distance Fade X to Y", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0 + + // Angular Fade + [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0 + [Toggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0 + [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0 + [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0 + [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0) + _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45 + _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90 + _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45 + _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90 + _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0 + + // UV Distortion + [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0 + [Toggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0 + _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0 + _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { } + _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { } + _DistortionStrength ("Strength1", Float) = 0.5 + _DistortionStrength1 ("Strength2", Float) = 0.5 + [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0) + [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0) + [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0 + + // Outline Options + [HideInInspector] m_outlineOptions ("Outlines", Float) = 0 + [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0 + [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0 + _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0 + _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0 + _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0) + _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0) + [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0 + [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0 + [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1 + _LineWidth ("Width", Float) = 0 + _LineColor ("Color", Color) = (1, 1, 1, 1) + _OutlineEmission ("Outline Emission", Float) = 0 + _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineTextureUV ("UV", Int) = 0 + _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineMaskUV ("UV", Int) = 0 + _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0 + [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0) + [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1 + _OutlineOffsetFactor("Offset Factor", Float) = 0 + _OutlineOffsetUnits("Offset Units", Float) = 0 + [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0 + + // Parallax Mapping + [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0 + [Toggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0 + [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0 + [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0 + [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0 + [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0) + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0 + _ParallaxHeightMap ("Height Map", 2D) = "black" { } + _ParallaxHeightMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0 + _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0 + [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0 + [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0 + [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0 + [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0 + _ParallaxInternalMap ("Internal Map", 2D) = "black" { } + _ParallaxInternalMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0 + _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1 + _ParallaxInternalMinDepth ("Min Depth", Float) = 0 + _ParallaxInternalMaxDepth ("Max Depth", Float) = 1 + _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0 + _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1 + _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1) + _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1) + [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0) + [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0 + [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0 + _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42 + [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0 + + // Rendering Options + [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1 + [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15 + _OffsetFactor ("Offset Factor", Float) = 0.0 + _OffsetUnits ("Offset Units", Float) = 0.0 + [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 + [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown + + // Blending Options + [HideInInspector] m_start_blending ("Blending", Float) = 0 + [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 + [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1 + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0 + [HideInInspector] m_end_blending ("Blending", Float) = 0 + + // Stencils + [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 + + // Outline Stencil + [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{is_hideable:true, condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + // Debug Options + [HideInInspector] m_start_debugOptions ("Debug", Float) = 0 + [HideInInspector][Toggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0 + _VertexUnwrap ("Unwrap", Range(0, 1)) = 0 + [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0 + [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0 + [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0 + [HideInInspector] m_end_debugOptions ("Debug", Float) = 0 + + //[HideInInspector] m_animationToggles ("Animation Support Toggles", Float) = 0 + //[HelpBox(1)] _AnimationToggleHelp ("You don't need to search through this list. You can enable animation support on any property by right clicking it", Int) = 0 + + // Main + [HideInInspector]_ColorAnimated ("Color & Alpha", Int) = 0 + [HideInInspector]_MainTexAnimated ("Texture", Int) = 0 + [HideInInspector]_MainTex_STAnimated ("Texture Offset/Scale", Int) = 0 + [HideInInspector]_MainTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_SaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_MainVertexColoringAnimated ("Use Vertex Color", Int) = 0 + [HideInInspector]_MainUseVertexColorAlphaAnimated ("Use Vertex Alpha", Int) = 0 + [HideInInspector]_MainEmissionStrengthAnimated ("Basic Emission", Int) = 0 + [HideInInspector]_BumpMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_BumpMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_BumpMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_BumpScaleAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_AlphaMaskAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_AlphaMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AlphaMaskUVAnimated ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector]_MainHueShiftToggleAnimated ("Toggle Hueshift", Int) = 0 + [HideInInspector]_MainHueShiftReplaceAnimated ("Replace?", Int) = 0 + [HideInInspector]_MainHueShiftAnimated ("Hue Shift", Int) = 0 + [HideInInspector]_MainHueShiftSpeedAnimated ("Shift Speed", Int) = 0 + [HideInInspector]_MainHueShiftMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MainHueShiftMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainHueShiftMaskUVAnimated ("UV", Int) = 0 + + // RGB Masking + [HideInInspector]_RGBMaskEnabledAnimated ("RGB Mask Enabled", Int) = 0 + [HideInInspector]_RGBUseVertexColorsAnimated ("Use Vertex Colors", Int) = 0 + [HideInInspector]_RGBBlendMultiplicativeAnimated ("Multiplicative?", Int) = 0 + [HideInInspector]_RGBMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RGBMaskPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RedColorAnimated ("R Color", Int) = 0 + [HideInInspector]_RedTexureAnimated ("R Texture", Int) = 0 + [HideInInspector]_RGBRedPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBRed_UVAnimated ("UV", Int) = 0 + [HideInInspector]_GreenColorAnimated ("G Color", Int) = 0 + [HideInInspector]_GreenTextureAnimated ("G Texture", Int) = 0 + [HideInInspector]_RGBGreenPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBGreen_UVAnimated ("UV", Int) = 0 + [HideInInspector]_BlueColorAnimated ("B Color", Int) = 0 + [HideInInspector]_BlueTextureAnimated ("B Texture", Int) = 0 + [HideInInspector]_RGBBluePanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBBlue_UVAnimated ("UV", Int) = 0 + [HideInInspector]_RGBNormalBlendAnimated ("UV", Int) = 0 + + // Detail Options + [HideInInspector]_DetailMaskAnimated ("Detail Mask (R:Texture, G:Normal)", Int) = 0 + [HideInInspector]_DetailMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTintAnimated ("Detail Texture Tint", Int) = 0 + [HideInInspector]_DetailTexAnimated ("Detail Texture", Int) = 0 + [HideInInspector]_DetailTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTexIntensityAnimated ("Detail Tex Intensity", Int) = 0 + [HideInInspector]_DetailBrightnessAnimated ("Detail Brightness:", Int) = 0 + [HideInInspector]_DetailNormalMapAnimated ("Detail Normal", Int) = 0 + [HideInInspector]_DetailNormalMapScaleAnimated ("Detail Normal Intensity", Int) = 0 + [HideInInspector]_DetailNormalMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailNormalMapUVAnimated ("UV", Int) = 0 + + //Vertex Manipulations + [HideInInspector]_VertexManipulationLocalTranslationAnimated ("Local Translation", Int) = 0 + [HideInInspector]_VertexManipulationLocalRotationAnimated ("Local Rotation", Int) = 0 + [HideInInspector]_VertexManipulationLocalScaleAnimated ("Local Scale", Int) = 0 + [HideInInspector]_VertexManipulationWorldTranslationAnimated ("World Translation", Int) = 0 + [HideInInspector]_VertexManipulationHeightAnimated ("Vertex Height", Int) = 0 + [HideInInspector]_VertexManipulationHeightMaskAnimated ("Height Map", Int) = 0 + [HideInInspector]_VertexManipulationHeightPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VertexManipulationHeightUVAnimated ("UV", Int) = 0 + [HideInInspector]_VertexManipulationHeightBiasAnimated ("Mask Bias", Int) = 0 + [HideInInspector]_VertexRoundingEnabledAnimated ("Rounding Enabled", Int) = 0 + [HideInInspector]_VertexRoundingDivisionAnimated ("Division Amount", Int) = 0 + + // Alpha Options + [HideInInspector]_AlphaModAnimated ("Alpha Mod", Int) = 0 + [HideInInspector]_CutoffAnimated ("Alpha Cuttoff", Int) = 0 + [HideInInspector]_DitheringEnabledAnimated ("Enable Dithering", Int) = 0 + [HideInInspector]_DitherGradientAnimated ("Dither Gradient", Int) = 0 + [HideInInspector]_ForceOpaqueAnimated ("Force Opaque", Int) = 0 + [HideInInspector]_MainShadowClipModAnimated ("Shadow Clip Mod", Int) = 0 + [HideInInspector]_AlphaToMaskAnimated ("Alpha To Coverage", Int) = 0 + [HideInInspector]_MainAlphaToCoverageAnimated ("Sharpenned A2C", Int) = 0 + [HideInInspector]_AlphaPremultiplyAnimated ("Alpha Premultiply", Int) = 0 + [HideInInspector]_MainMipScaleAnimated ("Mip Level Alpha Scale", Int) = 0 + + // Decal Texture + [HideInInspector]_DecalEnabledAnimated ("Enable", Int) = 0 + [HideInInspector]_DecalColorAnimated ("Color", Int) = 0 + [HideInInspector]_DecalEmissionStrengthAnimated ("Color", Int) = 0 + [HideInInspector]_DecalTextureAnimated ("Decal", Int) = 0 + [HideInInspector]_DecalTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DecalMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_DecalScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_DecalPositionAnimated ("Position", Int) = 0 + [HideInInspector]_DecalRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_DecalRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_DecalBlendAddAnimated ("Add", Int) = 0 + [HideInInspector]_DecalBlendMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_DecalBlendReplaceAnimated ("Replace", Int) = 0 + + // Lighting + [HideInInspector]_EnableLightingAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LightingModeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingStandardSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_LightingShadingEnabledAnimated ("Enable Shading-",Int) = 0 + [HideInInspector]_LightingRampTypeAnimated ("Ramp Type", Int) = 0 + [HideInInspector]_ToonRampAnimated ("Lighting Ramp", Int) = 0 + [HideInInspector]_LightingShadowMaskAnimated ("Ramp Mask", Int) = 0 + [HideInInspector]_LightingShadowMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ShadowOffsetAnimated ("Ramp Offset", Int) = 0 + [HideInInspector]_LightingGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingShadowColorAnimated ("Shadow Tint", Int) = 0 + [HideInInspector]_ShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_AttenuationMultiplierAnimated ("Unity Shadows", Int) = 0 + [HideInInspector]_LightingIgnoreAmbientColorAnimated ("Ignore Ambient Color", Int) = 0 + + [HideInInspector]_LightingDirectColorModeAnimated ("D Color", Int) = 0 + [HideInInspector]_LightingIndirectColorModeAnimated ("I Color?", Int) = 0 + [HideInInspector]_LightingMonochromaticAnimated ("Monochromatic Lighting?", Int) = 0 + [HideInInspector]_LightingUncappedAnimated ("Uncapped Lighting", Int) = 0 + [HideInInspector]_LightingOnlyUnityShadowsAnimated ("Only Unity Shadows", Int) = 0 + [HideInInspector]_LightingMinLightBrightnessAnimated ("Min Brightnes", Int) = 0 + [HideInInspector]_LightingMinShadowBrightnessRatioAnimated ("Shadow:Light min Ratio", Int) = 0 + + [HideInInspector]_LightingDetailShadowsEnabledAnimated ("Enabled Detail Shadows?", Int) = 0 + [HideInInspector]_LightingDetailShadowsAnimated ("Detail Shadows", Int) = 0 + [HideInInspector]_LightingDetailShadowsPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingDetailShadowsUVAnimated ("UV", Int) = 0 + [HideInInspector]_LightingDetailStrengthAnimated ("Detail Strength", Int) = 0 + + [HideInInspector]_LightingEnableAOAnimated ("Enable AO", Int) = 0 + [HideInInspector]_LightingAOTexAnimated ("AO Map", Int) = 0 + [HideInInspector]_LightingAOTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingAOTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_AOStrengthAnimated ("AO Strength", Range(0, 1)) = 0 + + [HideInInspector]_UseShadowTextureAnimated ("EnableShadowTexture", Int) = 0 + [HideInInspector]_LightingShadowTextureAnimated ("Shadow Texture", Int) = 0 + [HideInInspector]_LightingShadowTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowTextureUVAnimated ("UV", Int) = 0 + + [HideInInspector]_LightingEnableHSLAnimated ("Enabled HSL Lighting", Int) = 0 + [HideInInspector]_LightingHSLIntensityAnimated ("Shadow HSL Intensity", Int) = 0 + [HideInInspector]_LightingShadowHueAnimated ("Shadow Hue Change", Int) = 0 + [HideInInspector]_LightingShadowSaturationAnimated ("Shadow Saturation Change", Int) = 0 + [HideInInspector]_LightingShadowLightnessAnimated ("Shadow Lightness Change", Int) = 0 + + // point/spot Light Settings + [HideInInspector]_commentIfZero_LightingAdditiveEnableAnimated ("Enable Additive", Int) = 0 + [HideInInspector]_LightingAdditiveTypeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingAdditiveGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingAdditiveGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingAdditivePassthroughAnimated ("Point Light Passthrough", Int) = 0 + [HideInInspector]_LightingAdditiveDetailStrengthAnimated ("Detail Shadow Strength", Int) = 0 + [HideInInspector]_LightingAdditiveLimitIntensityAnimated ("Limit Intensity", Int) = 0 + [HideInInspector]_LightingAdditiveMaxIntensityAnimated ("Max Intensity", Int) = 0 + + // Subsurface Scattering + [HideInInspector]_EnableSSSAnimated ("Enable Subsurface Scattering", Int) = 0 + [HideInInspector]_SSSColorAnimated ("Subsurface Color", Int) = 0 + [HideInInspector]_SSSThicknessMapAnimated ("Thickness Map", Int) = 0 + [HideInInspector]_SSSThicknessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SSSThicknessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SSSThicknessModAnimated ("Thickness mod", Int) = 0 + [HideInInspector]_SSSSCaleAnimated ("Light Strength", Int) = 0 + [HideInInspector]_SSSPowerAnimated ("Light Spread", Int) = 0 + [HideInInspector]_SSSDistortionAnimated ("Light Distortion", Int) = 0 + + // Rim Lighting + [HideInInspector]_EnableRimLightingAnimated ("Enable Rim Lighting", Int) = 0 + [HideInInspector]_RimLightNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_RimLightingInvertAnimated ("Invert Rim Lighting", Int) = 0 + [HideInInspector]_RimLightColorAnimated ("Rim Color", Int) = 0 + [HideInInspector]_RimWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimStrengthAnimated ("Rim Emission", Int) = 0 + [HideInInspector]_RimBrightenAnimated ("Rim Color Brighten", Int) = 0 + [HideInInspector]_RimLightColorBiasAnimated ("Rim Color Bias", Int) = 0 + [HideInInspector]_RimTexAnimated ("Rim Texture", Int) = 0 + [HideInInspector]_RimTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimMaskAnimated ("Rim Mask", Int) = 0 + [HideInInspector]_RimMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimMaskUVAnimated ("UV", Int) = 0 + + // Rim Noise + [HideInInspector]_RimWidthNoiseTextureAnimated ("Rim Width Noise", Int) = 0 + [HideInInspector]_RimWidthNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimWidthNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimWidthNoiseStrengthAnimated ("Intensity", Int) = 0 + + // Rim Shadow Mix + [HideInInspector]_ShadowMixAnimated ("Shadow Mix In", Int) = 0 + [HideInInspector]_ShadowMixThresholdAnimated ("Shadow Mix Threshold", Int) = 0 + [HideInInspector]_ShadowMixWidthModAnimated ("Shadow Mix Width Mod", Int) = 0 + + // Environmental Rim Lighting + [HideInInspector]_EnableEnvironmentalRimAnimated ("Enable Environmental Rim", Int) = 0 + [HideInInspector]_RimEnviroMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RimEnviroMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimEnviroMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimEnviroBlurAnimated ("Blur", Int) = 0 + [HideInInspector]_RimEnviroWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimEnviroSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimEnviroMinBrightnessAnimated ("Min Brightness Threshold", Int) = 0 + [HideInInspector]_RimEnviroIntensityAnimated ("Intensity", Int) = 0 + + // Metallics + [HideInInspector]_EnableMetallicAnimated ("Enable Metallics", Int) = 0 + [HideInInspector]_CubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_SampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_MetalReflectionTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_MetallicTintMapAnimated ("Tint Map", Int) = 0 + [HideInInspector]_MetallicTintMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicTintMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicMaskAnimated ("Metallic Mask", Int) = 0 + [HideInInspector]_MetallicMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SmoothnessMaskAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SmoothnessMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_InvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessAnimated ("Smoothness", Int) = 0 + + // Clearcoat + [HideInInspector]_EnableClearCoatAnimated ("Enable Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatNormalToUseAnimated ("What Normal?", Int) = 0 + [HideInInspector]_ClearCoatCubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_ClearCoatSampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_ClearCoatTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_ClearCoatMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ClearCoatMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatInvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_ClearCoatForceLightingAnimated ("Force Lighting", Int) = 0 + + // First Matcap + [HideInInspector]_MatcapEnableAnimated ("Enable Matcap", Int) = 0 + [HideInInspector]_MatcapColorAnimated ("Color", Int) = 0 + [HideInInspector]_MatcapAnimated ("Matcap", Int) = 0 + [HideInInspector]_MatcapBorderAnimated ("Border", Int) = 0 + [HideInInspector]_MatcapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MatcapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MatcapMaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_MatcapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MatcapEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_MatcapIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_MatcapLightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_MatcapReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_MatcapMultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_MatcapAddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_MatcapNormalAnimated ("Normal to use", Int) = 0 + + // Second Matcap + [HideInInspector]_Matcap2EnableAnimated ("Enable Matcap 2", Int) = 0 + [HideInInspector]_Matcap2ColorAnimated ("Color", Int) = 0 + [HideInInspector]_Matcap2Animated ("Matcap", Int) = 0 + [HideInInspector]_Matcap2BorderAnimated ("Border", Int) = 0 + [HideInInspector]_Matcap2MaskAnimated ("Mask", Int) = 0 + [HideInInspector]_Matcap2MaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_Matcap2MaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_Matcap2MaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_Matcap2EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_Matcap2IntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_Matcap2LightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_Matcap2ReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_Matcap2MultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_Matcap2AddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_Matcap2NormalAnimated ("Normal to use", Int) = 0 + + // Specular + [HideInInspector]_EnableSpecularAnimated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularTypeAnimated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTintAnimated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMapAnimated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothnessAnimated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMaskAnimated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFromAnimated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangentAnimated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1AlphaAnimated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2AlphaAnimated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1OffsetAnimated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2SmoothnessAnimated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMapAnimated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMapAnimated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStartAnimated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEndAnimated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColorAnimated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirroredAnimated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroAnimated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplierAnimated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroAnimated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplierAnimated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuterAnimated ("Inner/Outer Edge", Int) = 0 + + // Second Specular + [HideInInspector]_EnableSpecular1Animated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularType1Animated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormal1Animated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTint1Animated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallic1Animated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothness1Animated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMap1Animated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothness1Animated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMask1Animated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFrom1Animated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangent1Animated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1Alpha1Animated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2Alpha1Animated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1Offset1Animated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2Smoothness1Animated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMap1Animated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMap1Animated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStart1Animated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEnd1Animated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColor1Animated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirrored1Animated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1Animated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplier1Animated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1Animated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplier1Animated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuter1Animated ("Inner/Outer Edge", Int) = 0 + + // First Emission + [HideInInspector]_EnableEmissionAnimated ("Enable Emission", Int) = 0 + [HideInInspector]_EmissionReplaceAnimated ("Replace Base Color", Int) = 0 + [HideInInspector]_EmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMapAnimated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMapAnimated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMaskAnimated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabledAnimated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShiftAnimated ("Hue Shift", Int) = 0 + + // Center out emission + [HideInInspector]_EmissionCenterOutEnabledAnimated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeedAnimated ("Flow Speed", Int) = 0 + + // Glow in the dark Emission + [HideInInspector]_EnableGITDEmissionAnimated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMeshAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplierAnimated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplierAnimated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLightAnimated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLightAnimated ("Max Lighting", Int) = 0 + + // Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_MinAnimated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_MaxAnimated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_VelocityAnimated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffsetAnimated ("Offset", Int) = 0 + + // Scrolling Emission + [HideInInspector]_ScrollingEmissionAnimated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurveAnimated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurveAnimated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColorAnimated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_DirectionAnimated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_WidthAnimated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_VelocityAnimated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_IntervalAnimated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffsetAnimated ("Offset", Int) = 0 + + // Second Enission + [HideInInspector]_EnableEmission1Animated ("Enable Emission 2", Int) = 0 + [HideInInspector]_EmissionColor1Animated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMap1Animated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMap1Animated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMask1Animated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrength1Animated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabled1Animated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShift1Animated ("Hue Shift", Int) = 0 + + // Second Center Out Enission + [HideInInspector]_EmissionCenterOutEnabled1Animated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeed1Animated ("Flow Speed", Int) = 0 + + // Second Glow In The Dark Emission + [HideInInspector]_EnableGITDEmission1Animated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMesh1Animated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplier1Animated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplier1Animated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLight1Animated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLight1Animated ("Max Lighting", Int) = 0 + + // Second Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_Min1Animated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_Max1Animated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_Velocity1Animated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffset1Animated ("Offset", Int) = 0 + + // Scrolling Scrolling Emission + [HideInInspector]_ScrollingEmission1Animated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurve1Animated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurve1Animated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColor1Animated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_Direction1Animated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_Width1Animated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_Velocity1Animated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_Interval1Animated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffset1Animated ("Offset", Int) = 0 + + // Flipbook + [HideInInspector]_EnableFlipbookAnimated ("Enable Flipbook", Int) = 0 + [HideInInspector]_FlipbookAlphaControlsFinalAlphaAnimated ("Flipbook Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookIntensityControlsAlphaAnimated ("Intensity Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookColorReplacesAnimated ("Color Replaces Flipbook", Int) = 0 + [HideInInspector]_FlipbookTexArrayAnimated ("Texture Array", Int) = 0 + [HideInInspector]_FlipbookTexArrayUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookTexArrayPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_FlipbookMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookColorAnimated ("Color & alpha", Int) = 0 + [HideInInspector]_FlipbookTotalFramesAnimated ("Total Frames", Int) = 0 + [HideInInspector]_FlipbookFPSAnimated ("FPS", Int) = 0 + [HideInInspector]_FlipbookScaleOffsetAnimated ("Scale | Offset", Int) = 0 + [HideInInspector]_FlipbookTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_FlipbookEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_FlipbookRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_FlipbookRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_FlipbookReplaceAnimated ("Replace", Int) = 0 + [HideInInspector]_FlipbookMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_FlipbookAddAnimated ("Add", Int) = 0 + [HideInInspector]_FlipbookCurrentFrameAnimated ("Current Frame", Int) = 0 + + // Dissolve + [HideInInspector]_EnableDissolveAnimated ("Enable Dissolve", Int) = 0 + [HideInInspector]_DissolveTypeAnimated ("Dissolve Type", Int) = 0 + [HideInInspector]_DissolveEdgeWidthAnimated ("Edge Width", Int) = 0 + [HideInInspector]_DissolveEdgeHardnessAnimated ("Edge Hardness", Int) = 0 + [HideInInspector]_DissolveEdgeColorAnimated ("Edge Color", Int) = 0 + [HideInInspector]_DissolveEdgeGradientAnimated ("Edge Gradient", Int) = 0 + [HideInInspector]_DissolveEdgeEmissionAnimated ("Edge Emission", Int) = 0 + [HideInInspector]_DissolveTextureColorAnimated ("Dissolved Color", Int) = 0 + [HideInInspector]_DissolveToTextureAnimated ("Dissolved Texture", Int) = 0 + [HideInInspector]_DissolveToTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveToTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveToEmissionStrengthAnimated ("Dissolved Emission Strength", Int) = 0 + [HideInInspector]_DissolveNoiseTextureAnimated ("Dissolve Noise", Int) = 0 + [HideInInspector]_DissolveNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailNoiseAnimated ("Dissolve Detail Noise", Int) = 0 + [HideInInspector]_DissolveDetailNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveDetailNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertDetailNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailStrengthAnimated ("Dissolve Detail Strength", Int) = 0 + [HideInInspector]_DissolveAlphaAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveUseVertexColorsAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveMaskAnimated ("Dissolve Mask", Int) = 0 + [HideInInspector]_DissolveMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveMaskInvertAnimated ("Invert?", Int) = 0 + [HideInInspector]_ContinuousDissolveAnimated ("Continuous Dissolve Speed", Int) = 0 + [HideInInspector]_DissolveEmissionSideAnimated ("Emission 1", Int) = 0 + [HideInInspector]_DissolveEmission1SideAnimated ("Emission 2", Int) = 0 + + // Point to Point Dissolve + [HideInInspector]_DissolveP2PWorldLocalAnimated ("World/Local", Int) = 0 + [HideInInspector]_DissolveP2PEdgeLengthAnimated ("Edge Length", Int) = 0 + [HideInInspector]_DissolveStartPointAnimated ("Start Point", Int) = 0 + [HideInInspector]_DissolveEndPointAnimated ("End Point", Int) = 0 + + [HideInInspector]_DissolveAlpha0Animated ("_DissolveAlpha0", Int) = 0 + [HideInInspector]_DissolveAlpha1Animated ("_DissolveAlpha1", Int) = 0 + [HideInInspector]_DissolveAlpha2Animated ("_DissolveAlpha2", Int) = 0 + [HideInInspector]_DissolveAlpha3Animated ("_DissolveAlpha3", Int) = 0 + [HideInInspector]_DissolveAlpha4Animated ("_DissolveAlpha4", Int) = 0 + [HideInInspector]_DissolveAlpha5Animated ("_DissolveAlpha5", Int) = 0 + [HideInInspector]_DissolveAlpha6Animated ("_DissolveAlpha6", Int) = 0 + [HideInInspector]_DissolveAlpha7Animated ("_DissolveAlpha7", Int) = 0 + [HideInInspector]_DissolveAlpha8Animated ("_DissolveAlpha8", Int) = 0 + [HideInInspector]_DissolveAlpha9Animated ("_DissolveAlpha9", Int) = 0 + + // Panosphere + [HideInInspector]_PanoToggleAnimated ("Enable Panosphere", Int) = 0 + [HideInInspector]_PanoInfiniteStereoToggleAnimated ("Infinite Stereo", Int) = 0 + [HideInInspector]_PanosphereColorAnimated ("Color", Int) = 0 + [HideInInspector]_PanosphereTextureAnimated ("Texture", Int) = 0 + [HideInInspector]_PanoMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_PanoMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_PanoMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_PanoEmissionAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_PanoBlendAnimated ("Alpha", Int) = 0 + [HideInInspector]_PanospherePanAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_PanoCubeMapToggleAnimated ("Use Cubemap", Int) = 0 + [HideInInspector]_PanoCubeMapAnimated ("CubeMap", Int) = 0 + + // Glitter + [HideInInspector]_GlitterEnableAnimated ("Enable Glitter?", Int) = 0 + [HideInInspector]_GlitterModeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterShapeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterBlendTypeAnimated ("Blend Mode", Int) = 0 + [HideInInspector]_GlitterColorAnimated ("Color", Int) = 0 + [HideInInspector]_GlitterUseSurfaceColorAnimated ("Use Surface Color", Int) = 0 + [HideInInspector]_GlitterColorMapAnimated ("Glitter Color Map", Int) = 0 + [HideInInspector]_GlitterColorMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterColorMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterTextureAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterRandomRotationAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterFrequencyAnimated ("Glitter Density", Int) = 0 + [HideInInspector]_GlitterJitterAnimated ("Glitter Jitter", Int) = 0 + [HideInInspector]_GlitterSpeedAnimated ("Glitter Wobble Speed", Int) = 0 + [HideInInspector]_GlitterSizeAnimated ("Glitter Size", Int) = 0 + [HideInInspector]_GlitterContrastAnimated ("Glitter Contrast", Int) = 0 + [HideInInspector]_GlitterAngleRangeAnimated ("Glitter Angle Range", Int) = 0 + [HideInInspector]_GlitterMinBrightnessAnimated ("Glitter Min Brightness", Int) = 0 + [HideInInspector]_GlitterBrightnessAnimated ("Glitter Max Brightness", Int) = 0 + [HideInInspector]_GlitterBiasAnimated ("Glitter Bias", Int) = 0 + [HideInInspector]_GlitterCenterSizeAnimated ("center size", Int) = 0 + [HideInInspector]_GlitterTextureRotationAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_glitterFrequencyLinearEmissiveAnimated ("Frequency", Int) = 0 + [HideInInspector]_GlitterJaggyFixAnimated ("Jaggy Fix", Int) = 0 + + // Glitter Random Colors + [HideInInspector]_GlitterRandomColorsAnimated ("Enable", Int) = 0 + [HideInInspector]_GlitterMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_GlitterMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + [HideInInspector]_GlitterRandomSizeAnimated ("random Size Toggle", Int) = 0 + [HideInInspector]_GlitterMinMaxSizeAnimated ("Min Max Random Size", Int) = 0 + + // MSDF OVERLAY + [HideInInspector]_TextGlyphsAnimated ("Font Array", Int) = 0 + [HideInInspector]_TextPixelRangeAnimated ("Pixel Range", Int) = 0 + [HideInInspector]_TextEnabledAnimated ("Text?", Int) = 0 + + // FPS + [HideInInspector]_TextFPSEnabledAnimated ("FPS Text?", Int) = 0 + [HideInInspector]_TextFPSUVAnimated ("FPS UV", Int) = 0 + [HideInInspector]_TextFPSColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextFPSEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextFPSOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextFPSRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextFPSScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextFPSPaddingAnimated ("Padding Reduction", Int) = 0 + + // POSITION + [HideInInspector]_TextPositionEnabledAnimated ("Position Text?", Int) = 0 + [HideInInspector]_TextPositionUVAnimated ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVerticalAnimated ("Vertical?", Int) = 0 + [HideInInspector]_TextPositionColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextPositionEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextPositionOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextPositionRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextPositionScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextPositionPaddingAnimated ("Padding Reduction", Int) = 0 + + // INSTANCE TIME + [HideInInspector]_TextTimeEnabledAnimated ("Time Text?", Int) = 0 + [HideInInspector]_TextTimeUVAnimated ("Time UV", Int) = 0 + [HideInInspector]_TextTimeColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextTimeEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextTimeOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextTimeRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextTimeScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextTimePaddingAnimated ("Padding Reduction", Int) = 0 + + // Mirror Rendering + [HideInInspector]_EnableMirrorOptionsAnimated ("Enable Mirror Options", Int) = 0 + [HideInInspector]_MirrorAnimated ("Show in mirror", Int) = 0 + [HideInInspector]_EnableMirrorTextureAnimated ("Enable Mirror Texture", Int) = 0 + [HideInInspector]_MirrorTextureAnimated ("Mirror Tex", Int) = 0 + [HideInInspector]_MirrorTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MirrorTextureUVAnimated ("UV", Int) = 0 + + // Distance Fade + [HideInInspector]_MainMinAlphaAnimated ("Minimum Alpha", Int) = 0 + [HideInInspector]_MainFadeTextureAnimated ("Fade Mask", Int) = 0 + [HideInInspector]_MainFadeTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainFadeTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_MainDistanceFadeAnimated ("Distance Fade X to Y", Int) = 0 + + // Angular Fade + [HideInInspector]_EnableRandomAnimated ("Enable Angular Fade", Int) = 0 + [HideInInspector]_AngleTypeAnimated ("Angle Type", Int) = 0 + [HideInInspector]_AngleCompareToAnimated ("Model or Vert Positon", Int) = 0 + [HideInInspector]_AngleForwardDirectionAnimated ("Forward Direction", Int) = 0 + [HideInInspector]_CameraAngleMinAnimated ("Camera Angle Min", Int) = 0 + [HideInInspector]_CameraAngleMaxAnimated ("Camera Angle Max", Int) = 0 + [HideInInspector]_ModelAngleMinAnimated ("Model Angle Min", Int) = 0 + [HideInInspector]_ModelAngleMaxAnimated ("Model Angle Max", Int) = 0 + [HideInInspector]_AngleMinAlphaAnimated ("Min Alpha", Int) = 0 + + // UV Distortion + [HideInInspector]_EnableDistortionAnimated ("Enabled?", Int) = 0 + [HideInInspector]_DistortionMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DistortionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DistortionMaskUVAnimated ("Distortion Mask UV", Int) = 0 + [HideInInspector]_DistortionFlowTextureAnimated ("Distortion Texture 1", Int) = 0 + [HideInInspector]_DistortionFlowTexture1Animated ("Distortion Texture 2", Int) = 0 + [HideInInspector]_DistortionStrengthAnimated ("Strength1", Int) = 0 + [HideInInspector]_DistortionStrength1Animated ("Strength2", Int) = 0 + [HideInInspector]_DistortionSpeedAnimated ("Speed1", Int) = 0 + [HideInInspector]_DistortionSpeed1Animated ("Speed2", Int) = 0 + + // Video Options + [HideInInspector]_EnableVideoAnimated ("Enable Video", Int) = 0 + [HideInInspector]_VideoUVNumberAnimated ("Screen UV#", Int) = 0 + [HideInInspector]_VideoTypeAnimated ("Screen Type", Int) = 0 + [HideInInspector]_VideoBacklightAnimated ("Brightness", Int) = 0 + [HideInInspector]_VideoPixelTextureAnimated ("Pixel Texture", Int) = 0 + [HideInInspector]_VideoResolutionAnimated ("Resolution", Int) = 0 + [HideInInspector]_VideoMaskTextureAnimated ("Mask", Int) = 0 + [HideInInspector]_VideoMaskPanningAnimated ("Mask Pan Speed", Int) = 0 + [HideInInspector]_VideoEnableVideoPlayerAnimated ("Enable Video Player", Int) = 0 + [HideInInspector]_VideoPixelateToResolutionAnimated ("Pixelate To Resolution", Int) = 0 + [HideInInspector]_VideoRepeatVideoTextureAnimated ("Clamp To UV", Int) = 0 + [HideInInspector]_VideoPanningAnimated ("Panning Speed", Int) = 0 + [HideInInspector]_VideoTilingAnimated ("Tiling", Int) = 0 + [HideInInspector]_VideoOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_VideoSaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_VideoContrastAnimated ("Contrast boost", Int) = 0 + [HideInInspector]_VideoEnableDebugAnimated ("Enable Debug", Int) = 0 + [HideInInspector]_VideoDebugTextureAnimated ("Video Debug Tex", Int) = 0 + [HideInInspector]_VideoCRTRefreshRateAnimated ("Refresh Rate", Int) = 0 + [HideInInspector]_VideoCRTPixelEnergizedTimeAnimated ("Pixel Fade Time", Int) = 0 + [HideInInspector]_VideoGameboyRampAnimated ("Color Ramp", Int) = 0 + + // TouchFX + [HideInInspector]_EnableBulgeAnimated ("Bulge", Int) = 0 + [HideInInspector]_BulgeMaskAnimated ("Bulge Mask", Int) = 0 + [HideInInspector]_BuldgeFadeLengthAnimated ("Touch Distance", Int) = 0 + [HideInInspector]_BuldgeHeightAnimated ("Bulge Height", Int) = 0 + + [HideInInspector]_EnableTouchGlowAnimated ("Enable Touch Glow", Int) = 0 + [HideInInspector]_DepthGradientTextureUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientBlendAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientPanAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientUVAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskPanAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGlowColorAnimated ("Depth Glow Color", Int) = 0 + [HideInInspector]_DepthGradientAnimated ("Depth Gradient", Int) = 0 + [HideInInspector]_DepthMaskAnimated ("Depth Mask", Int) = 0 + [HideInInspector]_DepthGlowEmissionAnimated ("Depth Glow Emission", Int) = 0 + [HideInInspector]_FadeLengthAnimated ("Fade Length", Int) = 0 + [HideInInspector]_DepthAlphaMinAnimated ("Alpha Min", Int) = 0 + [HideInInspector]_DepthAlphaMaxAnimated ("Alpha Max", Int) = 0 + + // Hologram + [HideInInspector]_EnableHoloAnimated ("Enable Hologram Alpha", Int) = 0 + [HideInInspector]_HoloAlphaMapAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_HoloCoordinateSpaceAnimated ("Coordinate Space", Int) = 0 + [HideInInspector]_HoloDirectionAnimated ("Scroll Direction", Int) = 0 + [HideInInspector]_HoloLineDensityAnimated ("Line Density", Int) = 0 + [HideInInspector]_HoloScrollSpeedAnimated ("Scroll Speed", Int) = 0 + [HideInInspector]_HoloFresnelAlphaAnimated ("Intensity", Int) = 0 + [HideInInspector]_HoloRimSharpnessAnimated ("Sharpness", Int) = 0 + [HideInInspector]_HoloRimWidthAnimated ("Width", Int) = 0 + + // GrabPass + [HideInInspector]_GrabPassUseAlphaAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabPassBlendFactorAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabSrcBlendAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabDstBlendAnimated ("Destination Blend", Int) = 0 + [HideInInspector]_RefractionEnabledAnimated ("Enable Refraction,", Int) = 0 + [HideInInspector]_RefractionIndexAnimated ("Refraction", Int) = 0 + [HideInInspector]_RefractionChromaticAberattionAnimated ("Chromatic Aberration", Int) = 0 + [HideInInspector]_EnableBlurAnimated ("Enable Blur", Int) = 0 + [HideInInspector]_GrabBlurDistanceAnimated ("Blur Distance", Int) = 0 + [HideInInspector]_GrabBlurQualityAnimated ("Blur Quality", Int) = 0 + [HideInInspector]_GrabBlurDirectionsAnimated ("Blur Direction", Int) = 0 + + // Iridescence + [HideInInspector]_EnableIridescenceAnimated ("Enable Iridescence", Int) = 0 + [HideInInspector]_IridescenceRampAnimated ("Ramp", Int) = 0 + [HideInInspector]_IridescenceNormalToggleAnimated ("Custom Normals?", Int) = 0 + [HideInInspector]_IridescenceNormalMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_IridescenceMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_IridescenceNormalIntensityAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_IridescenceNormalUVAnimated ("Normal UV", Int) = 0 + [HideInInspector]_IridescenceMaskUVAnimated ("Mask UV", Int) = 0 + [HideInInspector]_IridescenceNormalSelectionAnimated ("Normal Select", Int) = 0 + [HideInInspector]_IridescenceIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_IridescenceAddBlendAnimated ("Blend Add", Int) = 0 + [HideInInspector]_IridescenceReplaceBlendAnimated ("Blend Replace", Int) = 0 + [HideInInspector]_IridescenceMultiplyBlendAnimated ("Blend Multiply", Int) = 0 + [HideInInspector]_IridescenceEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_IridescenceTimeAnimated ("When To Run", Int) = 0 + + // Vertex Glitching + [HideInInspector]_EnableVertexGlitchAnimated ("Enable Vertex Glitching", Int) = 0 + [HideInInspector]_VertexGlitchFrequencyAnimated ("Glitch Interval", Int) = 0 + [HideInInspector]_VertexGlitchThresholdAnimated ("Glitch Threshold", Int) = 0 + [HideInInspector]_VertexGlitchStrengthAnimated ("Glitch Strength", Int) = 0 + + // Spawn In Effects + [HideInInspector]_EnableScifiSpawnInAnimated ("Enable Sci Fi Spawn", Int) = 0 + [HideInInspector]_SpawnInNoiseAnimated ("Spawn Noise", Int) = 0 + [HideInInspector]_SpawnInNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_SpawnInAlphaAnimated ("Spawn Alpha", Int) = 0 + [HideInInspector]_SpawnInGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_SpawnInGradientFinishAnimated ("Gradient End", Int) = 0 + [HideInInspector]_SpawnInEmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_SpawnInEmissionOffsetAnimated ("Emission Width", Int) = 0 + [HideInInspector]_SpawnInVertOffsetAnimated ("Vertex Offset Speed", Int) = 0 + [HideInInspector]_SpawnInVertOffsetOffsetAnimated ("vert width", Int) = 0 + + // Voronoi + [HideInInspector]_VoronoiTypeAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiSpaceAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiBlendAnimated ("Blend", Int) = 0 + [HideInInspector]_EnableVoronoiAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiEffectsMaterialAlphaAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_VoronoiMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseAnimated ("Edge Noise", Int) = 0 + [HideInInspector]_VoronoiNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_VoronoiColor0Animated ("Color 0", Int) = 0 + [HideInInspector]_VoronoiEmission0Animated ("Emission 0", Int) = 0 + [HideInInspector]_VoronoiColor1Animated ("Color 1", Int) = 0 + [HideInInspector]_VoronoiEmission1Animated ("Emission 1", Int) = 0 + [HideInInspector]_VoronoiGradientAnimated ("Gradient", Int) = 0 + [HideInInspector]_VoronoiScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_VoronoiSpeedAnimated ("Speed", Int) = 0 + [HideInInspector]_VoronoiEnableRandomCellColorAnimated ("Rando Cell Col", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + + // Blacklight mask + [HideInInspector]_BlackLightMaskEnabledAnimated ("Black Light Mask Enabled", Int) = 0 + [HideInInspector]_BlackLightMaskKeysAnimated ("Mask Keys", Int) = 0 + [HideInInspector]_BlackLightMaskStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_BlackLightMaskEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_BlackLightMaskDebugAnimated ("Visualize", Int) = 0 + [HideInInspector]_BlackLightMaskMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_BlackLightMaskClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_BlackLightMaskMatcapAnimated ("Matcap 1", Int) = 0 + [HideInInspector]_BlackLightMaskMatcap2Animated ("Matcap 2", Int) = 0 + [HideInInspector]_BlackLightMaskEmissionAnimated ("Emission 1", Int) = 0 + [HideInInspector]_BlackLightMaskEmission2Animated ("Emission 2", Int) = 0 + [HideInInspector]_BlackLightMaskFlipbookAnimated ("Flipbook", Int) = 0 + [HideInInspector]_BlackLightMaskDissolveAnimated ("Dissolve", Int) = 0 + [HideInInspector]_BlackLightMaskPanosphereAnimated ("Panosphere", Int) = 0 + [HideInInspector]_BlackLightMaskGlitterAnimated ("Glitter", Int) = 0 + [HideInInspector]_BlackLightMaskIridescenceAnimated ("Iridescence", Int) = 0 + + // Outline Options + [HideInInspector]_OutlineModeAnimated ("Mode", Int) = 0 + [HideInInspector]_OutlineFixedSizeAnimated ("Fixed Size?", Int) = 0 + [HideInInspector]_OutlineUseVertexColorsAnimated ("V Color", Int) = 0 + [HideInInspector]_OutlineLitAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LineWidthAnimated ("Width", Int) = 0 + [HideInInspector]_LineColorAnimated ("Color", Int) = 0 + [HideInInspector]_OutlineTintMixAnimated ("Tint Mix", Int) = 0 + [HideInInspector]_OutlineEmissionAnimated ("Outline Emission", Int) = 0 + [HideInInspector]_OutlineTextureAnimated ("Outline Texture", Int) = 0 + [HideInInspector]_OutlineMaskAnimated ("Outline Mask", Int) = 0 + [HideInInspector]_OutlineTexturePanAnimated ("Outline Texture Pan", Int) = 0 + [HideInInspector]_OutlineShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_OutlineRimLightBlendAnimated ("Rim Light Blend", Int) = 0 + [HideInInspector]_OutlinePersonaDirectionAnimated ("directional Offset XY", Int) = 0 + [HideInInspector]_OutlineDropShadowOffsetAnimated ("Drop Direction XY", Int) = 0 + [HideInInspector]_OutlineFadeDistanceAnimated ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetFactor ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetUnits ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineCullAnimated ("Cull", Int) = 0 + + // Parallax Mapping + [HideInInspector]_ParallaxMapAnimated ("Enable Parallax FX", Int) = 0 + [HideInInspector]_ParallaxHeightMapEnabledAnimated ("Enable Parallax Height", Int) = 0 + [HideInInspector]_ParallaxInternalMapEnabledAnimated ("Enable Parallax Internal", Int) = 0 + [HideInInspector]_ParallaxHeightMapPanAnimated ("Pan", Int) = 0 + [HideInInspector]_ParallaxUVAnimated ("Parallax UV", Int) = 0 + [HideInInspector]_ParallaxHeightMapAnimated ("Height Map", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxStrengthAnimated ("Parallax Strength", Int) = 0 + [HideInInspector]_ParallaxInternalHeightmapModeAnimated ("Parallax Mode", Int) = 0 + [HideInInspector]_ParallaxInternalHeightFromAlphaAnimated ("HeightFromAlpha", Int) = 0 + [HideInInspector]_ParallaxInternalMapAnimated ("Internal Map", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxInternalIterationsAnimated ("Parallax Internal Iterations", Int) = 0 + [HideInInspector]_ParallaxInternalMinDepthAnimated ("Min Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMaxDepthAnimated ("Max Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMinFadeAnimated ("Min Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMaxFadeAnimated ("Max Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMinColorAnimated ("Min Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalMaxColorAnimated ("Max Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalPanSpeedAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_ParallaxInternalPanDepthSpeedAnimated ("Per Level Speed Multiplier", Int) = 0 + [HideInInspector]_ParallaxBiasAnimated ("Parallax Bias (0.42)", Int) = 0 + + // Rendering Options + [HideInInspector]_CullAnimated ("Cull", Int) = 0 + [HideInInspector]_ZTestAnimated ("ZTest", Int) = 0 + [HideInInspector]_ZWriteAnimated ("ZWrite", Int) = 0 + [HideInInspector]_ColorMaskAnimated ("Color Mask", Int) = 0 + [HideInInspector]_OffsetFactorAnimated ("Offset Factor", Int) = 0 + [HideInInspector]_OffsetUnitsAnimated ("Offset Units", Int) = 0 + [HideInInspector]_IgnoreFogAnimated ("Ignore Fog", Int) = 0 + + // Blending Options + [HideInInspector]_BlendOpAnimated ("RGB Blend Op", Int) = 0 + [HideInInspector]_BlendOpAlphaAnimated ("Alpha Blend Op", Int) = 0 + [HideInInspector]_SrcBlendAnimated ("RGB Source Blend", Int) = 0 + [HideInInspector]_DstBlendAnimated ("RGB Destination Blend", Int) = 0 + + // Stencils + [HideInInspector]_StencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_StencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_StencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_StencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_StencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_StencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_StencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Outline Stencil + [HideInInspector]_OutlineStencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_OutlineStencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_OutlineStencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_OutlineStencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_OutlineStencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_OutlineStencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_OutlineStencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Debug Options + [HideInInspector]_VertexUnwrapAnimated ("Unwrap", Range(0, 1)) = 0 + [HideInInspector]_DebugMeshDataAnimated ("Mesh Data", Int) = 0 + [HideInInspector]_DebugLightingDataAnimated ("Lighting Data", Int) = 0 + [HideInInspector]_DebugCameraDataAnimated ("Camera Data", Int) = 0 + } + + + //originalEditorCustomEditor "PoiToon" + CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "Opaque" "Queue" = "Geometry" } + +// //EnableOutlinePass +// Pass +// { +// Name "Outline" +// Tags { "LightMode" = "ForwardBase" } +// Stencil +// { +// Ref [_OutlineStencilRef] +// ReadMask [_OutlineStencilReadMask] +// WriteMask [_OutlineStencilWriteMask] +// Comp [_OutlineStencilCompareFunction] +// Pass [_OutlineStencilPassOp] +// Fail [_OutlineStencilFailOp] +// ZFail [_OutlineStencilZFailOp] +// } +// ZTest [_ZTest] +// ColorMask [_ColorMask] +// Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits] +// BlendOp [_BlendOp], [_BlendOpAlpha] +// Blend [_SrcBlend] [_DstBlend] +// ZWrite [_ZWrite] +// AlphaToMask [_AlphaToMask] +// Cull [_OutlineCull] +// CGPROGRAM +// +// #pragma target 5.0 +// #define FORWARD_BASE_PASS +// #define OUTLINE +// float _Mode; +// // patreon Additive +// // Black Light Mask +//// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF +// // voronoi +//// #pragma shader_feature CHROMATIC_ABERRATION +// // UV Distortion +//// #pragma shader_feature USER_LUT +// // Vertex Offsets +//// #pragma shader_feature AUTO_EXPOSURE +// // Mirror +//// #pragma shader_feature _REQUIRE_UV2 +// // Random +//// #pragma shader_feature _SUNDISK_NONE +// // Dissolve +//// #pragma shader_feature DISTORT +// // Lighting +//// #pragma shader_feature VIGNETTE_MASKED +// #pragma multi_compile_fwdbase +// #pragma fragmentoption ARB_precision_hint_fastest +// #pragma multi_compile_fog +// #pragma multi_compile_instancing +// #pragma vertex vert +// #pragma fragment frag +// #include "../Includes/CGI_PoiPassOutline.cginc" +// ENDCG +// +// } + //EnableOutlinePass + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + + ZWrite [_ZWrite] + Cull [_Cull] + AlphaToMask [_AlphaToMask] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend] + + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_BASE_PASS + float _Mode; + // Base Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + #pragma multi_compile _ VERTEXLIGHT_ON + // patreon Base + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Grab Pass Blur +// #pragma shader_feature CHROMATIC_ABERRATION_LOW + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Touch Color +// #pragma shader_feature GRAIN + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma multi_compile_instancing + #pragma multi_compile_fwdbase + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile_fog + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + + //LightingAdditiveEnable + Pass + { + Name "ForwardAddPass" + Tags { "LightMode" = "ForwardAdd" } + + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend One One + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_ADD_PASS + float _Mode; + // Add Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + // patreon Additive + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW +// #pragma shader_feature _PARALLAX_MAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Disable Directionals +// #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + + #pragma multi_compile_instancing + #pragma multi_compile_fwdadd_fullshadows + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + //LightingAdditiveEnable + + //LightingCastShadows + Pass + { + Name "ShadowCasterPass" + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + AlphaToMask Off + ZWrite [_ZWrite] + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_SHADOW + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Dissolve +// #pragma shader_feature DISTORT + #pragma multi_compile_instancing + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + #include "../Includes/CGI_PoiPassShadow.cginc" + ENDCG + + } + //LightingCastShadows + + Pass + { + Tags { "LightMode" = "Meta" } + Cull Off + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_META_PASS + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta new file mode 100644 index 00000000..92530a78 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Shoes_12-52eb0859/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 20b7846661cf9e14485d99510a71860e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c.meta new file mode 100644 index 00000000..62d2f385 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b319858690e1b8e469bcf429ac4e6958 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets.meta new file mode 100644 index 00000000..87c234cb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 760f61196eec3b44281b7fb44a42ccae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources.meta new file mode 100644 index 00000000..ce5525a7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 11b4269de47b4a644b03d50969814e27 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi.meta new file mode 100644 index 00000000..f0035c34 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 392f2c290da28df408aec9b7069b44c0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders.meta new file mode 100644 index 00000000..07e88942 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6b7d78df89341dc4c81a63b7f487b7fb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon.meta new file mode 100644 index 00000000..4c74d2fa --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 15c73b22806587148aa3b5d8f673ae07 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta new file mode 100644 index 00000000..fb92281d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4d270149ebfc44f429c278f6062073ae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc new file mode 100644 index 00000000..afa6c2cd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc @@ -0,0 +1,32 @@ +#ifndef POI_ALPHA_TO_COVERAGE + #define POI_ALPHA_TO_COVERAGE + + half _MainMipScale; + float _MainAlphaToCoverage; + + float CalcMipLevel(float2 texture_coord) + { + float2 dx = ddx(texture_coord); + float2 dy = ddy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + + return 0.5 * log2(delta_max_sqr); + } + + void ApplyAlphaToCoverage(inout float4 finalColor) + { + // Force Model Opacity to 1 if desired + + if (float(0) == 1) + { + + if(float(0)) + { + // rescale alpha by mip level + finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.00390625,0.00390625,256,256).zw)) * float(0.25); + // rescale alpha by partial derivative + finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta new file mode 100644 index 00000000..05abd02f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 287393ba843eb8f4faf4df0c1d3b6712 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc new file mode 100644 index 00000000..e529136f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc @@ -0,0 +1,32 @@ +#ifndef POI_BACKFACE + #define POI_BACKFACE + + float _BackFaceEnabled; + float _BackFaceTextureUV; + float _BackFaceDetailIntensity; + float _BackFaceEmissionStrength; + float2 _BackFacePanning; + float _BackFaceHueShift; + float4 _BackFaceColor; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST; + + float3 BackFaceColor; + void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission) + { + backFaceEmission = 0; + BackFaceColor = 0; + + if (float(0)) + { + if(!poiMesh.isFrontFace) + { + albedo = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + backFaceDetailIntensity = float(1); + BackFaceColor = albedo.rgb; + mixedHueShift = float(0); + backFaceEmission = BackFaceColor * float(0); + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta new file mode 100644 index 00000000..adb60c9a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0afd72929251c3c4b8935afb153b2079 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc new file mode 100644 index 00000000..750364ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc @@ -0,0 +1,54 @@ +#ifndef POI_BLACKLIGHT + #define POI_BLACKLIGHT + + float4 _BlackLightMaskStart; + float4 _BlackLightMaskEnd; + float4 _BlackLightMaskKeys; + float _BlackLightMaskDebug; + float _BlackLightMaskDissolve; + float _BlackLightMaskMetallic; + float _BlackLightMaskClearCoat; + float _BlackLightMaskMatcap; + float _BlackLightMaskMatcap2; + float _BlackLightMaskEmission; + float _BlackLightMaskEmission2; + float _BlackLightMaskFlipbook; + float _BlackLightMaskPanosphere; + float _BlackLightMaskIridescence; + + half _BlackLightMaskGlitter; + + half4 blackLightMask; + + void createBlackLightMask() + { + blackLightMask = 0; + #ifdef VERTEXLIGHT_ON + + for (int lightIndex = 0; lightIndex < 4; lightIndex ++) + { + float3 lightPos = float3(unity_4LightPosX0[lightIndex], unity_4LightPosY0[lightIndex], unity_4LightPosZ0[lightIndex]); + if (!distance(unity_LightColor[lightIndex].rgb, float3(0, 0, 0))) + { + for (int maskIndex = 0; maskIndex < 4; maskIndex ++) + { + float4 comparison = _BlackLightMaskKeys; + if(unity_LightColor[lightIndex].a == comparison[maskIndex]) + { + blackLightMask[maskIndex] = max(blackLightMask[maskIndex], smoothstep(_BlackLightMaskEnd[maskIndex], _BlackLightMaskStart[maskIndex], distance(poiMesh.worldPos, lightPos))); + } + } + } + } + #endif + } +#endif + +/* +#ifdef POI_BLACKLIGHT + if (_BlackLightMaskDissolve != 4) + { + blackLightMask[mask]; + } +#endif +*/ diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta new file mode 100644 index 00000000..53c623a6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8a543145c1755404c9a10a2cc615f8ed +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc new file mode 100644 index 00000000..f87ae6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc @@ -0,0 +1,39 @@ +#ifndef POI_BLENDING + #define POI_BLENDING + + /* + 0: Zero float4(0.0, 0.0, 0.0, 0.0), + 1: One float4(1.0, 1.0, 1.0, 1.0), + 2: DstColor destinationColor, + 3: SrcColor sourceColor, + 4: OneMinusDstColor float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + 5: SrcAlpha sourceColor.aaaa, + 6: OneMinusSrcColor float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + 7: DstAlpha destinationColor.aaaa, + 8: OneMinusDstAlpha float4(1.0, 1.0, 1.0, 1.0) - destinationColor., + 9: SrcAlphaSaturate saturate(sourceColor.aaaa), + 10: OneMinusSrcAlpha float4(1.0, 1.0, 1.0, 1.0) - sourceColor.aaaa, + */ + + float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor) + { + float4 sA = 1-blendFactor; + const float4 blendData[11] = { + float4(0.0, 0.0, 0.0, 0.0), + float4(1.0, 1.0, 1.0, 1.0), + destinationColor, + sourceColor, + float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sA, + saturate(sourceColor.aaaa), + 1 - sA, + }; + + return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor,sourceColor, sA); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta new file mode 100644 index 00000000..50abe752 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 361852f484ac78347a4ec3e17236ec5e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc new file mode 100644 index 00000000..6e4db3fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc @@ -0,0 +1,34 @@ +#ifndef POI_BULGE + #define POI_BULGE + + + sampler2D _BulgeMask; + float _BuldgeFadeLength; + float _BuldgeHeight; + + void bulgyWolgy(inout v2f o) + { + float depth = DecodeFloatRG(tex2Dlod(_CameraDepthTexture, float4(o.grabPos.xy / o.grabPos.w, 0, 0))); + float bulgeMask = tex2Dlod(_BulgeMask, float4(o.uv0.xy, 0, 0)); + depth = Linear01Depth(depth); + + float intersect = 0; + if (depth != 1) + { + float diff = distance(depth, Linear01Depth(o.pos.z / o.pos.w)); + if(diff > 0) + { + intersect = 1 - smoothstep(0, _ProjectionParams.w * _BuldgeFadeLength, diff); + } + } + float4 offset = intersect * _BuldgeHeight * float4(o.normal, 0); + + offset = IsInMirror() ? 0: offset; + offset *= bulgeMask; + + o.worldPos = mul(unity_ObjectToWorld, o.localPos) + offset; + o.localPos = mul(unity_WorldToObject, o.worldPos); + o.pos = UnityObjectToClipPos(o.localPos); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta new file mode 100644 index 00000000..023a20cc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 09f14f58527916d42b618fde5d3f7d51 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc new file mode 100644 index 00000000..5adf7340 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc @@ -0,0 +1,108 @@ +#ifndef POI_CLEARCOAT + #define POI_CLEARCOAT + + samplerCUBE _ClearCoatCubeMap; + float _ClearCoatSampleWorld; + POI_TEXTURE_NOSAMPLER(_ClearCoatMask); + POI_TEXTURE_NOSAMPLER(_ClearCoatSmoothnessMap); + float _ClearCoatInvertSmoothness; + float _ClearCoat; + float _ClearCoatSmoothness; + float3 _ClearCoatTint; + float _ClearCoatNormalToUse; + float _ClearCoatForceLighting; + float lighty_clear_boy_uwu_var; + + + float3 CalculateClearCoatEnvironmentalReflections() + { + float3 reflectionColor; + + float smoothnessMap = (POI2D_SAMPLER_PAN(_ClearCoatSmoothnessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + if (float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + float roughness = 1 - smoothnessMap; + + lighty_clear_boy_uwu_var = 0; + + float3 reflectedDir = float(0) == 0 ? poiCam.vertexReflectionDir: poiCam.reflectionDir; + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + + + if(float(0) == 0 && no_probe == 0) + { + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflectionColor = lerp(probe1, probe0, interpolator); + } + else + { + reflectionColor = probe0; + } + } + else + { + lighty_clear_boy_uwu_var = 1; + reflectionColor = texCUBElod(_ClearCoatCubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + if(float(0)) + { + lighty_clear_boy_uwu_var = 1; + } + + return reflectionColor * float4(1,1,1,1); + } + + void calculateAndApplyClearCoat(inout float4 finalColor) + { + half clearCoatMap = POI2D_SAMPLER_PAN(_ClearCoatMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskClearCoat != 4) + { + clearCoatMap *= blackLightMask[_BlackLightMaskClearCoat]; + } + #endif + + half3 reflectionColor = CalculateClearCoatEnvironmentalReflections(); + + float NormalDotView = abs(dot(float(1), float(0) == 0 ? poiLight.N0DotV: poiLight.nDotV).r); + #ifdef POI_LIGHTING + finalColor.rgb = lerp(finalColor.rgb, reflectionColor * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var), clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + //finalColor.rgb += reflectionColor; + //finalColor.rgb = finalColor.rgb * (1- (reflectionColor.r + reflectionColor.g + reflectionColor.b)/3) + reflectionColor * clearCoatMap * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var); + #else + finalColor.rgb = lerp(finalColor.rgb, reflectionColor, clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta new file mode 100644 index 00000000..14e1075b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7a8091a1514d5a1458983aebdc36d7c4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc new file mode 100644 index 00000000..687dc443 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc @@ -0,0 +1,262 @@ +#ifndef POI_COLOR + #define POI_COLOR + + #ifndef pi + #define pi float(3.14159265359) + #endif + + static const float Epsilon = 1e-10; + // The weights of RGB contributions to luminance. + // Should sum to unity. + static const float3 HCYwts = float3(0.299, 0.587, 0.114); + static const float HCLgamma = 3; + static const float HCLy0 = 100; + static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5 + static const float3 wref = float3(1.0, 1.0, 1.0); + #define TAU 6.28318531 + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 RGBtoHCV(in float3 RGB) + { + // Based on work by Sam Hocevar and Emil Persson + float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0); + float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx); + float C = Q.x - min(Q.w, Q.y); + float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z); + return float3(H, C, Q.x); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float3 RGBtoHSV(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float S = HCV.y / (HCV.z + Epsilon); + return float3(HCV.x, S, HCV.z); + } + + float3 HSLtoRGB(in float3 HSL) + { + float3 RGB = HUEtoRGB(HSL.x); + float C = (1 - abs(2 * HSL.z - 1)) * HSL.y; + return(RGB - 0.5) * C + HSL.z; + } + + float3 RGBtoHSL(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float L = HCV.z - HCV.y * 0.5; + float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon); + return float3(HCV.x, S, L); + } + + float3 HCYtoRGB(in float3 HCY) + { + + + float3 RGB = HUEtoRGB(HCY.x); + float Z = dot(RGB, HCYwts); + if (HCY.z < Z) + { + HCY.y *= HCY.z / Z; + } + else if(Z < 1) + { + HCY.y *= (1 - HCY.z) / (1 - Z); + } + return(RGB - Z) * HCY.y + HCY.z; + } + + float3 RGBtoHCY(in float3 RGB) + { + // Corrected by David Schaeffer + float3 HCV = RGBtoHCV(RGB); + float Y = dot(RGB, HCYwts); + float Z = dot(HUEtoRGB(HCV.x), HCYwts); + if (Y < Z) + { + HCV.y *= Z / (Epsilon + Y); + } + else + { + HCV.y *= (1 - Z) / (Epsilon + 1 - Y); + } + return float3(HCV.x, HCV.y, Y); + } + + float3 HCLtoRGB(in float3 HCL) + { + float3 RGB = 0; + if(HCL.z != 0) + { + float H = HCL.x; + float C = HCL.y; + float L = HCL.z * HCLmaxL; + float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0)); + float U = (2 * L - C) / (2 * Q - 1); + float V = C / Q; + float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2; + float T; + H *= 6; + if(H <= 0.999) + { + T = tan(A); + RGB.r = 1; + RGB.g = T / (1 + T); + } + else if(H <= 1.001) + { + RGB.r = 1; + RGB.g = 1; + } + else if(H <= 2) + { + T = tan(A); + RGB.r = (1 + T) / T; + RGB.g = 1; + } + else if(H <= 3) + { + T = tan(A); + RGB.g = 1; + RGB.b = 1 + T; + } + else if(H <= 3.999) + { + T = tan(A); + RGB.g = 1 / (1 + T); + RGB.b = 1; + } + else if(H <= 4.001) + { + RGB.g = 0; + RGB.b = 1; + } + else if(H <= 5) + { + T = tan(A); + RGB.r = -1 / T; + RGB.b = 1; + } + else + { + T = tan(A); + RGB.r = 1; + RGB.b = -T; + } + RGB = RGB * V + U; + } + return RGB; + } + + float3 RGBtoHCL(in float3 RGB) + { + float3 HCL; + float H = 0; + float U = min(RGB.r, min(RGB.g, RGB.b)); + float V = max(RGB.r, max(RGB.g, RGB.b)); + float Q = HCLgamma / HCLy0; + HCL.y = V - U; + if(HCL.y != 0) + { + H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi; + Q *= U / V; + } + Q = exp(Q); + HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6); + HCL.y *= Q; + HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2); + return HCL; + } + + //HSL MODIFT + float3 ModifyViaHSL(float3 color, float3 HSLMod) + { + float3 colorHSL = RGBtoHSL(color); + colorHSL.r = frac(colorHSL.r + HSLMod.r); + colorHSL.g = saturate(colorHSL.g + HSLMod.g); + colorHSL.b = saturate(colorHSL.b + HSLMod.b); + return HSLtoRGB(colorHSL); + } + + float3 hueShift(float3 col, float hueAdjust) + { + hueAdjust *= 2 * pi; + const float3 k = float3(0.57735, 0.57735, 0.57735); + half cosAngle = cos(hueAdjust); + return col * cosAngle + cross(k, col) * sin(hueAdjust) + k * dot(k, col) * (1.0 - cosAngle); + } + + float3 poiSaturation(float3 In, float Saturation) + { + float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750)); + return luma.xxx + Saturation.xxx * (In - luma.xxx); + } + // LCH + float xyzF(float t) + { + return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645)); + } + float xyzR(float t) + { + return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655)); + } + float3 rgb2lch(in float3 c) + { + c = mul(float3x3(0.4124, 0.3576, 0.1805, + 0.2126, 0.7152, 0.0722, + 0.0193, 0.1192, 0.9505), c); + c.x = xyzF(c.x / wref.x); + c.y = xyzF(c.y / wref.y); + c.z = xyzF(c.z / wref.z); + float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z)); + return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y)); + } + + float3 lch2rgb(in float3 c) + { + c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y); + + float lg = 1. / 116. * (c.x + 16.); + float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y), + wref.y * xyzR(lg), + wref.z * xyzR(lg - 0.005 * c.z)); + + float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986, + - 0.9689, 1.8758, 0.0415, + 0.0557, -0.2040, 1.0570), xyz); + + return rgb; + } + + //cheaply lerp around a circle + float lerpAng(in float a, in float b, in float x) + { + float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi; + return ang * x + b; + } + + //Linear interpolation between two colors in Lch space + float3 lerpLch(in float3 a, in float3 b, in float x) + { + float hue = lerpAng(a.z, b.z, x); + return float3(lerp(b.xy, a.xy, x), hue); + } + + float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha) + { + return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha)); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta new file mode 100644 index 00000000..ec890895 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6208786dc54cdfa42bd873c77e8c3c4f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc new file mode 100644 index 00000000..cd354f85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc @@ -0,0 +1,249 @@ +#ifndef POI_DATA + #define POI_DATA + + float _ParallaxBias; + float _LightingAdditiveLimitIntensity; + float _LightingAdditiveMaxIntensity; + POI_TEXTURE_NOSAMPLER(_BumpMap); + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailMask); + POI_TEXTURE_NOSAMPLER(_DetailNormalMap); + float _DetailNormalMapScale; + #endif + float _BumpScale; + + void calculateAttenuation(v2f i) + { + #ifdef FORWARD_ADD_PASS + #if defined(POINT) || defined(SPOT) + POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz) + poiLight.additiveShadow = shadow; + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + poiLight.additiveShadow == 0; + #endif + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + // fix for rare bug where light atten is 0 when there is no directional light in the scene + #ifdef FORWARD_BASE_PASS + if (all(_LightColor0.rgb == 0.0)) + { + attenuation = 1.0; + } + #endif + #endif + poiLight.attenuation = attenuation; + } + + void calculateVertexLightingData(in v2f i) + { + #ifdef VERTEXLIGHT_ON + float4 toLightX = unity_4LightPosX0 - i.worldPos.x; + float4 toLightY = unity_4LightPosY0 - i.worldPos.y; + float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z; + float4 lengthSq = 0; + lengthSq += toLightX * toLightX; + lengthSq += toLightY * toLightY; + lengthSq += toLightZ * toLightZ; + + float4 lightAttenSq = unity_4LightAtten0; + float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq); + float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25)); + poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight); + + poiLight.vDotNL = 0; + poiLight.vDotNL += toLightX * poiMesh.normals[1].x; + poiLight.vDotNL += toLightY * poiMesh.normals[1].y; + poiLight.vDotNL += toLightZ * poiMesh.normals[1].z; + + float4 corr = rsqrt(lengthSq); + poiLight.vDotNL = max(0, poiLight.vDotNL * corr); + poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL; + + for (int index = 0; index < 4; index ++) + { + poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]); + + float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos; + poiLight.vDirection[index] = normalize(vertexToLightSource); + //poiLight.vAttenuationDotNL[index] = 1.0 / (1.0 + unity_4LightAtten0[index] * poiLight.vDotNL[index]); + poiLight.vColor[index] = unity_LightColor[index].rgb; + + if (float(0) == 1) + { + float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b)); + poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1))); + } + poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir); + poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]); + poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1); + + #ifdef POI_VAR_DOTLH + poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index])); + #endif + + #ifdef POI_VAR_DOTNH + poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index])); + #endif + } + #endif + } + + void calculateLightingData(in v2f i) + { + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb; + poiLight.color = magic + normalLight; + #else + #ifdef FORWARD_ADD_PASS + poiLight.color = _LightColor0.rgb; + + + if (float(0) == 1) + { + float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b)); + poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1))); + } + #endif + #endif + + #ifdef FORWARD_BASE_PASS + poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + #else + #if defined(POINT) || defined(SPOT) + poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #else + poiLight.direction = _WorldSpaceLightPos0; + #endif + #endif + + poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); + + #ifdef POI_VAR_DOTNH + poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir)); + #endif + + #ifdef POI_VAR_DOTLH + poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir)); + #endif + + poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir); + poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir); + poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); + poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); + poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); + poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); + } + + float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) + { + return cross(normal, tangent.xyz) * (binormalSign * unity_WorldTransformParams.w); + } + + void InitializeMeshData(inout v2f i, uint facing) + { + poiMesh.isFrontFace = facing; + poiMesh.normals[0] = normalize(i.normal); + poiMesh.binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + poiMesh.tangent = i.tangent.xyz; + + #ifndef OUTLINE + if(!poiMesh.isFrontFace) + { + poiMesh.normals[0] *= -1; + poiMesh.tangent *= -1; + poiMesh.binormal *= -1; + } + #endif + + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + poiMesh.barycentricCoordinates = i.barycentricCoordinates; + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + #ifdef POI_UV_DISTORTION + poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy); + #else + poiMesh.uv[4] = poiMesh.uv[0]; + #endif + + poiMesh.vertexColor = i.vertexColor; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + poiMesh.lightmapUV = i.lightmapUV; + #endif + poiMesh.modelPos = i.modelPos; + + #ifdef FUR + poiMesh.furAlpha = i.furAlpha; + #endif + } + + void initializeCamera(v2f i) + { + poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); + poiCam.forwardDir = getCameraForward(); + poiCam.worldPos = _WorldSpaceCameraPos; + poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos); + poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); + poiCam.grabPos = i.grabPos; + poiCam.screenUV = calcScreenUVs(i.grabPos); + poiCam.clipPos = i.pos; + #if defined(GRAIN) + poiCam.worldDirection = i.worldDirection; + #endif + + poiCam.tangentViewDir = normalize(i.tangentViewDir); + poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42)); + } + + void calculateTangentData() + { + poiTData.tangentTransform = float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0]); + poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0])); + } + + void CalculateReflectionData() + { + #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON) + poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); + poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); + #endif + } + + void calculateNormals(inout half3 detailMask) + { + half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + #ifdef FINALPASS + detailMask = POI2D_SAMPLER_PAN(_DetailMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(1) > 0) + { + half3 detailNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_DetailNormalMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1) * detailMask.g); + poiMesh.tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + } + else + { + poiMesh.tangentSpaceNormal = mainNormal; + } + #else + poiMesh.tangentSpaceNormal = mainNormal; + #endif + + #ifdef POI_RGBMASK + calculateRGBNormals(poiMesh.tangentSpaceNormal); + #endif + + poiMesh.normals[1] = normalize( + poiMesh.tangentSpaceNormal.x * poiMesh.tangent + + poiMesh.tangentSpaceNormal.y * poiMesh.binormal + + poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] + ); + + poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1])); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta new file mode 100644 index 00000000..b54ed2f5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0bf1dcf47389a18458069eff14b4899b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc new file mode 100644 index 00000000..125d2cd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc @@ -0,0 +1,107 @@ +#ifndef POI_DEBUG + #define POI_DEBUG + + float _DebugEnabled; + float _DebugMeshData; + float _DebugLightingData; + float _DebugCameraData; + + void displayDebugInfo(inout float4 finalColor) + { + + if (float(0) != 0) + { + //Mesh Data + if (float(0) == 1) + { + finalColor.rgb = poiMesh.normals[0]; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiMesh.normals[1]; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiMesh.tangent; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiMesh.binormal; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiMesh.localPos; + return; + } + + #ifdef POI_LIGHTING + if(float(0) == 1) + { + finalColor.rgb = poiLight.attenuation; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiLight.directLighting; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiLight.indirectLighting; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiLight.lightMap; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiLight.rampedLightMap; + return; + } + else if(float(0) == 6) + { + finalColor.rgb = poiLight.finalLighting; + return; + } + else if(float(0) == 7) + { + finalColor.rgb = poiLight.nDotL; + return; + } + #endif + + if(float(0) == 1) + { + finalColor.rgb = poiCam.viewDir; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiCam.tangentViewDir; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiCam.forwardDir; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiCam.worldPos; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiCam.viewDotNormal; + return; + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta new file mode 100644 index 00000000..0d9787e1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9fa6f549bca055846bfa2c703e5cd93f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc new file mode 100644 index 00000000..280fcbc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc @@ -0,0 +1,58 @@ +#ifndef POI_DECAL + #define POI_DECAL + + POI_TEXTURE_NOSAMPLER(_DecalTexture); + POI_TEXTURE_NOSAMPLER(_DecalMask); + float4 _DecalColor; + fixed _DecalTiled; + fixed _DecalBlendAdd; + fixed _DecalBlendMultiply; + fixed _DecalBlendReplace; + half _DecalRotation; + half2 _DecalScale; + half2 _DecalPosition; + half _DecalRotationSpeed; + float _DecalEmissionStrength; + + void applyDecal(inout float4 albedo, inout float3 decalEmission) + { + float2 uv = poiMesh.uv[float(0)]; + float2 decalCenter = float4(0.5,0.5,0,0); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); + uv = remap(uv, float2(0, 0) - float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float2(0, 0), float2(1, 1)); + + half decalAlpha = 1; + //float2 uv = TRANSFORM_TEX(poiMesh.uv[float(0)], _DecalTexture) + _Time.x * float4(0,0,0,0); + float4 decalColor = POI2D_SAMPLER_PAN(_DecalTexture, _MainTex, uv, float4(0,0,0,0)) * float4(1,1,1,1); + decalAlpha *= POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if (!float(0)) + { + if(uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) + { + decalAlpha = 0; + } + } + + if(float(0)) + { + albedo.rgb = lerp(albedo.rgb, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb *= lerp(1, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb += decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + albedo = saturate(albedo); + decalEmission = decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta new file mode 100644 index 00000000..4fbd92ee --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 41f623c7bc0d98646855db09c868f7d8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc new file mode 100644 index 00000000..9b70067a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc @@ -0,0 +1,21 @@ +#ifndef POI_DEFINES + #define POI_DEFINES + + #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) + + #ifdef _SPECGLOSSMAP // Specular + #ifndef POI_VAR_DOTNH + #define POI_VAR_DOTNH + #endif + #ifndef POI_VAR_DOTLH + #define POI_VAR_DOTLH + #endif + #endif + + #ifdef VIGNETTE_MASKED // Lighting + #ifndef POI_VAR_DOTNL + #define POI_VAR_DOTNL + #endif + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta new file mode 100644 index 00000000..1f4f8fd2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f7d9e5970aee30c48b363c530df1e471 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc new file mode 100644 index 00000000..828460bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc @@ -0,0 +1,112 @@ +#ifndef POI_DEPTH_COLOR + #define POI_DEPTH_COLOR + + float4 _DepthGlowColor; + float _DepthGlowEmission; + float _FadeLength; + float _DepthAlphaMin; + float _DepthAlphaMax; + POI_TEXTURE_NOSAMPLER(_DepthGradient); + POI_TEXTURE_NOSAMPLER(_DepthMask); + float _DepthGradientTextureUV; + float _DepthGradientBlend; + + /* + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, float4 worldDirection, float4 clipPos) + { + float3 touchEmission = 0; + if (!IsInMirror()) + { + float fadeLength = _FadeLength; + fadeLength *= 0.01; + float depth = DecodeFloatRG(tex2Dproj(_CameraDepthTexture, worldDirection)); + depth = Linear01Depth(depth); + if(depth != 1) + { + float diff = distance(depth, Linear01Depth(clipPos.z)); + float intersect = 0; + if(diff > 0) + { + intersect = clamp(1 - smoothstep(0, _ProjectionParams.w * fadeLength, diff), 0, 1); + } + half4 depthGradient = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthGradient, _MainTex, intersect); + half3 depthMask = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthMask, _MainTex, poiMesh.uv[0]); + half3 depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + } + } + depthTouchEmission = touchEmission; + } + */ + + inline float CorrectedLinearEyeDepth(float z, float B) + { + return 1.0 / (z / PM._34 + B); + } + + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, in float4 worldDirection) + { + float3 touchEmission = 0; + float fadeLength = _FadeLength; + fadeLength *= 0.01; + + float perspectiveDivide = 1.0f / poiCam.clipPos.w; + float4 direction = worldDirection * perspectiveDivide; + float2 screenPos = poiCam.grabPos.xy * perspectiveDivide; + float z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenPos); + + #if UNITY_REVERSED_Z + if (z == 0) + #else + if(z == 1) + #endif + return; + + float depth = CorrectedLinearEyeDepth(z, direction.w); + float3 worldpos = direction * depth + _WorldSpaceCameraPos.xyz; + /* + finalColor.rgb = frac(worldpos); + return; + */ + + float diff = distance(worldpos, poiMesh.worldPos); + float intersect = 0; + intersect = clamp(1 - smoothstep(0, fadeLength, diff), 0, 1); + half3 depthMask = POI2D_SAMPLER_PAN(_DepthMask, _MainTex, poiMesh.uv[_DepthMaskUV], _DepthMaskPan); + + half4 depthGradient = 0; + half3 depthColor = 0; + + + if (_DepthGradientTextureUV == 0) + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, float2(intersect, intersect), _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + } + else + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, poiMesh.uv[_DepthGradientUV], _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb * intersect; + } + + + if(_DepthGradientBlend == 0) // rpelace + { + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + } + else if(_DepthGradientBlend == 1) // add + { + finalColor.rgb += depthColor * intersect * depthMask; + } + else if(_DepthGradientBlend == 2) // multiply + { + finalColor.rgb *= lerp(1, depthColor, intersect * depthMask); + } + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect * depthMask); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + + depthTouchEmission = touchEmission; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta new file mode 100644 index 00000000..92cc36d7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 69dda26a8e3f43a4fb8986d1708ebfd8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc new file mode 100644 index 00000000..13175f00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc @@ -0,0 +1,171 @@ +#ifndef POI_DISSOLVE + #define POI_DISSOLVE + + float _DissolveType; + float _DissolveEdgeWidth; + float4 _DissolveEdgeColor; + sampler2D _DissolveEdgeGradient; float4 _DissolveEdgeGradient_ST; + float _DissolveEdgeEmission; + float4 _DissolveTextureColor; + + POI_TEXTURE_NOSAMPLER(_DissolveToTexture); + POI_TEXTURE_NOSAMPLER(_DissolveNoiseTexture); + POI_TEXTURE_NOSAMPLER(_DissolveDetailNoise); + POI_TEXTURE_NOSAMPLER(_DissolveMask); + + float _DissolveMaskInvert; + float _DissolveAlpha; + float _ContinuousDissolve; + float _DissolveDetailStrength; + float _DissolveEdgeHardness; + float _DissolveInvertNoise; + float _DissolveInvertDetailNoise; + float _DissolveToEmissionStrength; + + // Point to Point + float _DissolveP2PWorldLocal; + float _DissolveP2PEdgeLength; + float4 _DissolveStartPoint; + float4 _DissolveEndPoint; + + // World Dissolve + float _DissolveWorldShape; + float4 _DissolveShapePosition; + float4 _DissolveShapeRotation; + float _DissolveShapeScale; + float _DissolveInvertShape; + float _DissolveShapeEdgeLength; + + float _DissolveAlpha0; + float _DissolveAlpha1; + float _DissolveAlpha2; + float _DissolveAlpha3; + float _DissolveAlpha4; + float _DissolveAlpha5; + float _DissolveAlpha6; + float _DissolveAlpha7; + float _DissolveAlpha8; + float _DissolveAlpha9; + + // Masking + float _DissolveEmissionSide; + float _DissolveEmission1Side; + float _DissolveUseVertexColors; + + float4 edgeColor; + float edgeAlpha; + float dissolveAlpha; + float4 dissolveToTexture; + //Globals + + + void calculateDissolve(inout float4 albedo, inout float3 dissolveEmission) + { + + float dissolveMask = POI2D_SAMPLER_PAN(_DissolveMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + + if (float(0)) + { + // Vertex Color Imprecision hype + dissolveMask = ceil(poiMesh.vertexColor.g * 100000) / 100000; + } + + dissolveToTexture = POI2D_SAMPLER_PAN(_DissolveToTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + float dissolveNoiseTexture = POI2D_SAMPLER_PAN(_DissolveNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + float da = float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0); + da = saturate(da); + + float dds = float(0.1); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskDissolve != 4) + { + dissolveMask *= blackLightMask[_BlackLightMaskDissolve]; + } + #endif + + if(float(0)) + { + dissolveMask = 1 - dissolveMask; + } + + float dissolveDetailNoise = POI2D_SAMPLER_PAN(_DissolveDetailNoise, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(0)) + { + dissolveNoiseTexture = 1 - dissolveNoiseTexture; + } + if(float(0)) + { + dissolveDetailNoise = 1 - dissolveDetailNoise; + } + if(float(0) != 0) + { + da = sin(_Time.y * float(0)) * .5 + .5; + } + da *= dissolveMask; + dissolveAlpha = da; + edgeAlpha = 0; + + + if(float(1) == 1) // Basic + { + da = remap(da, 0, 1, -float(0.025), 1); + dissolveAlpha = da; + //Adjust detail strength to avoid artifacts + dds *= smoothstep(1, .99, da); + float noise = saturate(dissolveNoiseTexture - dissolveDetailNoise * dds); + + noise = saturate(noise + 0.001); + //noise = remap(noise, 0, 1, float(0.025), 1 - float(0.025)); + dissolveAlpha = dissolveAlpha >= noise; + edgeAlpha = remapClamped(noise, da + float(0.025), da, 0, 1) * (1 - dissolveAlpha); + } + else if (float(1) == 2) // Point to Point + { + float3 direction; + float3 currentPos; + float distanceTo = 0; + direction = normalize(float4(0,1,0,0) - float4(0,-1,0,0)); + currentPos = lerp(float4(0,-1,0,0), float4(0,1,0,0), dissolveAlpha); + if (float(0) == 0) + { + distanceTo = dot(poiMesh.localPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + else + { + distanceTo = dot(poiMesh.worldPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + } + + albedo = lerp(albedo, dissolveToTexture, dissolveAlpha); + + + if(float(0.025)) + { + edgeColor = tex2D(_DissolveEdgeGradient, TRANSFORM_TEX(float2(edgeAlpha, edgeAlpha), _DissolveEdgeGradient)) * float4(1,1,1,1); + albedo.rgb = lerp(albedo.rgb, edgeColor.rgb, smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + dissolveEmission = lerp(0, dissolveToTexture * float(0), dissolveAlpha) + lerp(0, edgeColor.rgb * float(0), smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta new file mode 100644 index 00000000..8a908a78 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 24d0e52d07285fd468433de9ddcf1622 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc new file mode 100644 index 00000000..91efad39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc @@ -0,0 +1,34 @@ +#ifndef POI_DITHERING + #define POI_DITHERING + fixed _DitheringEnabled; + fixed _DitherGradient; + + half calcDither(half2 grabPos) + { + half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8)); + return dither; + } + + #ifndef POI_SHADOW + void applyDithering(inout float4 finalColor) + { + + if (float(0)) + { + half dither = calcDither(poiCam.screenUV.xy); + finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1)); + } + } + #else + void applyShadowDithering(inout float alpha, float2 screenUV) + { + + if(float(0)) + { + half dither = calcDither(screenUV); + alpha = alpha - (dither * (1 - alpha) * float(0.1)); + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta new file mode 100644 index 00000000..2981a61f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 51a983b89e5d8b14cb409527ec54a886 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc new file mode 100644 index 00000000..cff31fe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc @@ -0,0 +1,240 @@ +#ifndef POI_EMISSION + #define POI_EMISSION + + float4 _EmissionColor; + POI_TEXTURE_NOSAMPLER(_EmissionMap); + POI_TEXTURE_NOSAMPLER(_EmissionMask); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve); float4 _EmissionScrollingCurve_ST; + float _EmissionBaseColorAsMap; + float _EmissionStrength; + float _EnableEmission; + float _EmissionHueShift; + float4 _EmissiveScroll_Direction; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissionBlinkingEnabled; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + float _EnableGITDEmission; + float _GITDEMinEmissionMultiplier; + float _GITDEMaxEmissionMultiplier; + float _GITDEMinLight; + float _GITDEMaxLight; + float _GITDEWorldOrMesh; + float _EmissionCenterOutEnabled; + float _EmissionCenterOutSpeed; + float _EmissionHueShiftEnabled; + float _EmissionBlinkingOffset; + float _EmissionScrollingOffset; + + float4 _EmissionColor1; + #ifdef EFFECT_HUE_VARIATION + POI_TEXTURE_NOSAMPLER(_EmissionMap1); + POI_TEXTURE_NOSAMPLER(_EmissionMask1); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve1); float4 _EmissionScrollingCurve1_ST; + #endif + float _EmissionBaseColorAsMap1; + float _EmissionStrength1; + float _EnableEmission1; + float _EmissionHueShift1; + float4 _EmissiveScroll_Direction1; + float _EmissiveScroll_Width1; + float _EmissiveScroll_Velocity1; + float _EmissiveScroll_Interval1; + float _EmissionBlinkingEnabled1; + float _EmissiveBlink_Min1; + float _EmissiveBlink_Max1; + float _EmissiveBlink_Velocity1; + float _ScrollingEmission1; + float _EnableGITDEmission1; + float _GITDEMinEmissionMultiplier1; + float _GITDEMaxEmissionMultiplier1; + float _GITDEMinLight1; + float _GITDEMaxLight1; + float _GITDEWorldOrMesh1; + float _EmissionCenterOutEnabled1; + float _EmissionCenterOutSpeed1; + float _EmissionHueShiftEnabled1; + float _EmissionBlinkingOffset1; + float _EmissionScrollingOffset1; + + float _EmissionReplace; + + float _EmissionScrollingVertexColor; + float _EmissionScrollingVertexColor1; + + float _EmissionScrollingUseCurve; + float _EmissionScrollingUseCurve1; + + float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled) + { + float glowInTheDarkMultiplier = 1; + + if (enabled) + { + #ifdef POI_LIGHTING + float3 lightValue = float(0) ? poiLight.finalLighting.rgb: poiLight.directLighting.rgb; + float gitdeAlpha = (clamp(poiMax(lightValue), minLight, maxLight) - minLight) / (maxLight - minLight); + glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); + #endif + } + return glowInTheDarkMultiplier; + } + + float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) + { + float phase = 0; + phase = dot(position, direction); + phase -= (_Time.y + offset) * velocity; + phase /= interval; + phase -= floor(phase); + phase = saturate(phase); + return(pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; + } + + float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) + { + float amplitude = (blinkMax - blinkMin) * 0.5f; + float base = blinkMin + amplitude; + return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; + } + + float3 calculateEmissionNew(in float4 baseColor, inout float4 finalColor) + { + // First Emission + float3 emission0 = 0; + float emissionStrength0 = float(0); + float3 emissionColor0 = 0; + + float glowInTheDarkMultiplier0 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + else + { + emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + + + if(float(0)) + { + float3 pos = poiMesh.localPos; + + if(float(0)) + { + pos = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve) + (dot(pos, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos); + } + } + + + if(float(0)) + { + emissionStrength0 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor0 = hueShift(emissionColor0, float(0) * float(0)); + float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask) + _Time.x * float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission != 4) + { + emissionMask0 *= blackLightMask[_BlackLightMaskEmission]; + } + #endif + + emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; + emission0 = emissionStrength0 * emissionColor0; + + #ifdef POI_DISSOLVE + + if(float(2) != 2) + { + emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + + // Second Emission + float3 emission1 = 0; + float emissionStrength1 = 0; + float3 emissionColor1 = 0; + + #ifdef EFFECT_HUE_VARIATION + emissionStrength1 = float(0); + float glowInTheDarkMultiplier1 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor1 = POI2D_SAMPLER_PAN(_EmissionMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + else + { + emissionColor1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap1, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)).rgb * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + + + if(float(0)) + { + float3 pos1 = poiMesh.localPos; + + if(float(0)) + { + pos1 = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength1 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve1) + (dot(pos1, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength1 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos1); + } + } + + if(float(0)) + { + emissionStrength1 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor1 = hueShift(emissionColor1, float(0) * float(0)); + float emissionMask1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask1) + _Time.x * float4(0,0,0,0)); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission2 != 4) + { + emissionMask1 *= blackLightMask[_BlackLightMaskEmission2]; + } + #endif + emissionStrength1 *= glowInTheDarkMultiplier1 * emissionMask1; + emission1 = emissionStrength1 * emissionColor1; + + #ifdef POI_DISSOLVE + if(float(2) != 2) + { + emission1 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + #endif + finalColor.rgb = lerp(finalColor.rgb, saturate(emissionColor0 + emissionColor1), saturate(emissionStrength0 + emissionStrength1) * float(0) * poiMax(emission0 + emission1)); + + return emission0 + emission1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta new file mode 100644 index 00000000..53e4b63a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6cfe8f80cbe597d4ca019027fbbb3338 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc new file mode 100644 index 00000000..1e9188ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc @@ -0,0 +1,43 @@ +#ifndef POI_ENVIRONMENTAL_RIM + #define POI_ENVIRONMENTAL_RIM + + //enviro rim + float _EnableEnvironmentalRim; + POI_TEXTURE_NOSAMPLER(_RimEnviroMask); + float _RimEnviroBlur; + float _RimEnviroMinBrightness; + float _RimEnviroWidth; + float _RimEnviroSharpness; + float _RimEnviroIntensity; + + float3 calculateEnvironmentalRimLighting(in float4 albedo) + { + float enviroRimAlpha = saturate(1 - smoothstep(min(float(0), float(0.45)), float(0.45), poiCam.viewDotNormal)); + float(0.7) *= 1.7 - 0.7 * float(0.7); + + float3 enviroRimColor = 0; + float interpolator = unity_SpecCube0_BoxMin.w; + + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + enviroRimColor = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + enviroRimColor = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + half enviroMask = poiMax(POI2D_SAMPLER_PAN(_RimEnviroMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb); + return lerp(0, max(0, (enviroRimColor - float(0)) * albedo.rgb), enviroRimAlpha).rgb * enviroMask * float(1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta new file mode 100644 index 00000000..3f64c738 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 956dcb329dcb51a4091cc111c98e3ef5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc new file mode 100644 index 00000000..0ed89b59 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc @@ -0,0 +1,153 @@ +#ifndef POI_FLIPBOOK + #define POI_FLIPBOOK + + UNITY_DECLARE_TEX2DARRAY(_FlipbookTexArray); float4 _FlipbookTexArray_ST; + float4 _FlipbookColor; + float _FlipbookFPS; + float _FlipbookTotalFrames; + float4 _FlipbookScaleOffset; + float _FlipbookTiled; + float _FlipbookCurrentFrame; + float _FlipbookEmissionStrength; + float _FlipbookRotation; + float _EnableFlipbook; + float _FlipbookTexArrayUV; + float _FlipbookAlphaControlsFinalAlpha; + float _FlipbookRotationSpeed; + float _FlipbookIntensityControlsAlpha; + float _FlipbookColorReplaces; + float2 _FlipbookTexArrayPan; + + // blending + float _FlipbookReplace; + float _FlipbookMultiply; + float _FlipbookAdd; + POI_TEXTURE_NOSAMPLER(_FlipbookMask); + + // anim + float _FlipbookMovementType; + float4 _FlipbookStartEndOffset; + float _FlipbookMovementSpeed; + + // Global + float4 flipBookPixel; + float4 flipBookPixelMultiply; + float flipBookMask; + + #ifndef POI_SHADOW + + void applyFlipbook(inout float4 finalColor, inout float3 flipbookEmission) + { + flipBookMask = POI2D_SAMPLER_PAN(_FlipbookMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float2 uv = frac(poiMesh.uv[float(0)]); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + // 2d rotation + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + if (float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipBookPixel = 0; + return; + } + } + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + flipBookPixel = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipBookPixel.a = poiMax(flipBookPixel.rgb); + } + + if(float(0)) + { + flipBookPixel.rgb = float4(1,1,1,1).rgb; + } + else + { + flipBookPixel.rgb *= float4(1,1,1,1).rgb; + } + + #ifdef POI_BLACKLIGHT + + if(_BlackLightMaskFlipbook != 4) + { + flipBookMask *= blackLightMask[_BlackLightMaskFlipbook]; + } + #endif + + finalColor.rgb = lerp(finalColor, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * float(1) * flipBookMask); + finalColor.rgb = finalColor + flipBookPixel.rgb * float(0) * flipBookMask; + finalColor.rgb = finalColor * lerp(1, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * flipBookMask * float(0)); + + + if(float(0)) + { + finalColor.a = lerp(finalColor.a, flipBookPixel.a * float4(1,1,1,1).a, flipBookMask); + } + flipbookEmission = lerp(0, flipBookPixel.rgb * float(0), flipBookPixel.a * float4(1,1,1,1).a * flipBookMask); + } + + #else + + float applyFlipbookAlphaToShadow(float2 uv) + { + + if(float(0)) + { + float flipbookShadowAlpha = 0; + + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float theta = radians(float(0)); + + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + half4 flipbookColor = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipbookColor.a = poiMax(flipbookColor.rgb); + } + + + if(float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipbookColor.a = 0; + } + } + return flipbookColor.a * float4(1,1,1,1).a; + } + return 1; + } + + #endif +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta new file mode 100644 index 00000000..630692b8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 15d5e30df721d474d9a95a8fad04a720 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc new file mode 100644 index 00000000..aa950e7d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc @@ -0,0 +1,376 @@ +#ifndef POIFRAG + #define POIFRAG + + float _MainEmissionStrength; + float _IgnoreFog; + half _GIEmissionMultiplier; + float _IridescenceTime; + float _AlphaToMask; + float _ForceOpaque; + float _commentIfZero_EnableGrabpass; + float _AlphaPremultiply; + float2 _MainTexPan; + float _MainTextureUV; + float _commentIfZero_LightingAdditiveEnable; + + float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target + { + #ifdef FORWARD_ADD_PASS + #if !defined(POI_LIGHTING) + return 0; + #endif + #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL) + return 0; + #endif + #endif + #ifdef FORWARD_ADD_PASS + + if (float(1) == 0) + { + return 0; + } + #endif + UNITY_SETUP_INSTANCE_ID(i); + // Color + float4 albedo = 1; + float4 finalColor = 1; + + // Lighting + float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication + float3 finalSpecular0 = 0; + float3 finalSpecular1 = 0; + float3 finalSSS = 0; + fixed lightingAlpha = 1; + float3 finalEnvironmentalRim = 0; + + // Emissions + float3 finalEmission = 0; + float3 finalLighting = 1; + float3 IridescenceEmission = 0; + float3 spawnInEmission = 0; + float3 voronoiEmission = 0; + float3 matcapEmission = 0; + float3 depthTouchEmission = 0; + float3 decalEmission = 0; + float3 glitterEmission = 0; + float3 panosphereEmission = 0; + float3 backFaceEmission = 0; + float3 dissolveEmission = 0; + float3 rimLightEmission = 0; + float3 flipbookEmission = 0; + float3 textOverlayEmission = 0; + float3 videoEmission = 0; + /********************************************************************** + Initialize the base data that's needed everywhere else in the shader + **********************************************************************/ + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + + #ifdef POI_BLACKLIGHT + createBlackLightMask(); + + if (_BlackLightMaskDebug) + { + return float4(blackLightMask.rgb, 1); + } + #endif + + // This has to happen in the initializbecause it alters UV data globally + #ifdef POI_PARALLAX + calculateandApplyParallax(); + #endif + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + calculateVertexLightingData(i); + /********************************************************************** + Calculate Light Maps + **********************************************************************/ + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + /********************************************************************** + Calculate Color Data + **********************************************************************/ + + initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask); + + #ifdef POI_DECAL + applyDecal(albedo, decalEmission); + #endif + + + #ifdef POI_IRIDESCENCE + + if (_IridescenceTime == 0) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VORONOI + applyVoronoi(albedo, voronoiEmission); + #endif + + #ifdef POI_MSDF + ApplyTextOverlayColor(albedo, textOverlayEmission); + #endif + + #ifdef POI_ENVIRONMENTAL_RIM + finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo); + #endif + + #if defined(POI_METAL) || defined(POI_CLEARCOAT) + CalculateReflectionData(); + #endif + + #ifdef POI_DATA + distanceFade(albedo); + #endif + + #ifdef POI_RANDOM + albedo.a *= i.angleAlpha; + #endif + + #ifdef MATCAP + applyMatcap(albedo, matcapEmission); + #endif + + #ifdef PANOSPHERE + applyPanosphereColor(albedo, panosphereEmission); + #endif + + #ifdef POI_FLIPBOOK + applyFlipbook(albedo, flipbookEmission); + #endif + + #ifdef POI_GLITTER + applyGlitter(albedo, glitterEmission); + #endif + + #ifdef POI_RIM + applyRimLighting(albedo, rimLightEmission); + #endif + + #ifdef POI_DEPTH_COLOR + applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection); + #endif + + #ifdef POI_IRIDESCENCE + + if(_IridescenceTime == 1) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VIDEO + applyScreenEffect(albedo, videoEmission); + #endif + + applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos); + + /********************************************************************** + Handle a few alpha options + **********************************************************************/ + + if (float(0) == 1) + { + + if(float(0) == 0) + { + applyDithering(albedo); + } + } + + albedo.a = max(float(0), albedo.a); + + + if(float(0) >= 1) + { + clip(albedo.a - float(0.5)); + } + + + if(float(0)) + { + albedo.rgb *= saturate(albedo.a + 0.0000000001); + } + + /********************************************************************** + Lighting Time :) + **********************************************************************/ + + #ifdef POI_LIGHTING + finalLighting = calculateFinalLighting(albedo.rgb, finalColor); + + #ifdef SUBSURFACE + finalSSS = calculateSubsurfaceScattering(); + #endif + #endif + + float4 finalColorBeforeLighting = albedo; + finalColor = finalColorBeforeLighting; + + #ifdef POI_SPECULAR + finalSpecular0 = calculateSpecular(finalColorBeforeLighting); + #endif + #ifdef POI_PARALLAX + calculateAndApplyInternalParallax(finalColor); + #endif + + #ifdef POI_ALPHA_TO_COVERAGE + ApplyAlphaToCoverage(finalColor); + #endif + + + if (float(0) == 1) + { + + if(float(0) == 1) + { + applyDithering(finalColor); + } + } + + #ifdef POI_METAL + calculateMetallicness(); + bool probeExists = shouldMetalHappenBeforeLighting(); + + if(!probeExists) + { + ApplyMetallicsFake(finalColor, albedo); + } + #endif + + #ifdef POI_LIGHTING + #if defined(FORWARD_ADD_PASS) && defined(POI_METAL) + finalLighting *= 1 - metalicMap; + #endif + #endif + + #ifdef VERTEXLIGHT_ON + finalColor.rgb *= finalLighting + poiLight.vFinalLighting; + #else + finalColor.rgb *= finalLighting; + #endif + + #ifdef POI_METAL + + if(probeExists) + { + ApplyMetallics(finalColor, albedo); + } + #endif + + finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS; + + #ifdef FORWARD_BASE_PASS + #ifdef POI_CLEARCOAT + calculateAndApplyClearCoat(finalColor); + #endif + #endif + + finalColor.a = saturate(finalColor.a); + + /********************************************************************** + Add Up all the emission values :D + **********************************************************************/ + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a; + finalEmission += wireframeEmission; + finalEmission += IridescenceEmission; + finalEmission += spawnInEmission; + finalEmission += voronoiEmission; + finalEmission += matcapEmission; + finalEmission += depthTouchEmission; + finalEmission += decalEmission; + finalEmission += glitterEmission; + finalEmission += panosphereEmission; + finalEmission += backFaceEmission; + finalEmission += rimLightEmission; + finalEmission += flipbookEmission; + finalEmission += videoEmission; + finalEmission += textOverlayEmission; + finalEmission += dissolveEmission; + #ifdef POI_EMISSION + finalEmission += calculateEmissionNew(finalColorBeforeLighting, finalColor); + #endif + #endif + + /********************************************************************** + Meta Pass Hype :D + **********************************************************************/ + #ifdef POI_META_PASS + UnityMetaInput meta; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta); + meta.Emission = finalEmission * float(1); + meta.Albedo = saturate(finalColor.rgb); + #ifdef POI_SPECULAR + meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a; + #else + meta.SpecularColor = poiLight.color.rgb * albedo.rgb; + #endif + return UnityMetaFragment(meta); + #endif + + /********************************************************************** + Apply Emission to finalColor + **********************************************************************/ + finalColor.rgb += finalEmission; + + /********************************************************************** + Grabpass features + **********************************************************************/ + + + if (_commentIfZero_EnableGrabpass) + { + applyGrabEffects(finalColor); + } + + /********************************************************************** + Unity Fog + **********************************************************************/ + #ifdef FORWARD_BASE_PASS + + if (float(0) == 0) + { + UNITY_APPLY_FOG(i.fogCoord, finalColor); + } + #endif + + #ifdef FORWARD_ADD_PASS + if(float(0) > 0) + { + finalColor.rgb *= finalColor.a; + } + #endif + + + if(float(0) == 0) + { + finalColor.a = 1; + } + + #ifdef FORWARD_ADD_PASS + //finalColor.rgb = smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5)); + #endif + + #ifdef POI_DEBUG + displayDebugInfo(finalColor); + #endif + + //finalColor.rgb = frac(finalColor.rgb); + return finalColor; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta new file mode 100644 index 00000000..0992ae8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 954184902571e9b4bb8e6c5ecf51c4a1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc new file mode 100644 index 00000000..8d260cdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc @@ -0,0 +1,41 @@ +#ifndef POI_FUR + #define POI_FUR + + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurTexture); float4 _FurTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurHeightMap); float4 _FurHeightMap_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurMask); float4 _FurMask_ST; + float _FurAO; + float4 _FurColor; + float _FurLayers; + float _FurMinDistance; + float _FurMaxDistance; + float _FurHeightMapMin; + float _FurHeightMapMax; + float _FurDebug; + float _AoRampMin; + float _AoRampMax; + float _FurTipAlpha; + float _FurFadeStart; + + //globals + half furHeightMap; + half furMask; + + void calculateFur() + { + + furHeightMap = UNITY_SAMPLE_TEX2D_SAMPLER(_FurHeightMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurHeightMap)).x; + furHeightMap = remap(furHeightMap, 0, _FurHeightMapMax, _FurHeightMapMin, 1); + furMask = poiMax(UNITY_SAMPLE_TEX2D_SAMPLER(_FurMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurMask)).xyz); + half3 furTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_FurTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurTexture)); + clip(furHeightMap - poiMesh.furAlpha); + clip(furMask - poiMesh.furAlpha); + + albedo.rgb = lerp(mainTexture.rgb, furTexture.rgb * _FurColor.rgb, ceil(poiMesh.furAlpha)); + float aoRampMax = _AoRampMax - (1 - furMask); + albedo.rgb *= lerp(1, smoothstep(_AoRampMin, aoRampMax, furHeightMap), _FurAO); + + albedo.a *= smoothstep(1.01, _FurTipAlpha, remapClamped(poiMesh.furAlpha, _FurFadeStart, 1, 0, 1)) + float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta new file mode 100644 index 00000000..d2aae6cc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c013e10d16796914bb8988fb862da148 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc new file mode 100644 index 00000000..032f3b08 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc @@ -0,0 +1,37 @@ +float _FurLength; +float _FurGravityStrength; + +[instance(4)] +[maxvertexcount(20)] +void geomFur(triangle v2f IN[3], inout TriangleStream < v2f > tristream, uint InstanceID : SV_GSInstanceID) +{ + float4 fur_worldPos[3]; + v2f o_fur[3]; + float3 offset = (float3(0, -1, 0) * (_FurLength*.9) *_FurGravityStrength); + + for (int i = 0; i < 3; i++) + { + if (InstanceID == 0) { + IN[i].furAlpha = 0; + tristream.Append(IN[i]); + } + o_fur[i] = IN[i]; + fur_worldPos[i] = float4(IN[i].worldPos + IN[i].normal * _FurLength, 1); + } + if (InstanceID == 0) { + tristream.RestartStrip(); + } + int Total_FurLayers = clamp(floor(_FurLayers * (1 - smoothstep(_FurMinDistance, _FurMaxDistance, distance(IN[0].worldPos, getCameraPosition())))), min(1, _FurLayers), _FurLayers); + + int startLayer = max(int(InstanceID) * 6 - 1, 0); + for (int layer = startLayer; layer < Total_FurLayers; layer++) { + for (int i = 0; i < 3; i++) { + o_fur[i].furAlpha = float(layer) / Total_FurLayers; + o_fur[i].worldPos = float4(lerp(IN[i].worldPos, fur_worldPos[i] + offset * o_fur[i].furAlpha, o_fur[i].furAlpha),1); + o_fur[i].pos = UnityWorldToClipPos(o_fur[i].worldPos); + o_fur[i].furAlpha += .01; + tristream.Append(o_fur[i]); + } + tristream.RestartStrip(); + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta new file mode 100644 index 00000000..7ef90bec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a419ea103fbd1b44bb88c80869f82646 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc new file mode 100644 index 00000000..e31b6498 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc @@ -0,0 +1,232 @@ +#ifndef POI_GLITTER + #define POI_GLITTER + + half3 _GlitterColor; + POI_TEXTURE_NOSAMPLER(_GlitterMask); + float2 _GlitterPan; + POI_TEXTURE_NOSAMPLER(_GlitterColorMap); + POI_TEXTURE_NOSAMPLER(_GlitterTexture); + half _GlitterSpeed; + half _GlitterBrightness; + float _GlitterFrequency; + float _GlitterJitter; + half _GlitterSize; + half _GlitterContrast; + half _GlitterAngleRange; + half _GlitterMinBrightness; + half _GlitterBias; + float _GlitterRandomColors; + float2 _GlitterMinMaxSaturation; + float2 _GlitterMinMaxBrightness; + fixed _GlitterUseSurfaceColor; + float _GlitterBlendType; + float _GlitterMode; + float _GlitterShape; + float _GlitterCenterSize; + float _glitterFrequencyLinearEmissive; + float _GlitterJaggyFix; + float _GlitterRandomRotation; + float _GlitterTextureRotation; + float4 _GlitterMinMaxSize; + float _GlitterRandomSize; + + + float3 randomFloat3(float2 Seed, float maximum) + { + return(.5 + float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) + ) * .5) * (maximum); + } + + float3 randomFloat3Range(float2 Seed, float Range) + { + return(float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1) * Range; + } + + float3 randomFloat3WiggleRange(float2 Seed, float Range) + { + float3 rando = (float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1); + float speed = 1 + float(10); + return float3(sin((_Time.x + rando.x * pi) * speed), sin((_Time.x + rando.y * pi) * speed), sin((_Time.x + rando.z * pi) * speed)) * Range; + } + + void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out) + { + float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233))) * 43758.5453); + Out = lerp(Min, Max, randomno); + } + + float3 RandomColorFromPoint(float2 rando) + { + fixed hue = random2(rando.x + rando.y).x; + fixed saturation = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.x); + fixed value = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.y); + float3 hsv = float3(hue, saturation, value); + return HSVtoRGB(hsv); + } + + void applyGlitter(inout float4 albedo, inout float3 glitterEmission) + { + + + // Scale + float2 st = poiMesh.uv[0] * float(300); + + // Tile the space + float2 i_st = floor(st); + float2 f_st = frac(st); + + float m_dist = 10.; // minimun distance + float2 m_point = 0; // minimum point + float2 randoPoint = 0; + float2 dank; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 neighbor = float2(i, j); + float2 pos = random2(i_st + neighbor); + float2 rando = pos; + pos = 0.5 + 0.5 * sin(float(1) * 6.2831 * pos); + float2 diff = neighbor + pos - f_st; + float dist = length(diff); + + if (dist < m_dist) + { + dank = diff; + m_dist = dist; + m_point = pos; + randoPoint = rando; + } + } + } + + float randomFromPoint = random(randoPoint); + + float size = float(0.3); + + if(float(0)) + { + size = remapClamped(randomFromPoint, 0, 1, float4(0.1,0.5,0,1).x, float4(0.1,0.5,0,1).y); + } + + + // Assign a color using the closest point position + //color += dot(m_point, float2(.3, .6)); + + // Add distance field to closest point center + // color.g = m_dist; + + // Show isolines + //color -= abs(sin(40.0 * m_dist)) * 0.07; + + // Draw cell center + half glitterAlpha = 1; + switch(float(0)) + { + case 0: //circle + glitterAlpha = (1. - step(size, m_dist)); + break; + case 1: //sqaure + float jaggyFix = pow(poiCam.distanceToVert, 2) * float(0); + + + if (float(0)) + { + float2 center = float2(0, 0); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + dank = float2((dank.x - center.x) * cs - (dank.y - center.y) * sn + center.x, (dank.x - center.x) * sn + (dank.y - center.y) * cs + center.y); + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + else + { + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + break; + } + + float3 finalGlitter = 0; + + switch(float(0)) + { + case 0: + float3 randomRotation = 0; + + if(float(10) > 0) + { + randomRotation = randomFloat3WiggleRange(randoPoint, float(90)); + } + else + { + randomRotation = randomFloat3Range(randoPoint, float(90)); + } + float3 norm = poiMesh.normals[0]; + + float3 glitterReflectionDirection = normalize(mul(poiRotationMatrixFromAngles(randomRotation), norm)); + finalGlitter = lerp(0, float(0) * glitterAlpha, glitterAlpha) + max(pow(saturate(dot(lerp(glitterReflectionDirection, poiCam.viewDir, float(0.8)), poiCam.viewDir)), float(300)), 0); + finalGlitter *= glitterAlpha; + break; + case 1: + float offset = random(randoPoint); + float brightness = sin((_Time.x + offset) * float(10)) * float(20) - (float(20) - 1); + finalGlitter = max(float(0) * glitterAlpha, brightness * glitterAlpha * smoothstep(0, 1, 1 - m_dist * float(0.08) * 10)); + break; + } + + + half3 glitterColor = float4(1,1,1,1); + glitterColor *= lerp(1, albedo, float(0)); + glitterColor *= POI2D_SAMPLER_PAN(_GlitterColorMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + + float2 uv = remapClamped(dank, -size, size, 0, 1); + + if(float(0) && !float(0)) + { + float2 fakeUVCenter = float2(.5, .5); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - fakeUVCenter.x) * cs - (uv.y - fakeUVCenter.y) * sn + fakeUVCenter.x, (uv.x - fakeUVCenter.x) * sn + (uv.y - fakeUVCenter.y) * cs + fakeUVCenter.y); + } + float4 glitterTexture = POI2D_SAMPLER_PAN(_GlitterTexture, _MainTex, uv, float4(0,0,0,0)); + //float4 glitterTexture = _GlitterTexture.SampleGrad(sampler_MainTex, frac(uv), ddx(uv), ddy(uv)); + glitterColor *= glitterTexture.rgb; + float glitterMask = POI2D_SAMPLER_PAN(_GlitterMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskGlitter != 4) + { + glitterMask *= blackLightMask[_BlackLightMaskGlitter]; + } + #endif + + if(float(0)) + { + glitterColor *= RandomColorFromPoint(random2(randoPoint.x + randoPoint.y)); + } + + + if(float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, finalGlitter * glitterColor * float(3), finalGlitter * glitterTexture.a * glitterMask); + glitterEmission = finalGlitter * glitterColor * max(0, (float(3) - 1) * glitterTexture.a) * glitterMask; + } + else + { + glitterEmission = finalGlitter * glitterColor * float(3) * glitterTexture.a * glitterMask; + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta new file mode 100644 index 00000000..b5480fc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 38703ca92f539ca43ab392dbc5fa4970 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc new file mode 100644 index 00000000..060cb720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc @@ -0,0 +1,127 @@ +#ifndef POI_GRAB + #define POI_GRAB + + float _RefractionIndex; + float _RefractionOpacity; + float _RefractionChromaticAberattion; + float _RefractionEnabled; + float _GrabSrcBlend; + float _GrabDstBlend; + float _GrabPassUseAlpha; + float _GrabPassBlendFactor; + float _GrabBlurDistance; + float _GrabBlurQuality; + float _GrabBlurDirections; + POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap); + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RefractionOpacityMask); float4 _RefractionOpacityMask_ST; + + float4 blur(float2 uv) + { + float two_pi = 6.28318530718; + + float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur + float quality = floor(_GrabBlurQuality); + float directions = floor(_GrabBlurDirections); + + // Pixel colour + float4 color = tex2D(_PoiGrab, uv); + + float deltaAngle = two_pi / directions; + float deltaQuality = 1.0 / quality; + for (int i = 0; i < directions; i ++) + { + for (int j = 0; j < quality; j ++) + { + float angle = deltaAngle * i + j; + float offset = deltaQuality * (j + 1); + color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset); + } + } + + // Output to screen + color /= quality * directions + 1; + return color; + } + + inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos) + { + float4 refractionColor; + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos)); + float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0))) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir))); + float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x)); + + + if (_RefractionChromaticAberattion > 0) + { + float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction)); + float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g; + float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b; + refractionColor = float4(redAlpha.r, green, blue, redAlpha.a); + } + else + { + float2 refractedGrab = projectedGrabPos + cameraRefraction; + + #ifdef CHROMATIC_ABERRATION_LOW + refractionColor = blur(refractedGrab); + #else + refractionColor = tex2D(_PoiGrab, (refractedGrab)); + #endif + } + return refractionColor; + } + + void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor) + { + float3 refraction = 1; + + if(_RefractionEnabled == 1) + { + refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb; + } + else + { + #ifdef CHROMATIC_ABERRATION_LOW + refraction = blur(projectedGrabPos); + #else + refraction = tex2Dproj(_PoiGrab, poiCam.grabPos); + #endif + } + + float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r; + + if(_GrabPassUseAlpha) + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a)); + finalColor.a = 1; + } + else + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor); + } + } + + float2 calculateGrabPosition() + { + float4 grabPos = poiCam.grabPos; + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + float halfPosW = grabPos.w * 0.5; + grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW; + #if SHADER_API_D3D9 || SHADER_API_D3D11 + grabPos.w += 0.00000000001; + #endif + return(grabPos / grabPos.w).xy; + } + + void applyGrabEffects(inout float4 finalColor) + { + float2 projectedGrabPos = calculateGrabPosition(); + calculateRefraction(projectedGrabPos, finalColor); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta new file mode 100644 index 00000000..6f7f9024 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d54751a3dff4fca4a9ab2d599e38be7f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc new file mode 100644 index 00000000..9ae9e754 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc @@ -0,0 +1,338 @@ +#ifndef POI_HELPER + #define POI_HELPER + + #include "CGI_PoiColors.cginc" + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float linearSin(float x) + { + return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0); + } + + float random(float2 p) + { + return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123); + } + + float2 random2(float2 p) + { + return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453); + } + + float3 random3(float3 p) + { + return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453); + } + + float3 mod(float3 x, float y) + { + return x - y * floor(x / y); + } + float2 mod(float2 x, float y) + { + return x - y * floor(x / y); + } + + //1/7 + #define K 0.142857142857 + //3/7 + #define Ko 0.428571428571 + + // Permutation polynomial: (34x^2 + x) mod 289 + float3 Permutation(float3 x) + { + return mod((34.0 * x + 1.0) * x, 289.0); + } + + bool IsInMirror() + { + return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; + } + + float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax) + { + #if UNITY_SPECCUBE_BOX_PROJECTION + + if (cubemapPosition.w > 0) + { + float3 factors = ((direction > 0 ? boxMax: boxMin) - position) / direction; + float scalar = min(min(factors.x, factors.y), factors.z); + direction = direction * scalar + (position - cubemapPosition); + } + #endif + return direction; + } + + // Camera + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + float3 grayscale_vector_node() + { + return float3(0, 0.3823529, 0.01845836); + } + + float3 grayscale_for_light() + { + return float3(0.298912, 0.586611, 0.114478); + } + + //Math Operators + + float remap(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float poiMax(float2 i) + { + return max(i.x, i.y); + } + + float poiMax(float3 i) + { + return max(max(i.x, i.y), i.z); + } + + float poiMax(float4 i) + { + return max(max(max(i.x, i.y), i.z), i.w); + } + + float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis) + { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, + 0.0, 0.0, 0.0, 1.0); + } + + float4x4 poiRotationMatrixFromAngles(float x, float y, float z) + { + float angleX = radians(x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + + float4x4 poiRotationMatrixFromAngles(float3 angles) + { + float angleX = radians(angles.x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(angles.y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(angles.z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + +#endif + +half2 calcScreenUVs(half4 grabPos) +{ + half2 uv = grabPos / (grabPos.w + 0.0000000001); + #if UNITY_SINGLE_PASS_STEREO + uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y); + #else + uv.xy *= _ScreenParams.xy; + #endif + + return uv; +} + +float inverseLerp(float A, float B, float T) +{ + return(T - A) / (B - A); +} + +float inverseLerp2(float2 a, float2 b, float2 value) +{ + float2 AB = b - a; + float2 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp3(float3 a, float3 b, float3 value) +{ + float3 AB = b - a; + float3 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp4(float4 a, float4 b, float4 value) +{ + float4 AB = b - a; + float4 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +// Dithering +inline half Dither8x8Bayer(int x, int y) +{ + const half dither[ 64 ] = { + 1, 49, 13, 61, 4, 52, 16, 64, + 33, 17, 45, 29, 36, 20, 48, 32, + 9, 57, 5, 53, 12, 60, 8, 56, + 41, 25, 37, 21, 44, 28, 40, 24, + 3, 51, 15, 63, 2, 50, 14, 62, + 35, 19, 47, 31, 34, 18, 46, 30, + 11, 59, 7, 55, 10, 58, 6, 54, + 43, 27, 39, 23, 42, 26, 38, 22 + }; + int r = y * 8 + x; + return dither[r] / 64; +} + +// UV Manipulation +float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv) +{ + float theta = radians(rotation); + scale = 1 - scale; + float cs = cos(theta); + float sn = sin(theta); + float2 centerPoint = offset + .5; + uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y); + + return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1)); +} + +bool isVR() +{ + // USING_STEREO_MATRICES + #if UNITY_SINGLE_PASS_STEREO + return true; + #else + return false; + #endif +} + +bool isVRHandCamera() +{ + return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005; +} + +bool isDesktop() +{ + return !isVRHandCamera(); +} + +bool isVRHandCameraPreview() +{ + return isVRHandCamera() && _ScreenParams.y == 720; +} + +bool isVRHandCameraPicture() +{ + return isVRHandCamera() && _ScreenParams.y == 1080; +} + +bool isPanorama() +{ + // Crude method + // FOV=90=camproj=[1][1] + return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025; +} + +float3 calculateluminance(float3 color) +{ + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta new file mode 100644 index 00000000..ae690d7b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 31d6cca85c9fb34419198705ea3a60d3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc new file mode 100644 index 00000000..6ee66d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc @@ -0,0 +1,36 @@ +#ifndef POI_HOLOGRAM + #define POI_HOLOGRAM + + UNITY_DECLARE_TEX2D_NOSAMPLER(_HoloAlphaMap); float4 _HoloAlphaMap_ST; + float _HoloCoordinateSpace; // 0 World, 1 Local, 2 UV + float3 _HoloDirection; + float _HoloScrollSpeed; + float _HoloLineDensity; + + fixed _HoloFresnelAlpha; + fixed _HoloRimSharpness; + fixed _HoloRimWidth; + void ApplyHoloAlpha(inout float4 color) + { + float uv = 0; + + if (_HoloCoordinateSpace == 0) + { + uv = dot(normalize(_HoloDirection), poiMesh.worldPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 1) + { + uv = dot(normalize(_HoloDirection), poiMesh.localPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 2) + { + uv = dot(_HoloDirection, poiMesh.uv[0] * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + float holoRim = saturate(1 - smoothstep(min(_HoloRimSharpness, _HoloRimWidth), _HoloRimWidth, poiCam.viewDotNormal)); + holoRim = abs(lerp(1, holoRim, _HoloFresnelAlpha)); + color.a *= UNITY_SAMPLE_TEX2D_SAMPLER(_HoloAlphaMap, _MainTex, uv).r * holoRim; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta new file mode 100644 index 00000000..51665d64 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5b4ea1fe20e34c945979314d27119113 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc new file mode 100644 index 00000000..bcea8ccc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc @@ -0,0 +1,61 @@ +#ifndef POI_IRIDESCENCE + #define POI_IRIDESCENCE + + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceRamp); float4 _IridescenceRamp_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceMask); float4 _IridescenceMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceNormalMap); float4 _IridescenceNormalMap_ST; + float _IridescenceNormalUV; + float _IridescenceMaskUV; + float _IridescenceNormalSelection; + float _IridescenceNormalIntensity; + float _IridescenceNormalToggle; + float _IridescenceIntensity; + fixed _IridescenceAddBlend; + fixed _IridescenceReplaceBlend; + fixed _IridescenceMultiplyBlend; + float _IridescenceEmissionStrength; + + //global + + float3 calculateNormal(float3 baseNormal) + { + float3 normal = UnpackScaleNormal(UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceNormalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceNormalUV], _IridescenceNormalMap)), _IridescenceNormalIntensity); + return normalize( + normal.x * poiMesh.tangent + + normal.y * poiMesh.binormal + + normal.z * baseNormal + ); + } + + void applyIridescence(inout float4 albedo, inout float3 IridescenceEmission) + { + float3 normal = poiMesh.normals[_IridescenceNormalSelection]; + + // Use custom normal map + + if (_IridescenceNormalToggle) + { + normal = calculateNormal(normal); + } + + float ndotv = dot(normal, poiCam.viewDir); + + float4 iridescenceColor = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceRamp, _MainTex, 1 - abs(ndotv)); + float4 iridescenceMask = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceMaskUV], _IridescenceMask)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskIridescence != 4) + { + iridescenceMask *= blackLightMask[_BlackLightMaskIridescence]; + } + #endif + + + albedo.rgb = lerp(albedo.rgb, saturate(iridescenceColor.rgb * _IridescenceIntensity), iridescenceColor.a * _IridescenceReplaceBlend * iridescenceMask); + albedo.rgb += saturate(iridescenceColor.rgb * _IridescenceIntensity * iridescenceColor.a * _IridescenceAddBlend * iridescenceMask); + albedo.rgb *= saturate(lerp(1, iridescenceColor.rgb * _IridescenceIntensity, iridescenceColor.a * _IridescenceMultiplyBlend * iridescenceMask)); + + IridescenceEmission = saturate(iridescenceColor.rgb * _IridescenceIntensity) * iridescenceColor.a * iridescenceMask * _IridescenceEmissionStrength; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta new file mode 100644 index 00000000..9d0a1d70 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a9c772cbd7b15734e94a8ce6103f3c2f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc new file mode 100644 index 00000000..8f35cb62 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc @@ -0,0 +1,668 @@ + +#ifndef POI_LIGHTING + #define POI_LIGHTING + + float _LightingShadingEnabled; + float _LightingRampType; + float _LightingIgnoreAmbientColor; + float _UseShadowTexture; + float _LightingEnableAO; + float _LightingDetailShadowsEnabled; + + float _LightingOnlyUnityShadows; + float _LightingMode; + float _ForceLightDirection; + float _ShadowStrength; + float _OutlineShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _CastedShadowSmoothing; + float _AttenuationMultiplier; + float _EnableLighting; + float _LightingControlledUseLightColor; + fixed _LightingStandardSmoothness; + fixed _LightingStandardControlsToon; + fixed _LightingMinLightBrightness; + float _LightingUseShadowRamp; + float _LightingMinShadowBrightnessRatio; + UNITY_DECLARE_TEX2D(_ToonRamp); + fixed _LightingMonochromatic; + + fixed _LightingGradientStart; + fixed _LightingGradientEnd; + float3 _LightingShadowColor; + POI_TEXTURE_NOSAMPLER(_LightingShadowTexture); + float _AOStrength; + fixed _LightingDetailStrength; + fixed _LightingAdditiveDetailStrength; + fixed _LightingNoIndirectMultiplier; + fixed _LightingNoIndirectThreshold; + float _LightingUncapped; + + float _LightingDirectColorMode; + float _LightingIndirectColorMode; + float _LightingAdditiveType; + fixed _LightingAdditiveGradientStart; + fixed _LightingAdditiveGradientEnd; + fixed _LightingAdditivePassthrough; + float _LightingDirectAdjustment; + float _LightingIndirect; + // HSL JUNK + float _LightingEnableHSL; + float _LightingShadowHue; + float _LightingShadowSaturation; + float _LightingShadowLightness; + float _LightingHSLIntensity; + /* + UNITY_DECLARE_TEX2D_NOSAMPLER(_ToonRamp3); + half _LightingShadowStrength3; + half _ShadowOffset3; + */ + + half4 shadowStrength; + + POI_TEXTURE_NOSAMPLER(_LightingDetailShadows); + POI_TEXTURE_NOSAMPLER(_LightingAOTex); + POI_TEXTURE_NOSAMPLER(_LightingShadowMask); + + /* + * MIT License + * + * Copyright (c) 2018 s-ilent + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + /* + * Silent's code starts here + */ + + float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n) + { + // average energy + float R0 = max(0, L0); + + // avg direction of incoming light + float3 R1 = 0.5f * L1; + + // directional brightness + float lenR1 = length(R1); + + // linear angle between normal and direction 0-1 + //float q = 0.5f * (1.0f + dot(R1 / lenR1, n)); + //float q = dot(R1 / lenR1, n) * 0.5 + 0.5; + float q = dot(normalize(R1), n) * 0.5 + 0.5; + q = saturate(q); // Thanks to ScruffyRuffles for the bug identity. + + // power for q + // lerps from 1 (linear) to 3 (cubic) based on directionality + float p = 1.0f + 2.0f * lenR1 / R0; + + // dynamic range constant + // should vary between 4 (highly directional) and 0 (ambient) + float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0); + + return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p)); + } + + half3 BetterSH9(half4 normal) + { + float3 indirect; + float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0; + indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal); + indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal); + indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal); + indirect = max(0, indirect); + indirect += SHEvalLinearL2(normal); + return indirect; + } + + float3 BetterSH9(float3 normal) + { + return BetterSH9(float4(normal, 1)); + } + + /* + * Standard stuff starts here + */ + UnityLight CreateLight(float3 normal, fixed detailShadowMap) + { + UnityLight light; + light.dir = poiLight.direction; + light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap); + light.ndotl = DotClamped(normal, poiLight.direction); + return light; + } + + float FadeShadows(float attenuation) + { + #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + // UNITY_LIGHT_ATTENUATION doesn't fade shadows for us. + + #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + attenuation = lerp(1, poiLight.attenuation, float(0)); + #endif + + float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); + float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ); + float shadowFade = UnityComputeShadowFade(shadowFadeDistance); + float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); + attenuation = UnityMixRealtimeAndBakedShadows( + attenuation, bakedAttenuation, shadowFade + ); + #endif + + return attenuation; + } + + void ApplySubtractiveLighting(inout UnityIndirect indirectLight) + { + #if SUBTRACTIVE_LIGHTING + poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0))); + + float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz)); + float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb; + float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate; + subtractedLight = max(subtractedLight, unity_ShadowColor.rgb); + subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x); + indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse); + #endif + } + + float3 weightedBlend(float3 layer1, float3 layer2, float2 weights) + { + return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y); + } + + UnityIndirect CreateIndirectLight(float3 normal) + { + UnityIndirect indirectLight; + indirectLight.diffuse = 0; + indirectLight.specular = 0; + + #if defined(FORWARD_BASE_PASS) + #if defined(LIGHTMAP_ON) + indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy)); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy + ); + indirectLight.diffuse = DecodeDirectionalLightmap( + indirectLight.diffuse, lightmapDirection, normal + ); + #endif + ApplySubtractiveLighting(indirectLight); + #endif + + #if defined(DYNAMICLIGHTMAP_ON) + float3 dynamicLightDiffuse = DecodeRealtimeLightmap( + UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw) + ); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_DynamicDirectionality, unity_DynamicLightmap, + poiMesh.lightmapUV.zw + ); + indirectLight.diffuse += DecodeDirectionalLightmap( + dynamicLightDiffuse, dynamicLightmapDirection, normal + ); + #else + indirectLight.diffuse += dynamicLightDiffuse; + #endif + #endif + + #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON) + #if UNITY_LIGHT_PROBE_PROXY_VOLUME + if (unity_ProbeVolumeParams.x == 1) + { + indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume( + float4(normal, 1), poiMesh.worldPos + ); + indirectLight.diffuse = max(0, indirectLight.diffuse); + #if defined(UNITY_COLORSPACE_GAMMA) + indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse); + #endif + } + else + { + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + } + #else + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + #endif + #endif + + float3 reflectionDir = reflect(-poiCam.viewDir, normal); + Unity_GlossyEnvironmentData envData; + envData.roughness = 1 - float(0); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + #if UNITY_SPECCUBE_BLENDING + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + indirectLight.specular = lerp(probe1, probe0, interpolator); + } + else + { + indirectLight.specular = probe0; + } + #else + indirectLight.specular = probe0; + #endif + float occlusion = 1; + + if(float(0)) + { + occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + } + + indirectLight.diffuse *= occlusion; + indirectLight.diffuse = max(indirectLight.diffuse, float(0)); + indirectLight.specular *= occlusion; + #endif + + return indirectLight; + } + + /* + * Poiyomi's cool as heck code starts here :smug: + */ + + half PoiDiffuse(half NdotV, half NdotL, half LdotH) + { + half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5); + // Two schlick fresnel term + half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL)); + half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV)); + + return lightScatter * viewScatter; + } + + float3 ShadeSH9Indirect() + { + return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Direct() + { + return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Normal(float3 normalDirection) + { + return ShadeSH9(half4(normalDirection, 1.0)); + } + + half3 GetSHLength() + { + half3 x, x1; + x.r = length(unity_SHAr); + x.g = length(unity_SHAg); + x.b = length(unity_SHAb); + x1.r = length(unity_SHBr); + x1.g = length(unity_SHBg); + x1.b = length(unity_SHBb); + return x + x1; + } + + float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap) + { + return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])); + } + + void calculateBasePassLightMaps() + { + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + float AOMap = 1; + float AOStrength = 1; + float3 lightColor = poiLight.color; + /* + * Generate Basic Light Maps + */ + + bool lightExists = false; + if (all(_LightColor0.rgb >= 0.002)) + { + lightExists = true; + } + #ifndef OUTLINE + + if(float(0)) + { + AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + AOStrength = float(1); + } + + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + if (lightExists) + { + lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + } + else + { + lightColor = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + } + + //lightColor = magic * magiratio + normalLight * normaRatio; + //lightColor = magic + normalLight; + #endif + #endif + + float3 grayscale_vector = float3(.33333, .33333, .33333); + float3 ShadeSH9Plus = GetSHLength(); + float3 ShadeSH9Minus = BetterSH9(float4(0, 0, 0, 1)); + + shadowStrength = 1; + #ifndef OUTLINE + shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(1); + #else + shadowStrength = float(1); + #endif + + float bw_lightColor = dot(lightColor, grayscale_vector); + float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector)); + float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector); + float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector); + float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); + + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(0)) + { + poiLight.lightMap = poiLight.attenuation; + } + else + { + poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); + } + poiLight.lightMap *= detailShadow; + + /* + * Decide on light colors + */ + + float3 indirectLighting = 0; + float3 directLighting = 0; + + + + + if (float(0) == 1) + { + indirectLighting = BetterSH9(float4(poiMesh.normals[0], 1)); + } + else + { + indirectLighting = ShadeSH9Minus; + } + + poiLight.directLighting = lightColor; + poiLight.indirectLighting = indirectLighting; + + + if(float(0) == 0) + { + float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + + float magiLumi = calculateluminance(magic); + float normaLumi = calculateluminance(normalLight); + float maginormalumi = magiLumi + normaLumi; + + float magiratio = magiLumi / maginormalumi; + float normaRatio = normaLumi / maginormalumi; + + float target = calculateluminance(magic * magiratio + normalLight * normaRatio); + float3 properLightColor = magic + normalLight; + float properLuminance = calculateluminance(magic + normalLight); + directLighting = properLightColor * max(0.0001, (target / properLuminance)); + } + else + { + directLighting = lightColor; + } + + + if(!float(0)) + { + float directluminance = calculateluminance(directLighting); + float indirectluminance = calculateluminance(indirectLighting); + directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1))); + indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1))); + } + + directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0)); + indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0)); + + if(max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0) + { + indirectLighting = directLighting * _LightingNoIndirectMultiplier; + } + + + if(float(0)) + { + float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1); + if(directluminance > 0) + { + indirectLighting = max(0.001, indirectLighting); + } + float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1); + float targetluminance = directluminance * float(0); + if(indirectluminance < targetluminance) + { + indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance); + } + } + + /* + * Create Shade Maps + */ + + if (float(0)) + { + switch(float(0)) + { + case 0: // Ramp Texture + { + poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)), shadowStrength.r); + + if (float(0)) + { + poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + else + { + poiLight.finalLighting = lerp(indirectLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + } + break; + case 1: // Math Gradient + { + poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)); + float3 shadowColor = float4(1,1,1,1); + + if (float(0)) + { + shadowColor = 1; + } + + if(float(0)) + { + poiLight.finalLighting = lerp((directLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + else + { + poiLight.finalLighting = lerp((indirectLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + } + break; + } + } + else + { + poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap); + poiLight.finalLighting = directLighting; + } + + if(!float(0)) + { + poiLight.finalLighting = saturate(poiLight.finalLighting); + } + //poiLight.finalLighting *= .8; + #endif + } + + void applyShadowTexture(inout float4 albedo) + { + + if (float(0) && float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, POI2D_SAMPLER_PAN(_LightingShadowTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1), (1 - poiLight.rampedLightMap) * shadowStrength); + } + } + + float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL) + { + fixed detailShadow = 1; + + if(float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + return lightColor * attenuationDotNL * detailShadow; + } + else + { + return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow; + } + } + + + float3 calculateFinalLighting(inout float3 albedo, float4 finalColor) + { + float3 finalLighting = 1; + // Additive Lighting + #ifdef FORWARD_ADD_PASS + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow; + } + else + { + #if defined(POINT) || defined(SPOT) + finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow; + #else + finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow; + #endif + } + #endif + + // Base and Meta Lighting + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + #ifdef VERTEXLIGHT_ON + poiLight.vFinalLighting = 0; + + for (int index = 0; index < 4; index ++) + { + poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vCorrectedDotNL[index]); + } + #endif + + switch(float(0)) + { + case 0: // Toon Lighting + { + // HSL Shading + + if (float(0)) + { + float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap); + albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1)); + } + + // Normal Shading + + if (float(0) > 0) + { + poiLight.finalLighting = max(0.001, poiLight.finalLighting); + float finalluminance = calculateluminance(poiLight.finalLighting); + finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0)))); + } + else + { + finalLighting = poiLight.finalLighting; + } + } + break; + case 1: // realistic + { + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb; + finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0)); + } + break; + } + #endif + return finalLighting; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta new file mode 100644 index 00000000..05f054ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fff0a0501a44b92438749d4ba0d963a9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc new file mode 100644 index 00000000..c23736df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc @@ -0,0 +1,243 @@ +#ifndef POI_MSDF + #define POI_MSDF + + sampler2D _TextGlyphs; + float4 _TextGlyphs_ST; + float4 _TextGlyphs_TexelSize; + float _TextFPSUV; + float _TextTimeUV; + float _TextPositionUV; + float _TextPixelRange; + + float _TextFPSEnabled; + float _TextPositionEnabled; + float _TextTimeEnabled; + + + float4 _TextFPSColor; + half _TextFPSEmissionStrength; + fixed4 _TextFPSPadding; + half2 _TextFPSOffset; + half2 _TextFPSScale; + half _TextFPSRotation; + + fixed _TextPositionVertical; + float4 _TextPositionColor; + half _TextPositionEmissionStrength; + fixed4 _TextPositionPadding; + half2 _TextPositionOffset; + half2 _TextPositionScale; + half _TextPositionRotation; + + float4 _TextTimeColor; + half _TextTimeEmissionStrength; + fixed4 _TextTimePadding; + half2 _TextTimeOffset; + half2 _TextTimeScale; + half _TextTimeRotation; + + #define glyphWidth 0.0625 + + #define ASCII_LEFT_PARENTHESIS 40 + #define ASCII_RIGHT_PARENTHESIS 41 + #define ASCII_POSITIVE 43 + #define ASCII_PERIOD 46 + #define ASCII_NEGATIVE 45 + #define ASCII_COMMA 44 + #define ASCII_E 69 + #define ASCII_F 70 + #define ASCII_I 73 + #define ASCII_M 77 + #define ASCII_O 79 + #define ASCII_P 80 + #define ASCII_S 83 + #define ASCII_T 54 + #define ASCII_SEMICOLON 58 + + float3 globalTextEmission; + + half2 getAsciiCoordinate(float index) + { + return half2((index - 1) / 16, 1 - ((floor(index / 16 - glyphWidth)) / 16)); + } + + float median(float r, float g, float b) + { + return max(min(r, g), min(max(r, g), b)); + } + + void ApplyPositionText(inout float4 albedo, float2 uv) + { + float3 cameraPos = clamp(getCameraPosition(), -999, 999); + float3 absCameraPos = abs(cameraPos); + float totalCharacters = 20; + float positionArray[20]; + positionArray[0] = cameraPos.x >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[1] = floor((absCameraPos.x * .01) % 10) + 48; + positionArray[2] = floor((absCameraPos.x * .1) % 10) + 48; + positionArray[3] = floor(absCameraPos.x % 10) + 48; + positionArray[4] = ASCII_PERIOD; + positionArray[5] = floor((absCameraPos.x * 10) % 10) + 48; + positionArray[6] = ASCII_COMMA; + positionArray[7] = cameraPos.y >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[8] = floor((absCameraPos.y * .01) % 10) + 48; + positionArray[9] = floor((absCameraPos.y * .1) % 10) + 48; + positionArray[10] = floor(absCameraPos.y % 10) + 48; + positionArray[11] = ASCII_PERIOD; + positionArray[12] = floor((absCameraPos.y * 10) % 10) + 48; + positionArray[13] = ASCII_COMMA; + positionArray[14] = cameraPos.z >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[15] = floor((absCameraPos.z * .01) % 10) + 48; + positionArray[16] = floor((absCameraPos.z * .1) % 10) + 48; + positionArray[17] = floor(absCameraPos.z % 10) + 48; + positionArray[18] = ASCII_PERIOD; + positionArray[19] = floor((absCameraPos.z * 10) % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if (uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(positionArray[currentCharacter]); + + float2 startUV = float2(1 / totalCharacters * currentCharacter, 0); + float2 endUV = float2(1 / totalCharacters * (currentCharacter + 1), 1); + + fixed4 textPositionPadding = float4(0,0,0,0); + textPositionPadding *= 1 / totalCharacters; + uv = remapClamped(uv, startUV, endUV, float2(glyphPos.x + textPositionPadding.x, glyphPos.y - glyphWidth + textPositionPadding.y), float2(glyphPos.x + glyphWidth - textPositionPadding.z, glyphPos.y - textPositionPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textPositionPadding.z - .001 || uv.x < glyphPos.x + textPositionPadding.x + .001 || uv.y > glyphPos.y - textPositionPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textPositionPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyTimeText(inout float4 albedo, float2 uv) + { + float instanceTime = _Time.y; + float hours = instanceTime / 3600; + float minutes = (instanceTime / 60) % 60; + float seconds = instanceTime % 60; + float totalCharacters = 8; + float timeArray[8]; + timeArray[0] = floor((hours * .1) % 10) + 48; + timeArray[1] = floor(hours % 10) + 48; + timeArray[2] = ASCII_SEMICOLON; + timeArray[3] = floor((minutes * .1) % 10) + 48; + timeArray[4] = floor(minutes % 10) + 48; + timeArray[5] = ASCII_SEMICOLON; + timeArray[6] = floor((seconds * .1) % 10) + 48; + timeArray[7] = floor(seconds % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(timeArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + fixed4 textTimePadding = float4(0,0,0,0); + textTimePadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textTimePadding.x, glyphPos.y - glyphWidth + textTimePadding.y), float2(glyphPos.x + glyphWidth - textTimePadding.z, glyphPos.y - textTimePadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textTimePadding.z - .001 || uv.x < glyphPos.x + textTimePadding.x + .001 || uv.y > glyphPos.y - textTimePadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textTimePadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyFPSText(inout float4 albedo, float2 uv) + { + float smoothDeltaTime = clamp(unity_DeltaTime.w, 0, 999); + float totalCharacters = 7; + float fpsArray[7]; + fpsArray[0] = ASCII_F; + fpsArray[1] = ASCII_P; + fpsArray[2] = ASCII_S; + fpsArray[3] = ASCII_SEMICOLON; + fpsArray[4] = floor((smoothDeltaTime * .01) % 10) + 48; + fpsArray[5] = floor((smoothDeltaTime * .1) % 10) + 48; + fpsArray[6] = floor(smoothDeltaTime % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(fpsArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + + fixed4 textFPSPadding = float4(0,0,0,0); + textFPSPadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textFPSPadding.x, glyphPos.y - glyphWidth + textFPSPadding.y), float2(glyphPos.x + glyphWidth - textFPSPadding.z, glyphPos.y - textFPSPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textFPSPadding.z - .001 || uv.x < glyphPos.x + textFPSPadding.x + .001 || uv.y > glyphPos.y - textFPSPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textFPSPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,1,1,1).rgb, opacity * float4(1,1,1,1).a); + globalTextEmission += float4(1,1,1,1).rgb * opacity * float(0); + } + + void ApplyTextOverlayColor(inout float4 albedo, inout float3 textOverlayEmission) + { + globalTextEmission = 0; + half positionalOpacity = 0; + #ifdef EFFECT_BUMP + + if(float(0)) + { + ApplyFPSText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyPositionText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyTimeText(albedo, poiMesh.uv[float(0)]); + } + + textOverlayEmission = globalTextEmission; + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta new file mode 100644 index 00000000..b011a688 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3c6ec5a60ec1c624fad0f0ee4623a8df +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc new file mode 100644 index 00000000..ecac0805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc @@ -0,0 +1,33 @@ +#ifndef POI_MACROS + #define POI_MACROS + + #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale + + #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex))) + #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + + #ifdef POINT + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; + #endif + + #ifdef SPOT + #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)) + #else + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord + #endif + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + DECLARE_LIGHT_COORD(input, worldPos); \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta new file mode 100644 index 00000000..dc94852c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 72230694e6d07af42b84d9c3ae6924bd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc new file mode 100644 index 00000000..270384af --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc @@ -0,0 +1,147 @@ +#ifndef POI_MAINTEXTURE + #define POI_MAINTEXTURE + + + + POI_TEXTURE_NOSAMPLER(_AlphaMask); + POI_TEXTURE_NOSAMPLER(_MainFadeTexture); + float4 _Color; + float _MainVertexColoring; + float _MainUseVertexColorAlpha; + float _Saturation; + float2 _MainDistanceFade; + half _MainMinAlpha; + float _MainHueShift; + #ifdef COLOR_GRADING_HDR + POI_TEXTURE_NOSAMPLER(_MainHueShiftMask); + float _MainHueShiftToggle; + float _MainHueShiftSpeed; + float _MainHueShiftReplace; + #endif + + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailTex); + half _DetailTexIntensity; + half3 _DetailTint; + float _DetailBrightness; + #endif + //globals + float alphaMask; + half3 diffColor; + + #include "CGI_PoiBackFace.cginc" + + float3 wireframeEmission; + + inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo) + { + half4 specGloss = 0; + half3 specColor = specGloss.rgb; + half smoothness = specGloss.a; + + half oneMinusReflectivity; + diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specColor, /*out*/ oneMinusReflectivity); + + FragmentCommonData o = (FragmentCommonData)0; + o.diffColor = diffColor; + o.specColor = specColor; + o.oneMinusReflectivity = oneMinusReflectivity; + o.smoothness = smoothness; + return o; + } + + inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo) + { + i_tex = i_tex; + + FragmentCommonData o = SpecularSetup(i_tex, albedo); + o.normalWorld = float4(0, 0, 0, 1); + o.eyeVec = poiCam.viewDir; + o.posWorld = i_posWorld; + + // NOTE: shader relies on pre-multiply alpha-blend (float(1) = One, float(0) = OneMinusSrcAlpha) + o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha); + return o; + } + + void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask) + { + dissolveEmission = 0; + + #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + #endif + + alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + mainTexture.a *= alphaMask; + + #ifndef POI_SHADOW + albedo = float4(lerp(mainTexture.rgb, dot(mainTexture.rgb, float3(0.3, 0.59, 0.11)), -float(0)) * max(float4(1,1,1,1).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, GammaToLinearSpace(poiMesh.vertexColor.rgb), float(0)), mainTexture.a * max(float4(1,1,1,1).a, 0.0000001)); + + #ifdef POI_LIGHTING + applyShadowTexture(albedo); + #endif + + albedo *= lerp(1, poiMesh.vertexColor.a, float(0)); + #ifdef POI_RGBMASK + albedo.rgb = calculateRGBMask(albedo.rgb); + #endif + + albedo.a = saturate(float(0) + albedo.a); + + wireframeEmission = 0; + #ifdef POI_WIREFRAME + applyWireframe(wireframeEmission, albedo); + #endif + float backFaceDetailIntensity = 1; + + float mixedHueShift = float(0); + applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission); + + #ifdef POI_FUR + calculateFur(); + #endif + + #ifdef COLOR_GRADING_HDR + float hueShiftAlpha = POI2D_SAMPLER_PAN(_MainHueShiftMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if(float(1)) + { + albedo.rgb = lerp(albedo.rgb, hueShift(albedo.rgb, mixedHueShift + float(0) * _Time.x), hueShiftAlpha); + } + else + { + albedo.rgb = hueShift(albedo.rgb, frac((mixedHueShift - (1 - hueShiftAlpha) + float(0) * _Time.x))); + } + #endif + #ifdef FINALPASS + half3 detailTexture = POI2D_SAMPLER_PAN(_DetailTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb * float4(1,1,1,1).rgb; + albedo.rgb *= LerpWhiteTo(detailTexture * float(1) * unity_ColorSpaceDouble.rgb, detailMask.r * float(1) * backFaceDetailIntensity); + #endif + albedo.rgb = saturate(albedo.rgb); + + #ifdef POI_HOLOGRAM + ApplyHoloAlpha(albedo); + #endif + + s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo); + #endif + + #ifdef DISTORT + calculateDissolve(albedo, dissolveEmission); + #endif + } + + void distanceFade(inout float4 albedo) + { + half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(fadeMap) + { + half fadeValue = max(smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, poiCam.distanceToVert), float(0)); + albedo.a *= fadeValue; + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta new file mode 100644 index 00000000..3dc7cd96 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5ce131d40dffc3d40be28107665dbc12 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc new file mode 100644 index 00000000..3aa6d6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc @@ -0,0 +1,115 @@ +#ifndef MATCAP + #define MATCAP + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap); float4 _Matcap_ST; + POI_TEXTURE_NOSAMPLER(_MatcapMask); + float _MatcapMaskInvert; + float _MatcapBorder; + float4 _MatcapColor; + float _MatcapIntensity; + float _MatcapReplace; + float _MatcapMultiply; + float _MatcapAdd; + float _MatcapEnable; + float _MatcapLightMask; + float _MatcapEmissionStrength; + float _MatcapNormal; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap2);float4 _Matcap2_ST; + POI_TEXTURE_NOSAMPLER(_Matcap2Mask); + float _Matcap2MaskInvert; + float _Matcap2Border; + float4 _Matcap2Color; + float _Matcap2Intensity; + float _Matcap2Replace; + float _Matcap2Multiply; + float _Matcap2Add; + float _Matcap2Enable; + float _Matcap2LightMask; + float _Matcap2EmissionStrength; + float _Matcap2Normal; + + void blendMatcap(inout float4 finalColor, float add, float multiply, float replace, float4 matcapColor, float matcapMask, inout float3 matcapEmission, float emissionStrength + #ifdef POI_LIGHTING + , float matcapLightMask + #endif + #ifdef POI_BLACKLIGHT + , uint blackLightMaskIndex + #endif + ) + { + #ifdef POI_LIGHTING + if (matcapLightMask) + { + matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); + } + #endif + #ifdef POI_BLACKLIGHT + if(blackLightMaskIndex != 4) + { + matcapMask *= blackLightMask[blackLightMaskIndex]; + } + #endif + + finalColor.rgb = lerp(finalColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a); + finalColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); + finalColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; + matcapEmission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; + } + + void applyMatcap(inout float4 finalColor, inout float3 matcapEmission) + { + float4 matcap = 0; + float matcapMask = 0; + float4 matcap2 = 0; + float matcap2Mask = 0; + + // Both matcaps use the same coordinates + half3 worldViewUp = normalize(half3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); + + // Matcap 1 + half2 matcapUV = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + + matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(1,1,1,1); + matcap.rgb *= float(1); + matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if (float(0)) + { + matcapMask = 1 - matcapMask; + } + + blendMatcap(finalColor, float(0), float(0), float(1), matcap, matcapMask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap + #endif + ); + + // Matcap 2 + + if (float(0)) + { + half2 matcapUV2 = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + matcap2 = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap2, _MainTex, TRANSFORM_TEX(matcapUV2, _Matcap2)) * float4(1,1,1,1); + matcap2.rgb *= float(1); + matcap2Mask = POI2D_SAMPLER_PAN(_Matcap2Mask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(float(0)) + { + matcap2Mask = 1 - matcap2Mask; + } + blendMatcap(finalColor, float(0), float(0), float(0), matcap2, matcap2Mask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap2 + #endif + ); + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta new file mode 100644 index 00000000..31d6a381 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 91836231b98482946b136fa3aeff1fbd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc new file mode 100644 index 00000000..b2d07a38 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc @@ -0,0 +1,104 @@ +/* +MIT License + +Copyright (c) 2019 wraikny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +VertexTransformShader is dependent on: +*/ + +#ifndef POI_MATH + #define POI_MATH + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float4 quaternion_conjugate(float4 v) + { + return float4( + v.x, -v.yzw + ); + } + + float4 quaternion_mul(float4 v1, float4 v2) + { + float4 result1 = (v1.x * v2 + v1 * v2.x); + + float4 result2 = float4( + - dot(v1.yzw, v2.yzw), + cross(v1.yzw, v2.yzw) + ); + + return float4(result1 + result2); + } + + // angle : radians + float4 get_quaternion_from_angle(float3 axis, float angle) + { + return float4( + cos(angle / 2.0), + normalize(axis) * sin(angle / 2.0) + ); + } + + float4 quaternion_from_vector(float3 inVec) + { + return float4(0.0, inVec); + } + + float degree_to_radius(float degree) + { + return( + degree / 180.0 * pi + ); + } + + float3 rotate_with_quaternion(float3 inVec, float3 rotation) + { + float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x)); + float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y)); + float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z)); + + #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C)) + float4 quaternion = normalize(MUL3(qx, qy, qz)); + float4 conjugate = quaternion_conjugate(quaternion); + + float4 inVecQ = quaternion_from_vector(inVec); + + float3 rotated = ( + MUL3(quaternion, inVecQ, conjugate) + ).yzw; + + return rotated; + } + + float4 transform(float4 input, float4 pos, float4 rotation, float4 scale) + { + input.rgb *= (scale.xyz * scale.w); + input = float4( + rotate_with_quaternion(input.xyz, rotation.xyz * rotation.w) + + (pos.xyz * pos.w), + input.w + ); + return input; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta new file mode 100644 index 00000000..9c4d4d50 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5dfb7676a179ae2499299cc96e92cb57 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc new file mode 100644 index 00000000..916f65eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc @@ -0,0 +1,130 @@ +#ifndef POI_METAL + #define POI_METAL + + samplerCUBE _CubeMap; + float _SampleWorld; + POI_TEXTURE_NOSAMPLER(_MetallicMask); + POI_TEXTURE_NOSAMPLER(_SmoothnessMask); + float _Metallic; + float _InvertSmoothness; + float _Smoothness; + float _EnableMetallic; + float3 _MetalReflectionTint; + POI_TEXTURE_NOSAMPLER(_MetallicTintMap); + + float3 finalreflections; + float metalicMap; + float3 reflection; + float roughness; + float lighty_boy_uwu_var; + + bool shouldMetalHappenBeforeLighting() + { + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool probeExists = !(unity_SpecCube0_HDR.a == 0 && envSample.a == 0); + return probeExists && !float(0); + } + + float3 fresnelRelflection(in float4 albedo) + { + half3 dotNV = 1 - abs(poiLight.nDotV); + half f = dotNV * dotNV * dotNV * dotNV; + //f *= i_sold.fresnel; + return lerp(lerp(DielectricSpec.rgb, albedo.rgb, metalicMap), saturate(1 - roughness + metalicMap), f); + } + + void calculateMetallicness() + { + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + } + + void ApplyMetallics(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflection = lerp(probe1, probe0, interpolator); + } + else + { + reflection = probe0; + } + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } + + void ApplyMetallicsFake(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + reflection = texCUBElod(_CubeMap, float4(poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta new file mode 100644 index 00000000..b5ae369f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8e81ddda950c9f447bcb271906ef98f9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc new file mode 100644 index 00000000..8bb16398 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc @@ -0,0 +1,77 @@ +#ifndef POI_MIRROR + #define POI_MIRROR + + float _Mirror; + float _EnableMirrorTexture; + POI_TEXTURE_NOSAMPLER(_MirrorTexture); + + + void applyMirrorRenderVert(inout float4 vertex) + { + + if (float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + void applyMirrorRenderFrag() + { + + if(float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + void applyMirrorTexture(inout float4 mainTexture) + { + + if(float(0)) + { + if(IsInMirror()) + { + mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + } + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta new file mode 100644 index 00000000..e9405a7e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ab9b3f88db1f0c449a14b2595fef33d9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc new file mode 100644 index 00000000..62e63c91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc @@ -0,0 +1,107 @@ +float _OutlineRimLightBlend; +float _OutlineLit; +float _OutlineTintMix; +float2 _MainTexPan; +float _MainTextureUV; + +float4 frag(v2f i, uint facing: SV_IsFrontFace): COLOR +{ + float4 finalColor = 1; + + if (float(0)) + { + UNITY_SETUP_INSTANCE_ID(i); + + float3 finalEmission = 0; + float4 albedo = 1; + + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + float3 uselessData0; + float3 uselessData1; + initTextureData(albedo, mainTexture, uselessData0, uselessData1, detailMask); + + + fixed4 col = mainTexture; + float alphaMultiplier = smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(getCameraPosition(), i.worldPos)); + float OutlineMask = tex2D(_OutlineMask, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0)).r; + clip(OutlineMask * float(0) - 0.001); + + col = col * 0.00000000001 + tex2D(_OutlineTexture, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineTexture) + _Time.x * float4(0,0,0,0) ); + col.a *= albedo.a; + col.a *= alphaMultiplier; + + #ifdef POI_RANDOM + col.a *= i.angleAlpha; + #endif + + poiCam.screenUV = calcScreenUVs(i.grabPos); + col.a *= float4(1,1,1,1).a; + + + if(float(0) == 1) + { + applyDithering(col); + } + + clip(col.a - float(0.5)); + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + + if(float(0) == 1) + { + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + col.rgb = mainTexture.rgb; + } + else if(float(0) == 2) + { + col.rgb = lerp(col.rgb, poiLight.color, float(0)); + } + col.rgb *= float4(1,1,1,1).rgb; + + if(float(0) == 1) + { + col.rgb = lerp(col.rgb, mainTexture.rgb, float(0)); + } + + finalColor = col; + + #ifdef POI_LIGHTING + + if(float(1)) + { + finalColor.rgb *= calculateFinalLighting(finalColor.rgb, finalColor); + } + #endif + finalColor.rgb += (col.rgb * float(0)); + } + else + { + clip(-1); + } + return finalColor; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta new file mode 100644 index 00000000..accd1699 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 531e4dfb54803114e9985961ea5fba5e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc new file mode 100644 index 00000000..900e9e43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc @@ -0,0 +1,105 @@ +#ifndef OutlineVert + #define OutlineVert + + #include "CGI_PoiV2F.cginc" + + float _OutlineMode; + float4 _OutlinePersonaDirection; + float4 _OutlineDropShadowOffset; + float _OutlineUseVertexColors; + float _OutlineFixedSize; + float _commentIfZero_EnableOutlinePass; + + sampler2D _OutlineMask; float4 _OutlineMask_ST; float2 _OutlineMaskPan; float _OutlineMaskUV; + v2f vert(appdata v) + { + + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + + float2 uvArray[4]; + uvArray[0] = o.uv0.xy; + uvArray[1] = o.uv0.zw; + uvArray[2] = o.uv1.xy; + uvArray[3] = o.uv1.zw; + + #ifdef POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + o.uv0.xy = v.uv0 + _OutlineGlobalPan.xy * _Time.y; + float outlineMask = 1; + + outlineMask = poiMax(tex2Dlod(_OutlineMask, float4(TRANSFORM_TEX(uvArray[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0), 0, 0)).rgb); + + if (float(0) == 2) + { + outlineMask *= v.color.r; + } + + + if(float(0) != 1) + { + o.normal = UnityObjectToWorldNormal(v.normal); + } + else + { + o.normal = UnityObjectToWorldNormal(v.color); + } + + + half offsetMultiplier = 1; + half distanceOffset = 1; + + if(float(0)) + { + distanceOffset *= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex).xyz); + } + + float3 offset = o.normal * (float(0) * float(0) / 100) * outlineMask * distanceOffset; + + + if(float(0) == 2) + { + float3 lightDirection = poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + offsetMultiplier = saturate(dot(lightDirection, o.normal)); + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 3) + { + half3 viewNormal = mul((float3x3)UNITY_MATRIX_V, o.normal); + offsetMultiplier = saturate(dot(viewNormal.xy, normalize(float4(1,0,0,0).xy))); + + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 4) + { + offset = mul((float3x3)transpose(UNITY_MATRIX_V), float4(1,0,0,0)); + offset *= distanceOffset; + } + + o.worldPos = mul(unity_ObjectToWorld, v.vertex) + float4(offset, 0); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.pos = UnityWorldToClipPos(o.worldPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0); + UNITY_TRANSFER_FOG(o, o.pos); + return o; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta new file mode 100644 index 00000000..730a05d3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4de1c41c640839f45a59b26f45ba0e0a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc new file mode 100644 index 00000000..da64a89d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc @@ -0,0 +1,63 @@ +#ifndef PANOSPHERE + #define PANOSPHERE + + sampler2D _PanosphereTexture; float4 _PanosphereTexture_ST; + POI_TEXTURE_NOSAMPLER(_PanoMask); + float _PanoEmission; + float _PanoBlend; + float4 _PanosphereColor; + float3 _PanospherePan; + float _PanoToggle; + float _PanoCubeMapToggle; + float _PanoInfiniteStereoToggle; + samplerCUBE _PanoCubeMap; half4 _PanoCubeMap_HDR; + + float3 panoColor; + float panoMask; + + float2 projectIt(float3 coords) + { + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude + _Time.y * float4(0,0,0,0).x, latitude + _Time.y * float4(0,0,0,0).y) * float2(1.0 / UNITY_PI, 1.0 / UNITY_PI); + sphereCoords = float2(1.0, 1.0) - sphereCoords; + return(sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; + } + + void applyPanosphereColor(inout float4 albedo, inout float3 panosphereEmission) + { + panoMask = POI2D_SAMPLER_PAN(_PanoMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskPanosphere != 4) + { + panoMask *= blackLightMask[_BlackLightMaskPanosphere]; + } + #endif + + + if(float(0)) + { + float3 cubeUV = mul(poiRotationMatrixFromAngles(float4(0,0,0,0).xyz * _Time.y), float4(-poiCam.viewDir, 1)); + half4 cubemap = texCUBE(_PanoCubeMap, cubeUV); + panoColor = DecodeHDR(cubemap, _PanoCubeMap_HDR); + } + else + { + float2 uv = projectIt(normalize(lerp(getCameraPosition().xyz, poiCam.worldPos.xyz, float(0)) - poiMesh.worldPos.xyz) * - 1); + + float2 ddxuv = ddx(uv); + float2 ddyuv = ddy(uv); + if(any(fwidth(uv) > .5)) + { + ddxuv = ddyuv = 0.001; + } + panoColor = tex2D(_PanosphereTexture, TRANSFORM_TEX(uv, _PanosphereTexture), ddxuv, ddyuv).rgb * float4(1,1,1,1).rgb; + } + panosphereEmission = panoColor * float(0) * panoMask * float(0); + albedo.rgb = lerp(albedo.rgb, panoColor, float(0) * panoMask); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta new file mode 100644 index 00000000..f0746559 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f970068cb3e5e0b438b330017443bf9e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc new file mode 100644 index 00000000..6cd94900 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc @@ -0,0 +1,143 @@ +#ifndef POI_PARALLAX + #define POI_PARALLAX + + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxHeightMap); float4 _ParallaxHeightMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxHeightMapMask); + float2 _ParallaxHeightMapPan; + float _ParallaxStrength; + float _ParallaxHeightMapEnabled; + float _ParallaxUV; + + //Internal + float _ParallaxInternalMapEnabled; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxInternalMap); float4 _ParallaxInternalMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxInternalMapMask); + float _ParallaxInternalIterations; + float _ParallaxInternalMinDepth; + float _ParallaxInternalMaxDepth; + float _ParallaxInternalMinFade; + float _ParallaxInternalMaxFade; + float4 _ParallaxInternalMinColor; + float4 _ParallaxInternalMaxColor; + float4 _ParallaxInternalPanSpeed; + float4 _ParallaxInternalPanDepthSpeed; + float _ParallaxInternalHeightmapMode; + float _ParallaxInternalHeightFromAlpha; + + float GetParallaxHeight(float2 uv) + { + return clamp(UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxHeightMap, _MainTex, TRANSFORM_TEX(uv, _ParallaxHeightMap) + _Time.x * float4(0,0,0,0)).g, 0, .99999); + } + /* + float2 ParallaxOffset(float2 viewDir) + { + float height = GetParallaxHeight(); + height -= 0.5; + height *= float(0); + return viewDir * height; + } + */ + float2 ParallaxRaymarching(float2 viewDir) + { + float2 uvOffset = 0; + float stepSize = 0.1; + float2 uvDelta = viewDir * (stepSize * float(0)); + + float stepHeight = 1; + float surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)]); + + + float2 prevUVOffset = uvOffset; + float prevStepHeight = stepHeight; + float prevSurfaceHeight = surfaceHeight; + + for (int i = 1; i < 10 && stepHeight > surfaceHeight; i ++) + { + prevUVOffset = uvOffset; + prevStepHeight = stepHeight; + prevSurfaceHeight = surfaceHeight; + + uvOffset -= uvDelta; + stepHeight -= stepSize; + surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)] + uvOffset); + } + + float prevDifference = prevStepHeight - prevSurfaceHeight; + float difference = surfaceHeight - stepHeight; + float t = prevDifference / (prevDifference + difference); + uvOffset = prevUVOffset -uvDelta * t; + + return uvOffset *= POI2D_SAMPLER_PAN(_ParallaxHeightMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + + void calculateandApplyParallax() + { + + if (float(0)) + { + float2 parallaxOffset = ParallaxRaymarching(poiCam.tangentViewDir.xy); + + if(float(0) == 0) + { + poiMesh.uv[0] += parallaxOffset; + } + + if(float(0) == 1) + { + poiMesh.uv[1] += parallaxOffset; + } + + if(float(0) == 2) + { + poiMesh.uv[2] += parallaxOffset; + } + + if(float(0) == 3) + { + poiMesh.uv[3] += parallaxOffset; + } + } + } + + void calculateAndApplyInternalParallax(inout float4 finalColor) + { + #if defined(_PARALLAXMAP) + + if(float(0)) + { + float3 parallax = 0; + + for (int j = float(1); j > 0; j --) + { + float ratio = (float)j / float(1); + float2 parallaxOffset = _Time.y * (float4(0,0,0,0) + (1 - ratio) * float4(0,0,0,0)); + float fade = lerp(float(0), float(1), ratio); + float4 parallaxColor = UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxInternalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _ParallaxInternalMap) + lerp(float(0), float(1), ratio) * - poiCam.tangentViewDir.xy + parallaxOffset); + float3 parallaxTint = lerp(float4(1,1,1,1), float4(1,1,1,1), ratio); + float parallaxHeight; + if(float(0)) + { + parallaxTint *= parallaxColor.rgb; + parallaxHeight = parallaxColor.a; + } + else + { + parallaxHeight = parallaxColor.r; + } + //float parallaxColor *= lerp(float4(1,1,1,1), float4(1,1,1,1), 1 - ratio); + + if (float(0) == 1) + { + parallax = lerp(parallax, parallaxTint * fade, parallaxHeight >= 1 - ratio); + } + else + { + parallax += parallaxTint * parallaxHeight * fade; + } + } + //parallax /= float(1); + finalColor.rgb += parallax * POI2D_SAMPLER_PAN(_ParallaxInternalMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta new file mode 100644 index 00000000..f6486185 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 78c767448e73a954a95f237f990271e2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc new file mode 100644 index 00000000..81230e8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc @@ -0,0 +1,233 @@ +/* +USED--------------------------------------------- +"_PARALLAXMAP", +"_REQUIRE_UV2", +"_SUNDISK_NONE", +"_DETAIL_MULX2", +"_GLOSSYREFLECTIONS_OFF", +"_METALLICGLOSSMAP", +"_COLORADDSUBDIFF_ON", +"_SPECGLOSSMAP", +"_TERRAIN_NORMAL_MAP", +"_SUNDISK_SIMPLE", +"_EMISSION", +"_COLORCOLOR_ON", +"_COLOROVERLAY_ON", +"_ALPHAMODULATE_ON", +"_SUNDISK_HIGH_QUALITY", +"_MAPPING_6_FRAMES_LAYOUT", +"_NORMALMAP" +"EFFECT_BUMP", +"BLOOM", +"BLOOM_LOW", +"GRAIN", +"DEPTH_OF_FIELD", +"USER_LUT", +"CHROMATIC_ABERRATION_LOW", +"BLOOM_LENS_DIRT", +"_FADING_ON", +"CHROMATIC_ABERRATION", +"DISTORT", +"GEOM_TYPE_BRANCH", +"_SPECULARHIGHLIGHTS_OFF", +"_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", +"EFFECT_HUE_VARIATION", +"GEOM_TYPE_LEAF", +"GEOM_TYPE_MESH", +"FINALPASS", +"AUTO_EXPOSURE" +"VIGNETTE", +"VIGNETTE_MASKED", +"COLOR_GRADING_HDR", + +UNUSED------------------------------------------- +"_ALPHABLEND_ON", +"_ALPHAPREMULTIPLY_ON", +"_ALPHATEST_ON", +"GEOM_TYPE_BRANCH_DETAIL", +"GEOM_TYPE_FROND", +"PIXELSNAP_ON", +"SOFTPARTICLES_ON", +"DITHERING", +"TONEMAPPING_NEUTRAL", +"TONEMAPPING_FILMIC", +"TONEMAPPING_ACES", +"TONEMAPPING_CUSTOM", +"DEPTH_OF_FIELD_COC_VIEW", +"COLOR_GRADING", +"COLOR_GRADING_LOG_VIEW", +"VIGNETTE_CLASSIC", +"COLOR_GRADING_HDR_3D", + +DO NOT USE ----------------------------------------- +"BILLBOARD_FACE_CAMERA_POS", +*/ + + +#ifndef POI_PASS + #define POI_PASS + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #ifdef POI_META_PASS + #include "UnityMetaPass.cginc" + #endif + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + + #include "CGI_PoiSpawnInVert.cginc" + + #include "CGI_PoiV2F.cginc" + + #ifdef BLOOM_LOW + #include "CGI_PoiBulge.cginc" + #endif + + #include "CGI_PoiVert.cginc" + + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + + #include "CGI_PoiDithering.cginc" + + #ifdef _PARALLAXMAP + #include "CGI_PoiParallax.cginc" + #endif + + #ifdef USER_LUT + #include "CGI_PoiUVDistortion.cginc" + #endif + + #ifdef VIGNETTE + #include "CGI_PoiRGBMask.cginc" + #endif + + #include "CGI_PoiData.cginc" + + #ifdef _SPECULARHIGHLIGHTS_OFF + #include "CGI_PoiBlackLight.cginc" + #endif + + #include "CGI_PoiSpawnInFrag.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + + #ifdef DEPTH_OF_FIELD + #include "CGI_PoiHologram.cginc" + #endif + + #ifdef BLOOM_LENS_DIRT + #include "CGI_PoiIridescence.cginc" + #endif + + + #ifdef FUR + #include "CGI_PoiFur.cginc" + #include "CGI_PoiGeomFur.cginc" + #endif + + #ifdef VIGNETTE_MASKED + #include "CGI_PoiLighting.cginc" + #endif + + #include "CGI_PoiMainTex.cginc" + + #ifdef GEOM_TYPE_BRANCH + #include "CGI_PoiDecal.cginc" + #endif + + #ifdef CHROMATIC_ABERRATION + #include "CGI_PoiVoronoi.cginc" + #endif + + #ifdef _DETAIL_MULX2 + #include "CGI_PoiPanosphere.cginc" + #endif + + #ifdef EFFECT_BUMP + #include "CGI_PoiMSDF.cginc" + #endif + + #ifdef GRAIN + #include "CGI_PoiDepthColor.cginc" + #endif + + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _GLOSSYREFLECTIONS_OFF + #include "CGI_PoiRimLighting.cginc" + #endif + + #ifdef _MAPPING_6_FRAMES_LAYOUT + #include "CGI_PoiEnvironmentalRimLighting.cginc" + #endif + + #ifdef _METALLICGLOSSMAP + #include "CGI_PoiMetal.cginc" + #endif + + #ifdef _COLORADDSUBDIFF_ON + #include "CGI_PoiMatcap.cginc" + #endif + + #ifdef _SPECGLOSSMAP + #include "CGI_PoiSpecular.cginc" + #endif + + #ifdef BLOOM + #include "CGI_PoiVideo.cginc" + #endif + + #ifdef _TERRAIN_NORMAL_MAP + #include "CGI_PoiSubsurfaceScattering.cginc" + #endif + + #include "CGI_PoiBlending.cginc" + #include "CGI_PoiGrab.cginc" + + #ifdef _SUNDISK_SIMPLE + #include "CGI_PoiGlitter.cginc" + #endif + + #ifdef _EMISSION + #include "CGI_PoiEmission.cginc" + #endif + + #ifdef _COLORCOLOR_ON + #include "CGI_PoiClearCoat.cginc" + #endif + + #include "CGI_PoiAlphaToCoverage.cginc" + + #ifdef _COLOROVERLAY_ON + #include "CGI_PoiDebug.cginc" + #endif + #include "CGI_PoiFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta new file mode 100644 index 00000000..4a34ba1f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0795ee41d8853a941884886599711496 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc new file mode 100644 index 00000000..5e365972 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc @@ -0,0 +1,26 @@ +#ifndef POI_PASS_OUTLINE + #define POI_PASS_OUTLINE + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "CGI_PoiMacros.cginc" + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiOutlineVert.cginc" + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiLighting.cginc" + #include "CGI_PoiMainTex.cginc" + #include "CGI_PoiData.cginc" + #include "CGI_PoiDithering.cginc" + #include "CGI_PoiOutlineFrag.cginc" +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta new file mode 100644 index 00000000..a9557feb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3b4f7a8dce543e245b3b5246f06ea74f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc new file mode 100644 index 00000000..d21a5d4d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc @@ -0,0 +1,44 @@ +#ifndef POI_PASS_SHADOW + #define POI_PASS_SHADOW + + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiShadowIncludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiMirror.cginc" + #include "CGI_PoiSpawnInFrag.cginc" + + #include "CGI_PoiV2F.cginc" + #include "CGI_PoiData.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + #include "CGI_PoiDithering.cginc" + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + #include "CGI_PoiSpawnInVert.cginc" + #include "CGI_PoiShadowVert.cginc" + #include "CGI_PoiShadowFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta new file mode 100644 index 00000000..50f8aaaa --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d9721270d3098b74797f91687a538334 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc new file mode 100644 index 00000000..d4cd1697 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc @@ -0,0 +1,131 @@ +#ifndef POI_RGBMASK + #define POI_RGBMASK + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RGBMask); float4 _RGBMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RedTexure); float4 _RedTexure_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GreenTexture); float4 _GreenTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlueTexture); float4 _BlueTexture_ST; + + #ifdef GEOM_TYPE_MESH + POI_NORMAL_NOSAMPLER(_RgbNormalR); + POI_NORMAL_NOSAMPLER(_RgbNormalG); + POI_NORMAL_NOSAMPLER(_RgbNormalB); + float _RgbNormalsEnabled; + #endif + + float4 _RedColor; + float4 _GreenColor; + float4 _BlueColor; + + float4 _RGBMaskPanning; + float4 _RGBRedPanning; + float4 _RGBGreenPanning; + float4 _RGBBluePanning; + + float _RGBBlendMultiplicative; + + float _RGBMaskUV; + float _RGBRed_UV; + float _RGBGreen_UV; + float _RGBBlue_UV; + float _RGBUseVertexColors; + float _RGBNormalBlend; + + static float3 rgbMask; + + void calculateRGBNormals(inout half3 mainTangentSpaceNormal) + { + #ifdef GEOM_TYPE_MESH + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + + if(float(0)) + { + + if(float(0) == 0) + { + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.r); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.g); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.b); + } + return; + } + else + { + half3 newNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0) * rgbMask.r); + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.g); + normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.b); + mainTangentSpaceNormal = BlendNormals(newNormal, mainTangentSpaceNormal); + return; + } + } + #endif + } + + float3 calculateRGBMask(float3 baseColor) + { + //If RGB normals are in use this data will already exist + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + float4 red = POI2D_SAMPLER_PAN(_RedTexure, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 green = POI2D_SAMPLER_PAN(_GreenTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 blue = POI2D_SAMPLER_PAN(_BlueTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + + if(float(0)) + { + float3 RGBColor = 1; + RGBColor = lerp(RGBColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + baseColor *= RGBColor; + } + else + { + baseColor = lerp(baseColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + } + + return baseColor; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta new file mode 100644 index 00000000..df9fde31 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0a075fdef1bc9d34cb3c2b80c9da4793 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc new file mode 100644 index 00000000..137ef6de --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc @@ -0,0 +1,4 @@ +#ifndef POI_RNG + #define POI_RNG + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta new file mode 100644 index 00000000..0348b461 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7f21beeeafe54d645a48b7e5a66b9b9f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..11f3eea2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,41 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + float _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin; + float _CameraAngleMax; + float _ModelAngleMin; + float _ModelAngleMax; + float _AngleMinAlpha; + float _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = float(45) / 180; + half cameraAngleMax = float(90) / 180; + half modelAngleMin = float(45) / 180; + half modelAngleMax = float(90) / 180; + float3 pos = float(0) == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(float4(0,0,1,0)))); + half cameraLookAtModel = remapClamped(.5 * dot(cameraToModelDirection, getCameraForward()) + .5, cameraAngleMax, cameraAngleMin, 0, 1); + half modelLookAtCamera = remapClamped(.5 * dot(-cameraToModelDirection, modelForwardDirection) + .5, modelAngleMax, modelAngleMin, 0, 1); + if (float(0) == 0) + { + return max(cameraLookAtModel, float(0)); + } + else if(float(0) == 1) + { + return max(modelLookAtCamera, float(0)); + } + else if(float(0) == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, float(0)); + } + return 1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta new file mode 100644 index 00000000..9523e05b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 97f81af34cae1a14fad2ba9b0c7868f9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc new file mode 100644 index 00000000..d4571c0c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc @@ -0,0 +1,47 @@ +#ifndef POI_RIM + #define POI_RIM + + float4 _RimLightColor; + float _RimLightingInvert; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float _ShadowMix; + float _ShadowMixThreshold; + float _ShadowMixWidthMod; + float _EnableRimLighting; + float _RimBrighten; + float _RimLightNormal; + + POI_TEXTURE_NOSAMPLER(_RimTex); + POI_TEXTURE_NOSAMPLER(_RimMask); + POI_TEXTURE_NOSAMPLER(_RimWidthNoiseTexture); + + float _RimWidthNoiseStrength; + + float4 rimColor = float4(0, 0, 0, 0); + float rim = 0; + + void applyRimLighting(inout float4 albedo, inout float3 rimLightEmission) + { + float rimNoise = POI2D_SAMPLER_PAN(_RimWidthNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimNoise = (rimNoise - .5) * float(0.1); + + float viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + + if (float(0)) + { + viewDotNormal = 1 - abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + } + float rimWidth = float(0.8); + rimWidth -= rimNoise; + float rimMask = POI2D_SAMPLER_PAN(_RimMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimColor = POI2D_SAMPLER_PAN(_RimTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + rimWidth = max(lerp(rimWidth, rimWidth * lerp(0, 1, poiLight.lightMap - float(0.5)) * float(0.5), float(0)),0); + rim = 1 - smoothstep(min(float(0.25), rimWidth), rimWidth, viewDotNormal); + rim *= float4(1,1,1,1).a * rimColor.a * rimMask; + rimLightEmission = rim * lerp(albedo, rimColor, float(0)) * float(0); + albedo.rgb = lerp(albedo.rgb, lerp(albedo.rgb, rimColor, float(0)) + lerp(albedo.rgb, rimColor, float(0)) * float(0), rim); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta new file mode 100644 index 00000000..ec6f7bc7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2bbcb75216b9e2e439ce690abab4eea3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc new file mode 100644 index 00000000..16701f61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc @@ -0,0 +1,116 @@ +#ifndef SHADOW_FRAG + #define SHADOW_FRAG + + float2 _MainDistanceFade; + float _ForceOpaque; + float _MainShadowClipMod; + float2 _AlphaMaskPan; + float _AlphaMaskUV; + sampler3D _DitherMaskLOD; + float2 _MainTexPan; + float _MainTextureUV; + + half4 fragShadowCaster( + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + V2FShadow i, uint facing: SV_IsFrontFace + #endif + ): SV_Target + { + poiMesh.uv[0] = i.uv; + poiMesh.uv[1] = i.uv1; + poiMesh.uv[2] = i.uv2; + poiMesh.uv[3] = i.uv3; + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + + + //Possible Bug with clip + float clipValue = clamp(float(0.5) + float(0), - .001, 1.001); + + poiMesh.vertexColor = saturate(i.vertexColor); + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + #if defined(UNITY_STANDARD_USE_SHADOW_UVS) + + half4 alpha = mainTexture; + + + if (float(0)) + { + if(IsInMirror()) + { + alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a; + } + } + + + alpha.a *= smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(i.modelPos, _WorldSpaceCameraPos)); + half alphaMask = POI2D_PAN(_AlphaMask, poiMesh.uv[float(0)], float4(0,0,0,0)); + alpha.a *= alphaMask; + alpha.a *= float4(1,1,1,1).a + .0001; + alpha.a += float(0); + alpha.a = saturate(alpha.a); + + + if(float(0) == 0) + { + alpha.a = 1; + } + + + if(float(0) == 1) + { + applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy); + } + + #ifdef POI_DISSOLVE + float3 fakeEmission = 1; + calculateDissolve(alpha, fakeEmission); + #endif + + if(float(0) == 1) + { + clip(alpha.a - 0.001); + } + + /* + return poiMesh.vertexColor.g; + + #ifdef POI_RANDOM + alpha.a *= i.angleAlpha; + #endif + + + if(float(0) >= 1) + { + applySpawnInShadow(uv[0], i.localPos); + + #if defined(POI_FLIPBOOK) + alpha.a *= applyFlipbookAlphaToShadow(uv[float(0)]); + #endif + } + */ + + if (float(0) == 1) + { + clip(alpha.a - clipValue); + } + + + if(float(0) > 1) + { + float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a; + clip(dither - 0.01); + } + + #endif + SHADOW_CASTER_FRAGMENT(i) + } + + #endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta new file mode 100644 index 00000000..e3d85f0b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a71bbaf8c50a0bd4aa1b27ec15c70920 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc new file mode 100644 index 00000000..fd8f19a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc @@ -0,0 +1,41 @@ +#ifndef SHADOW_INCLUDES + #define SHADOW_INCLUDES + + #define UNITY_STANDARD_USE_SHADOW_UVS 1 + + float4 _Color; + sampler2D _AlphaMask; float4 _AlphaMask_ST; + + struct VertexInputShadow + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + struct V2FShadow + { + V2F_SHADOW_CASTER_NOPOS + float4 pos: SV_POSITION; + float2 uv: TEXCOORD1; + float2 uv1: TEXCOORD2; + float2 uv2: TEXCOORD3; + float2 uv3: TEXCOORD4; + float3 modelPos: TEXCOORD5; + float4 worldPos: TEXCOORD6; + float4 localPos: TEXCOORD7; + float3 angleAlpha: TEXCOORD8; + float4 grabPos: TEXCOORD9; + fixed3 barycentricCoordinates: TEXCOORD10; + float4 vertexColor: TEXCOORD11; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta new file mode 100644 index 00000000..7dd34174 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ab53e0d3becab5047acbe4e61e5e9aea +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc new file mode 100644 index 00000000..f0b7184a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc @@ -0,0 +1,80 @@ +float _EnableTouchGlow; +float _EnableBulge; +float _VertexManipulationHeightUV; + +V2FShadow vertShadowCaster(VertexInputShadow v) +{ + V2FShadow o; + UNITY_SETUP_INSTANCE_ID(v); + + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(V2FShadow, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.uv = v.uv0; + o.uv1 = v.uv1; + o.uv2 = v.uv2; + o.uv3 = v.uv3; + + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, v.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.vertexColor = v.color; + + + if(_EnableTouchGlow || _EnableBulge) + { + o.pos = UnityObjectToClipPos(float3(0, 0, -5)); + o.localPos.xyz = float3(0, 0, -5); + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + } + + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + + o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal); + o.pos = UnityApplyLinearShadowBias(o.pos); + + return o; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta new file mode 100644 index 00000000..0377eff2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ed888cae42cdc9745b359fab73e3f091 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc new file mode 100644 index 00000000..0c18d1ad --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc @@ -0,0 +1,58 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + #endif + + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST; + + float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos) + { + + if (_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + spawnInEmission = saturate(inverseGradient + _SpawnInAlpha + _SpawnInEmissionOffset +noise - 1) * _SpawnInEmissionColor; + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } + + void applySpawnInShadow(float2 uv, float3 localPos) + { + + if(_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float alpha = gradient - _SpawnInAlpha - noise + length(_SpawnInVertOffset); + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta new file mode 100644 index 00000000..fa28bbff --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: eb6c5e21492debc42a2b110dbc0227f4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc new file mode 100644 index 00000000..fdcc457f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc @@ -0,0 +1,40 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + + #endif + //sampler2D _SpawnInNoiseVert; float4 _SpawnInNoiseVert_ST; + + float calculateGradientValueVert(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv) + { + + if (_EnableScifiSpawnIn) + { + float noise = 0; + float gradient = calculateGradientValueVert(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + worldPos.xyz += saturate(inverseGradient + _SpawnInAlpha + _SpawnInVertOffsetOffset -1) * float3(0, _SpawnInVertOffset, 0); + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + //float noise = tex2Dlod(_SpawnInNoise, float4(TRANSFORM_TEX(uv, _SpawnInNoise))).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta new file mode 100644 index 00000000..58b8db26 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b7d64e7ec4fda404a9c51dbd236b6fe9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc new file mode 100644 index 00000000..f5287465 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc @@ -0,0 +1,488 @@ +#ifndef POI_SPECULAR + #define POI_SPECULAR + float _SpecWhatTangent; + float _SpecularType; + float _SmoothnessFrom; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap); + POI_TEXTURE_NOSAMPLER(_SpecularMap); + fixed _CenterOutSpecColor; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro); + float _SpecularAnisoJitterMirrored; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoFakeUV); + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap); + POI_TEXTURE_NOSAMPLER(_SpecularMask); + float _SpecularAnisoJitterMicroMultiplier; + float _SpecularAnisoJitterMacroMultiplier; + float4 _SpecularTint; + float _SpecularSmoothness; + float _Spec1Offset; + float _Spec1JitterStrength; + float _Spec2Smoothness; + float _Spec2Offset; + float _Spec2JitterStrength; + float _AnisoUseTangentMap; + float _AnisoSpec1Alpha; + float _AnisoSpec2Alpha; + float _SpecularInvertSmoothness; + half _SpecularMetallic; + float _SpecularNormal; + float _SpecularNormal1; + // Toon + fixed _SpecularToonStart; + fixed _SpecularToonEnd; + half4 _SpecularToonInnerOuter; + + float _EnableSpecular1; + float _SpecWhatTangent1; + float _SpecularType1; + float _SmoothnessFrom1; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMap1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro1); + float _SpecularAnisoJitterMirrored1; + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMask1); + float _SpecularAnisoJitterMicroMultiplier1; + float _SpecularAnisoJitterMacroMultiplier1; + float4 _SpecularTint1; + float _SpecularSmoothness1; + float _Spec1Offset1; + float _Spec1JitterStrength1; + float _Spec2Smoothness1; + float _Spec2Offset1; + float _Spec2JitterStrength1; + float _AnisoUseTangentMap1; + float _AnisoSpec1Alpha1; + float _AnisoSpec2Alpha1; + float _SpecularInvertSmoothness1; + half _SpecularMetallic1; + // Toon + half4 _SpecularToonInnerOuter1; + fixed _SpecularToonStart1; + fixed _SpecularToonEnd1; + + UnityIndirect ZeroIndirect() + { + UnityIndirect ind; + ind.diffuse = 0; + ind.specular = 0; + return ind; + } + + // From unity just putting it here in case I want to mod it + half4 poiRealisticSpecular(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, + float3 normal, float3 halfDir, + UnityLight light, UnityIndirect gi) + { + float perceptualRoughness = SmoothnessToPerceptualRoughness(smoothness); + #define UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV 0 + + #if UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV + half shiftAmount = dot(normal, poiCam.viewDir); + normal = shiftAmount < 0.0f ? normal + poiCam.viewDir * (-shiftAmount + 1e-5f): normal; + float nv = saturate(dot(normal, poiCam.viewDir)); + #else + half nv = abs(dot(normal, poiCam.viewDir)); + #endif + + float nl = saturate(dot(normal, light.dir)); + float nh = saturate(dot(normal, halfDir)); + + half lv = saturate(dot(light.dir, poiCam.viewDir)); + half lh = saturate(dot(light.dir, halfDir)); + + half diffuseTerm = DisneyDiffuse(nv, nl, lh, perceptualRoughness) * nl; + + float roughness = PerceptualRoughnessToRoughness(perceptualRoughness); + + roughness = max(roughness, 0.002); + float V = SmithJointGGXVisibilityTerm(nl, nv, roughness); + float D = GGXTerm(nh, roughness); + + float specularTerm = V * D * UNITY_PI; + + #ifdef UNITY_COLORSPACE_GAMMA + specularTerm = sqrt(max(1e-4h, specularTerm)); + #endif + + specularTerm = max(0, specularTerm * nl); + #if defined(_POI_SPECULARHIGHLIGHTS_OFF) + specularTerm = 0.0; + #endif + + half surfaceReduction; + #ifdef UNITY_COLORSPACE_GAMMA + surfaceReduction = 1.0 - 0.28 * roughness * perceptualRoughness; + #else + surfaceReduction = 1.0 / (roughness * roughness + 1.0); + #endif + + specularTerm *= any(specColor) ? 1.0: 0.0; + + half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); + half3 color = diffColor * (gi.diffuse + light.color * diffuseTerm) + + specularTerm * light.color * FresnelTerm(specColor, lh) + + surfaceReduction * gi.specular * FresnelLerp(specColor, grazingTerm, nv); + + return half4(color, 1); + } + + half3 calculateRealisticSpecular(float4 albedo, float2 uv, float4 specularTint, float specularSmoothness, float invertSmoothness, float mixAlbedoWithTint, float4 specularMap, float3 specularLight, float3 normal, float attenuation, float3 lightDirection, float nDotL, float3 halfDir) + { + half oneMinusReflectivity; + half3 finalSpecular; + UnityLight unityLight; + unityLight.color = specularLight; + unityLight.dir = lightDirection; + unityLight.ndotl = nDotL; + + + if (float(1) == 0) + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularMap.rgb * specularTint.rgb, /*out*/ oneMinusReflectivity); + finalSpecular = poiRealisticSpecular(diffColor, specularMap.rgb, oneMinusReflectivity, specularMap.a * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + else + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularTint.rgb, /*out*/ oneMinusReflectivity); + float smoothness = max(max(specularMap.r, specularMap.g), specularMap.b); + finalSpecular = poiRealisticSpecular(diffColor, 1, oneMinusReflectivity, smoothness * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + finalSpecular *= lerp(1, albedo.rgb, mixAlbedoWithTint); + return finalSpecular; + } + + half3 calculateToonSpecular(float4 albedo, float2 uv, float2 specularToonInnerOuter, float specularMixAlbedoIntoTint, float smoothnessFrom, float4 specularMap, float3 specularLight, float3 normal, float3 halfDir, float attenuation) + { + half3 finalSpecular = smoothstep(1 - specularToonInnerOuter.y, 1 - specularToonInnerOuter.x, dot(halfDir, normal)) * specularLight; + + if (smoothnessFrom == 0) + { + finalSpecular.rgb *= specularMap.rgb * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + finalSpecular *= specularMap.a; + } + else + { + finalSpecular *= specularMap.r * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + return finalSpecular; + } + + float3 strandSpecular(float TdotL, float TdotV, float specPower, float nDotL) + { + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + float Specular = saturate(nDotL) * pow(saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV), specPower); + half normalization = sqrt((specPower + 1) * ((specPower) + 1)) / (8 * pi); + Specular *= normalization; + return Specular; + } + + half3 AnisotropicSpecular( + float specWhatTangent, float anisoUseTangentMap, float specularSmoothness, float spec2Smoothness, + float anisoSpec1Alpha, float anisoSpec2Alpha, float4 specularTint, float specularMixAlbedoIntoTint, float4 specularMap, float3 specularLight, float3 lightDirection, float3 halfDir, float nDotL, float jitter, float4 packedTangentMap, in float4 albedo) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + tangentDirectionMap += float(0) +jitter; + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + half specPower = RoughnessToSpecPower(1.0 - specularSmoothness * specularMap.a); + half spec2Power = RoughnessToSpecPower(1.0 - spec2Smoothness * specularMap.a); + half Specular = 0; + + float3 spec = strandSpecular(TdotL, TdotV, specPower, nDotL) * anisoSpec1Alpha; + float3 spec2 = strandSpecular(TdotL, TdotV, spec2Power, nDotL) * anisoSpec2Alpha; + + return max(spec, spec2) * specularMap.rgb * specularTint.a * specularLight * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + + inline float3 toonAnisoSpecular(float specWhatTangent, float anisoUseTangentMap, float3 lightDirection, float halfDir, float4 specularMap, float nDotL, fixed gradientStart, fixed gradientEnd, float4 specColor, float4 finalColor, fixed metallic, float jitter, float mirrored, float4 packedTangentMap) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + if (!mirrored) + { + tangentDirectionMap += jitter; + } + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + + float specular = saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV); + + fixed smoothAlpha = specular; + if(mirrored) + { + smoothAlpha = max(specular - jitter, 0); + } + + specular = smoothstep(gradientStart, gradientEnd, smoothAlpha); + + /* + + if(_CenterOutSpecColor) + { + specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, clamp(float2(specular, specular), 0.01, .99), float4(0,0,0,0)); + } + */ + + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + + return saturate(nDotL) * specular * poiLight.color * specColor * specularMap.rgb * lerp(1, finalColor, metallic) * specularMap.a; + } + + inline float SpecularHQ(half roughness, half dotNH, half dotLH) + { + roughness = saturate(roughness); + roughness = max((roughness * roughness), 0.002); + half roughnessX2 = roughness * roughness; + + half denom = dotNH * dotNH * (roughnessX2 - 1.0) + 1.0f; + half D = roughnessX2 / (3.14159 * denom * denom); + + half k = roughness / 2.0f; + half k2 = k * k; + half invK2 = 1.0f - k2; + + half vis = rcp(dotLH * dotLH * invK2 + k2); + + float specTerm = vis * D; + + return specTerm; + } + + float3 calculateNewSpecular(in float3 specularMap, uint colorFrom, in float4 albedo, in float3 specularTint, in float specularMetallic, in float specularSmoothness, in half dotNH, in half dotLH, in float3 lightColor, in float attenuation) + { + float3 specColor = specularTint; + float metallic = specularMetallic; + float roughness = 1 - specularSmoothness; + float perceptualRoughness = roughness; + //float reflectInverse = DielectricSpec.a - metallic * DielectricSpec.a; + //float reflectivity = 1.0h - reflectInverse; + float3 specMapColor = lerp(specularMap, 1, colorFrom); + float3 specularColor = lerp(DielectricSpec.rgb * specMapColor, lerp(specularMap, albedo.rgb, colorFrom), metallic); + //albedo.rgb *= reflectInverse; + return clamp(specularColor * lightColor * attenuation * specularTint * SpecularHQ(perceptualRoughness, dotNH, dotLH), 0, lightColor * specularTint); + } + + float3 calculateSpecular(in float4 albedo) + { + half3 finalSpecular = 0; + half3 finalSpecular1 = 0; + float4 realisticAlbedo = albedo; + float4 realisticAlbedo1 = albedo; + float4 specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half metallic = POI2D_SAMPLER_PAN(_SpecularMetallicMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + half specularMask = POI2D_SAMPLER_PAN(_SpecularMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float attenuation = saturate(poiLight.nDotL); + #ifdef POI_LIGHTING + + if (float(0) && float(0) == 0 && float(0) == 1) + { + attenuation = poiLight.rampedLightMap; + } + #endif + + + if(float(1) == 1) // Realistic + { + if (float(1) == 1) + { + specularMap.a = specularMap.r; + specularMap.rgb = 1; + } + + if(float(0)) + { + specularMap.a = 1 - specularMap.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, attenuation); + #else + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic, jitter, float(0), packedTangentMap); + finalSpecular *= attenuation; + } + + #ifdef FORWARD_BASE_PASS + + if(float(1) == 2) // Toon + { + finalSpecular += calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic, float(1), specularMap, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += AnisotropicSpecular(float(0), float(0), float(1), float(0), float(1), float(1), float4(1,1,1,1), metallic, specularMap, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular *= float4(1,1,1,1); + finalSpecular *= attenuation; + } + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + + finalSpecular *= float4(1,1,1,1).a; + finalSpecular = finalSpecular.rgb; + finalSpecular *= specularMask; + + + if (float(0)) + { + float4 specularMap1 = POI2D_SAMPLER_PAN(_SpecularMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half specularMask1 = POI2D_SAMPLER_PAN(_SpecularMask1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + half metallic1 = POI2D_SAMPLER_PAN(_SpecularMetallicMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + float attenuation = poiLight.attenuation; + + if(float(1) == 1) // Realistic + { + + if (float(1) == 1) + { + specularMap1.a = specularMap1.r; + specularMap1.rgb = 1; + } + else + { + realisticAlbedo1.rgb = specularMap1.rgb; + } + + + if(float(0)) + { + specularMap1.a = 1 - specularMap1.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, saturate(poiLight.nDotL)); + #else + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap1, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic1, jitter, float(0), packedTangentMap); + finalSpecular1 *= poiLight.attenuation; + } + + + if(float(1) == 2) // Toon + { + finalSpecular1 = calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic1, float(1), specularMap1, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular1 *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 = AnisotropicSpecular(float(0), float(0), float(0.75), float(0), float(1), float(1), float4(1,1,1,1), metallic1, specularMap1, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular1 *= float4(1,1,1,1); + finalSpecular1 *= poiLight.attenuation; + } + + #ifdef FORWARD_BASE_PASS + // Non Important Lights + #ifdef VERTEXLIGHT_ON + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular1 += calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + #endif + + finalSpecular1 *= float4(1,1,1,1).a; + finalSpecular1 = finalSpecular1.rgb; + finalSpecular1 *= specularMask1; + } + return finalSpecular + finalSpecular1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta new file mode 100644 index 00000000..4967f803 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b7b190f9acff190439bfceb17e652d08 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc new file mode 100644 index 00000000..b7c21c01 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc @@ -0,0 +1,28 @@ +#ifndef SUBSURFACE + #define SUBSURFACE + + float _SSSThicknessMod; + float _SSSSCale; + float _SSSPower; + float _SSSDistortion; + float4 _SSSColor; + float _EnableSSS; + + POI_TEXTURE_NOSAMPLER(_SSSThicknessMap); + + float3 calculateSubsurfaceScattering() + { + float SSS = 1 - POI2D_SAMPLER_PAN(_SSSThicknessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + half3 vLTLight = poiLight.direction + poiMesh.normals[0] * float(1); + half flTDot = pow(saturate(dot(poiCam.viewDir, -vLTLight)), float(5)) * float(0.25); + #ifdef FORWARD_BASE_PASS + half3 fLT = (flTDot) * saturate(SSS + - 1 * float(0)); + #else + half3 fLT = poiLight.attenuation * (flTDot) * saturate(SSS + - 1 * float(0)); + #endif + + return fLT * poiLight.color * float4(1,0,0,1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta new file mode 100644 index 00000000..27c488c4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b03f07e694dfaac4c96ba5b09b3a515a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc new file mode 100644 index 00000000..4912473d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc @@ -0,0 +1,117 @@ +#ifndef POI_TESSELLATION + #define POI_TESSELLATION + + float _TessellationPhongStrength; + float _TessellationEdgeLength; + float _TessellationExtrusionAmount; + float _TessellationUniform; + + struct TessellationControlPoint + { + float4 vertex: INTERNALTESSPOS; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + }; + + struct TessellationFactors + { + float edge[3]: SV_TessFactor; + float inside: SV_InsideTessFactor; + }; + + TessellationControlPoint poiTessellationVert(appdata v) + { + TessellationControlPoint p; + p.vertex = v.vertex; + p.normal = v.normal; + p.tangent = v.tangent; + p.color = v.color; + p.uv0 = v.uv0; + p.uv1 = v.uv1; + p.uv2 = v.uv2; + p.uv3 = v.uv3; + return p; + } + + float TessellationEdgeFactor(float3 p0, float3 p1) + { + #ifndef _FADING_ON + float edgeLength = distance(p0, p1); + + float3 edgeCenter = (p0 + p1) * 0.5; + float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos); + + return edgeLength * _ScreenParams.y / + (_TessellationEdgeLength * viewDistance); + #else + return _TessellationUniform; + #endif + } + + TessellationFactors poiPatchConst( + InputPatch < TessellationControlPoint, 3 > patch + ) + { + + TessellationFactors f; + float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz; + float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz; + float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz; + f.edge[0] = TessellationEdgeFactor(p1, p2); + f.edge[1] = TessellationEdgeFactor(p2, p0); + f.edge[2] = TessellationEdgeFactor(p0, p1); + f.inside = (TessellationEdgeFactor(p1, p2) + + TessellationEdgeFactor(p2, p0) + + TessellationEdgeFactor(p0, p1)) * (1 / 3.0); + return f; + } + + [UNITY_domain("tri")] + [UNITY_outputcontrolpoints(3)] + [UNITY_outputtopology("triangle_cw")] + [UNITY_partitioning("fractional_odd")] + [UNITY_patchconstantfunc("poiPatchConst")] + TessellationControlPoint poiHull( + InputPatch < TessellationControlPoint, 3 > patch, + uint id: SV_OutputControlPointID + ) + { + return patch[id]; + } + + [UNITY_domain("tri")] + v2f poiDomain( + TessellationFactors factors, + OutputPatch < TessellationControlPoint, 3 > patch, + float3 barycentricCoordinates: SV_DomainLocation + ) + { + appdata data; + + #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z; + + MY_DOMAIN_PROGRAM_INTERPOLATE(vertex) + float3 pp[3]; + for (int i = 0; i < 3; ++ i) + { + pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + } + data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz; + MY_DOMAIN_PROGRAM_INTERPOLATE(normal) + data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount; + MY_DOMAIN_PROGRAM_INTERPOLATE(tangent) + MY_DOMAIN_PROGRAM_INTERPOLATE(color) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv0) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv1) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv2) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv3) + + return vert(data); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta new file mode 100644 index 00000000..87b6a87e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 44c9845a740cc0848b92076ccd485bb3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc new file mode 100644 index 00000000..38d5fd75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc @@ -0,0 +1,34 @@ +#ifndef POI_UV_DISTORTION + #define POI_UV_DISTORTION + + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture); float4 _DistortionFlowTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture1); float4 _DistortionFlowTexture1_ST; + POI_TEXTURE_NOSAMPLER(_DistortionMask); + + float _DistortionStrength; + float _DistortionStrength1; + float2 _DistortionSpeed; + float2 _DistortionSpeed1; + + float2 getTorusUv(float2 uv) + { + // translated to hlsl from https://www.shadertoy.com/view/Md3Bz7 + // http://web.cs.ucdavis.edu/~amenta/s12/findnorm.pdf + float phi = 6.28318530718f * uv.x; + float theta = 6.28318530718f * uv.y; + float3 c = cos(float3(phi, phi + 1.57079632679f, theta)); + float2 result = float2(c.x * c.z, -c.y * c.z); + return result * 0.5 + 0.5; + } + + float2 calculateDistortionUV(float2 uv) + { + half distortionMask = POI2D_SAMPLER_PAN(_DistortionMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flowVector = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + float4 flowVector1 = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture1, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture1) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + flowVector *= float(0.5); + flowVector1 *= float(0.5); + return uv + ((flowVector.xy + flowVector1.xy) / 2) * distortionMask; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta new file mode 100644 index 00000000..24816af9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7cc78659ca928444485eb2df1e7fce56 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc new file mode 100644 index 00000000..0e29a179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc @@ -0,0 +1,34 @@ +#ifndef POI_V2F + #define POI_V2F + + struct v2f + { + float4 pos: SV_POSITION; + float4 uv0: TEXCOORD0; + float4 uv1: TEXCOORD1; + float3 normal: TEXCOORD2; + float3 tangentViewDir: TEXCOORD3; + float4 tangent: TEXCOORD4; + float4 worldPos: TEXCOORD5; + float4 localPos: TEXCOORD6; + float4 grabPos: TEXCOORD7; + float3 barycentricCoordinates: TEXCOORD8; + #if defined(GRAIN) + float4 worldDirection: TEXCOORD9; + #endif + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV: TEXCOORD10; + #endif + float3 modelPos: TEXCOORD11; + float angleAlpha: TEXCOORD12; + float4 vertexColor: TEXCOORD14; + #ifdef FUR + float furAlpha: TEXCOORD15; + #endif + UNITY_SHADOW_COORDS(16) + UNITY_FOG_COORDS(17) + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta new file mode 100644 index 00000000..7832deda --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e722414d23b0a5d4e9864c783a5558e5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc new file mode 100644 index 00000000..1558e937 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc @@ -0,0 +1,126 @@ +#ifndef POI_VERT + #define POI_VERT + + float _VertexManipulationHeightUV; + float _VertexUnwrap; + + #define PM UNITY_MATRIX_P + + inline float4 CalculateFrustumCorrection() + { + float x1 = -PM._31 / (PM._11 * PM._34); + float x2 = -PM._32 / (PM._22 * PM._34); + return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23); + } + + v2f vert(appdata v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + #ifdef _COLOROVERLAY_ON + v.vertex.xyz = lerp(v.vertex.xyz, float3(v.uv0.x - .5, v.uv0.y - .5, 0), float(0)); + #endif + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.tangent, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + #ifdef _REQUIRE_UV2 //POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.normal = UnityObjectToWorldNormal(v.normal); + //o.localPos.x *= -1; + //o.localPos.xz += sin(o.localPos.y * 100 + _Time.y * 5) * .0025; + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, o.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + o.vertexColor = v.color; + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + + #ifdef POI_BULGE + bulgyWolgy(o); + #endif + + + o.angleAlpha = 1; + #ifdef _SUNDISK_NONE //POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + #if defined(LIGHTMAP_ON) + o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0.xy); + UNITY_TRANSFER_FOG(o, o.pos); + + #if defined(_PARALLAXMAP) // POI_PARALLAX + v.tangent.xyz = normalize(v.tangent.xyz); + v.normal = normalize(v.normal); + float3x3 objectToTangent = float3x3( + v.tangent.xyz, + cross(v.normal, v.tangent.xyz) * v.tangent.w, + v.normal + ); + o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex)); + #endif + + #ifdef POI_META_PASS + o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); + #endif + + #if defined(GRAIN) + float4 worldDirection; + + worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos; + worldDirection.w = dot(o.pos, CalculateFrustumCorrection()); + o.worldDirection = worldDirection; + #endif + + return o; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta new file mode 100644 index 00000000..e40d9d76 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4372d54f7ed3fc049b1ee043a0412460 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc new file mode 100644 index 00000000..94c16148 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc @@ -0,0 +1,93 @@ +#ifndef POI_VERTEX_MANIPULATION + #define POI_VERTEX_MANIPULATION + + #include "CGI_PoiMath.cginc" + + float4 _VertexManipulationLocalTranslation; + float4 _VertexManipulationLocalRotation; + float4 _VertexManipulationLocalScale; + float4 _VertexManipulationWorldTranslation; + + float _VertexManipulationHeight; + float _VertexManipulationHeightBias; + sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST; + float2 _VertexManipulationHeightPan; + + + //Vertex Glitching + float _EnableVertexGlitch; + sampler2D _VertexGlitchMap; float4 _VertexGlitchMap_ST; + float _VertexGlitchThreshold; + float _VertexGlitchFrequency; + float _VertexGlitchStrength; + // Rounding + float _VertexRoundingDivision; + float _VertexRoundingEnabled; + + void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyVertexRounding(inout float4 worldPos, inout float4 localPos) + { + + if (float(0)) + { + worldPos.xyz = (ceil(worldPos * float(500)) / float(500)) - 1 / float(500) * .5; + localPos = mul(unity_WorldToObject, worldPos); + } + } + + void applyVertexGlitching(inout float4 worldPos, inout float4 localPos) + { + + if(_EnableVertexGlitch) + { + float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + forward.y = 0; + forward = normalize(forward); + float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward)); + float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1; + /* + float uvl = worldPos.y * _VertexGlitchDensity + _Time.x * _VertexGlitchMapPanSpeed; + float uvr = worldPos.y * _VertexGlitchDensity - _Time.x * _VertexGlitchMapPanSpeed; + float glitchAmountLeft = tex2Dlod(_VertexGlitchMap, float4(uvl, uvl, 0, 0)).r; + float glitchAmountRight = -tex2Dlod(_VertexGlitchMap, float4(uvr, uvr, 0, 0)).r; + float glitchAmount = glitchAmountLeft + glitchAmountRight; + */ + float time = _Time.y * _VertexGlitchFrequency; + float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4; + worldPos.xyz += glitchAmount * glitchDirection * (_VertexGlitchStrength * .01) * step(_VertexGlitchThreshold, randomGlitch); + localPos = mul(unity_WorldToObject, worldPos); + } + } + +#endif +// diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta new file mode 100644 index 00000000..7d0b45fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6477f159c0750f647993a2d8173e5757 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc new file mode 100644 index 00000000..ec2d37e4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc @@ -0,0 +1,266 @@ +#ifndef POI_VIDEO + #define POI_VIDEO + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoPixelTexture); float4 _VideoPixelTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoMaskTexture); float4 _VideoMaskTexture_ST; + + float _VideoUVNumber; + float _VideoType; + float3 pixels; + float2 _VideoResolution; + sampler2D _VideoGameboyRamp; + half _VideoBacklight; + half _VideoCRTRefreshRate; + half _VideoCRTPixelEnergizedTime; + half _VideoEnableVideoPlayer; + half _VideoRepeatVideoTexture; + half _VideoPixelateToResolution; + float2 _VideoMaskPanning; + // Video Settings + half _VideoSaturation; + half _VideoContrast; + float2 _VideoTiling; + float2 _VideoOffset; + float2 _VideoPanning; + //Debug + half _VideoEnableDebug; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoDebugTexture); float4 _VideoDebugTexture_ST; + + + sampler2D _VRChat_VideoPlayer; + float4 _VRChat_VideoPlayer_TexelSize; + + float4 globalVideoPlayerColor; + float3 globalColorToDisplayOnScreen; + float globalVideoOn; + + float3 applyBacklight(float3 albedo, half backlightStrength) + { + return max(backlightStrength, albedo.rgb); + } + + float3 applyViewAngleTN(float3 albedo) + { + float3 reflectionVector = normalize(reflect(poiCam.viewDir.rgb, poiMesh.normals[1].rgb)); + float upwardShift = dot(reflectionVector, poiMesh.binormal); + upwardShift = pow(upwardShift, 1); + float sideShift = dot(reflectionVector, poiMesh.tangent); + sideShift *= pow(sideShift, 3); + #if !UNITY_COLORSPACE_GAMMA + albedo = LinearToGammaSpace(albedo); + #endif + albedo = saturate(lerp(half3(0.5, 0.5, 0.5), albedo, upwardShift + 1)); + #if !UNITY_COLORSPACE_GAMMA + albedo = GammaToLinearSpace(albedo); + #endif + albedo = (lerp(albedo, albedo.gbr, sideShift)); + return albedo; + } + + float calculateCRTPixelBrightness() + { + float totalPixels = _VideoResolution.x * _VideoResolution.y; + float2 uvPixel = float2((floor((1 - poiMesh.uv[_VideoUVNumber].y) * _VideoResolution.y)) / _VideoResolution.y, (floor(poiMesh.uv[_VideoUVNumber].x * _VideoResolution.x)) / _VideoResolution.x); + float currentPixelNumber = _VideoResolution.x * (_VideoResolution.y * uvPixel.x) + _VideoResolution.y * uvPixel.y; + float currentPixelAlpha = currentPixelNumber / totalPixels; + half electronBeamAlpha = frac(_Time.y * _VideoCRTRefreshRate); + float electronBeamPixelNumber = totalPixels * electronBeamAlpha; + + float DistanceInPixelsFromCurrentElectronBeamPixel = 0; + if (electronBeamPixelNumber >= currentPixelNumber) + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber - currentPixelNumber; + } + else + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber + (totalPixels - currentPixelNumber); + } + float CRTFrameTime = 1 / _VideoCRTRefreshRate; + float timeSincecurrentPixelWasHitByElectronBeam = (DistanceInPixelsFromCurrentElectronBeamPixel / totalPixels); + + return saturate(_VideoCRTPixelEnergizedTime - timeSincecurrentPixelWasHitByElectronBeam); + } + + void applyContrastSettings(inout float3 pixel) + { + #if !UNITY_COLORSPACE_GAMMA + pixel = LinearToGammaSpace(pixel); + #endif + pixel = saturate(lerp(half3(0.5, 0.5, 0.5), pixel, _VideoContrast + 1)); + #if !UNITY_COLORSPACE_GAMMA + pixel = GammaToLinearSpace(pixel); + #endif + } + + void applySaturationSettings(inout float3 pixel) + { + pixel = lerp(pixel.rgb, dot(pixel.rgb, float3(0.3, 0.59, 0.11)), -_VideoSaturation); + } + + void applyVideoSettings(inout float3 pixel) + { + applySaturationSettings(pixel); + applyContrastSettings(pixel); + } + + void calculateLCD(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateTN(inout float4 albedo) + { + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + globalColorToDisplayOnScreen = applyViewAngleTN(globalColorToDisplayOnScreen); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateCRT(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + float brightness = calculateCRTPixelBrightness(); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * brightness * _VideoBacklight; + } + void calculateOLED(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateGameboy(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + half brightness = saturate((globalColorToDisplayOnScreen.r + globalColorToDisplayOnScreen.g + globalColorToDisplayOnScreen.b) * .3333333); + albedo.rgb = tex2D(_VideoGameboyRamp, brightness); + } + void calculateProjector(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + + float3 projectorColor = albedo * globalColorToDisplayOnScreen * _VideoBacklight; + albedo.r = clamp(projectorColor.r, albedo.r, 1000); + albedo.g = clamp(projectorColor.g, albedo.g, 1000); + albedo.b = clamp(projectorColor.b, albedo.b, 1000); + } + + void applyScreenEffect(inout float4 albedo, inout float3 videoEmission) + { + float4 albedoBeforeScreen = albedo; + + pixels = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoPixelTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoPixelTexture) * _VideoResolution); + globalVideoOn = 0; + + if(_VideoEnableVideoPlayer == 1) + { + float4 videoTexture = 0; + + if(_VideoPixelateToResolution) + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, round(TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoResolution + .5) / _VideoResolution); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, round(poiMesh.uv[_VideoUVNumber] * _VideoResolution + .5) / _VideoResolution); + } + } + else + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoTiling + _VideoOffset); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, ((poiMesh.uv[_VideoUVNumber] + _Time.x * _VideoPanning) * _VideoTiling) + _VideoOffset); + } + } + if(videoTexture.a == 1) + { + globalColorToDisplayOnScreen = videoTexture.rgb; + globalVideoOn = 1; + } + } + + + if(_VideoRepeatVideoTexture == 1) + { + if(poiMesh.uv[_VideoUVNumber].x > 1 || poiMesh.uv[_VideoUVNumber].x < 0 || poiMesh.uv[_VideoUVNumber].y > 1 || poiMesh.uv[_VideoUVNumber].y < 0) + { + return; + } + } + + switch(_VideoType) + { + case 0: // LCD + { + calculateLCD(albedo); + break; + } + case 1: // TN + { + calculateTN(albedo); + break; + } + case 2: // CRT + { + calculateCRT(albedo); + break; + } + case 3: // OLED + { + calculateOLED(albedo); + break; + } + case 4: // Gameboy + { + calculateGameboy(albedo); + break; + } + case 5: // Projector + { + calculateProjector(albedo); + break; + } + } + + float screenMask = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoMaskTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoMaskTexture) + _Time.x * _VideoMaskPanning); + albedo = lerp(albedoBeforeScreen, albedo, screenMask); + videoEmission = max(albedo.rgb * screenMask - 1, 0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta new file mode 100644 index 00000000..253e73c9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 42847b3eb5f084b45bac547da48cc8cb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc new file mode 100644 index 00000000..db3d3130 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc @@ -0,0 +1,304 @@ +#ifndef POI_VORONOI + #define POI_VORONOI + + #include "CGI_PoiRNG.cginc" + + float _VoronoiSpace; + float _VoronoiBlend; + float _VoronoiType; + float4 _VoronoiColor0; + float _VoronoiEmission0; + float4 _VoronoiColor1; + float _VoronoiEmission1; + float2 _VoronoiGradient; + float _VoronoiScale; + float3 _VoronoiSpeed; + float _VoronoiEnableRandomCellColor; + float2 _VoronoiRandomMinMaxSaturation; + float2 _VoronoiRandomMinMaxBrightness; + float3 randomPoint; + float _VoronoiEffectsMaterialAlpha; + + POI_TEXTURE_NOSAMPLER(_VoronoiMask); + POI_TEXTURE_NOSAMPLER(_VoronoiNoise); + float _VoronoiNoiseIntensity; + + float2 inoise(float3 P, float jitter) + { + float3 Pi = mod(floor(P), 289.0); + float3 Pf = frac(P); + float3 oi = float3(-1.0, 0.0, 1.0); + float3 of = float3(-0.5, 0.5, 1.5); + float3 px = Permutation(Pi.x + oi); + float3 py = Permutation(Pi.y + oi); + + float3 p, ox, oy, oz, dx, dy, dz; + float2 F = 1e6; + + for (int i = 0; i < 3; i ++) + { + for (int j = 0; j < 3; j ++) + { + p = Permutation(px[i] + py[j] + Pi.z + oi); // pij1, pij2, pij3 + + ox = frac(p * K) - Ko; + oy = mod(floor(p * K), 7.0) * K - Ko; + + p = Permutation(p); + + oz = frac(p * K) - Ko; + + dx = Pf.x - of[i] + jitter * ox; + dy = Pf.y - of[j] + jitter * oy; + dz = Pf.z - of + jitter * oz; + + float3 d = dx * dx + dy * dy + dz * dz; // dij1, dij2 and dij3, squared + + //Find lowest and second lowest distances + for (int n = 0; n < 3; n ++) + { + if (d[n] < F[0]) + { + F[1] = F[0]; + F[0] = d[n]; + randomPoint = p; + } + else if(d[n] < F[1]) + { + F[1] = d[n]; + } + } + } + } + + return F; + } + + float voronoi2D(in float2 x, float scale, float2 speed) + { + x *= scale; + x += speed * _Time.x; + float2 n = floor(x); + float2 f = frac(x); + + // first pass: regular voronoi + float2 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 g = float2(float(i), float(j)); + float2 o = random2(n + g); + float2 currentPoint = o; + + float2 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint.xy = currentPoint; + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + float2 g = mg + float2(float(q), float(r)); + float2 o = random2(n + g); + + float2 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + return md; + } + + float voronoi3D(in float3 x, float scale, float3 speed) + { + x *= scale; + x += speed * _Time.x; + float3 n = floor(x); + float3 f = frac(x); + + // first pass: regular voronoi + float3 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + for (int h = -1; h <= 1; h ++) + { + float3 g = float3(float(h), float(i), float(j)); + float3 o = random3(n + g); + float3 currentPoint = o; + + float3 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint = currentPoint; + } + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + for (int p = -2; p <= 2; p ++) + { + float3 g = mg + float3(float(p), float(q), float(r)); + float3 o = random3(n + g); + + float3 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + } + return md; + } + + + + // fracal sum, range -1.0 - 1.0 + float VoronoiNoise_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + float VoronoiNoiseDiff_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[1]) - sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + void applyVoronoi(inout float4 finalColor, inout float3 VoronoiEmission) + { + float voronoiOctaveNumber = 1; + float voronoiOctaveScale = 1; + float voronoiOctaveAttenuation = 1; + randomPoint = 0; + float4 voronoiColor1 = _VoronoiColor1; + + float voronoi = 0; + + float3 position = 0; + + + if (_VoronoiSpace == 0) + { + position = poiMesh.localPos; + } + + if(_VoronoiSpace == 1) + { + position = poiMesh.worldPos; + } + + if(_VoronoiSpace == 2) + { + position = float3(poiMesh.uv[0].x, poiMesh.uv[0].y, 0); + } + + float mask = POI2D_SAMPLER_PAN(_VoronoiMask, _MainTex, poiMesh.uv[_VoronoiMaskUV], _VoronoiMaskPan).r; + float edgeNoise = POI2D_SAMPLER_PAN(_VoronoiNoise, _MainTex, poiMesh.uv[_VoronoiNoiseUV], _VoronoiNoisePan).r * _VoronoiNoiseIntensity; + + + if(_VoronoiType == 0) // Basic + { + voronoi = voronoi2D(position.xy, _VoronoiScale, _VoronoiSpeed); + } + + if (_VoronoiType == 1) // Diff + { + voronoi = VoronoiNoiseDiff_Octaves(position, _VoronoiScale, _VoronoiSpeed, voronoiOctaveNumber, voronoiOctaveScale, voronoiOctaveAttenuation, 1, _Time.x); + } + + if (_VoronoiType == 2) // Fixed Border + { + voronoi = voronoi3D(position, _VoronoiScale, _VoronoiSpeed); + // isolines + //color = c.x * (0.5 + 0.5 * sin(64.0 * c.x)) * 1.0; + } + + if (_VoronoiEnableRandomCellColor == 1) + { + float3 rando = random3(randomPoint); + fixed hue = rando.x; + fixed saturation = lerp(_VoronoiRandomMinMaxSaturation.x, _VoronoiRandomMinMaxSaturation.y, rando.y); + fixed value = lerp(_VoronoiRandomMinMaxBrightness.x, _VoronoiRandomMinMaxBrightness.y, rando.z); + float3 hsv = float3(hue, saturation, value); + + voronoiColor1.rgb = HSVtoRGB(hsv); + } + + float2 voronoiGradient = _VoronoiGradient; + voronoiGradient.xy += edgeNoise; + float ramp = smoothstep(voronoiGradient.x, voronoiGradient.y, voronoi); + + + if(_VoronoiBlend == 0) + { + float4 voronoiColor = lerp(_VoronoiColor0, voronoiColor1, ramp); + + if(_VoronoiEffectsMaterialAlpha) + { + finalColor.rgba = lerp(finalColor, voronoiColor, mask); + } + else + { + finalColor.rgb = lerp(finalColor.rgb, voronoiColor.rgb, mask * voronoiColor.a); + } + } + float4 voronoiEmissionColor = lerp(_VoronoiColor0 * _VoronoiEmission0, voronoiColor1 * _VoronoiEmission1, ramp); + VoronoiEmission = voronoiEmissionColor.rgb * mask * voronoiEmissionColor.a; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta new file mode 100644 index 00000000..f1012c84 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 95678a8d75c062d43a740bb618d08c04 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc new file mode 100644 index 00000000..49c602c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc @@ -0,0 +1,111 @@ +#ifndef POI_WIREFRAME + #define POI_WIREFRAME + + UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST; + float2 _WireframeTexturePan; + float _WireframeSmoothing; + float _WireframeThickness; + float4 _WireframeColor; + float _WireframeAlpha; + float _WireframeEnable; + float _WireframeWaveEnabled; + float _WireframeWaveDensity; + float _WireframeWaveSpeed; + float _WireframeEdgeOpacity; + float _WireframeFaceOpacity; + half _WireframeEmissionAlpha; + float _WireframeEmissionStrength; + float _WireframeQuad; + float _WireframeUV; + + #ifndef POI_SHADOW + void applyWireframe(inout float3 wireframeEmission, inout float4 albedo) + { + + if (_WireframeEnable) + { + float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan); + float size = _WireframeThickness; + half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates)); + half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates); + half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1; + + float4 wireframeColor = _WireframeColor * colorMap; + + albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary); + wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a; + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream) + { + + if(_WireframeQuad) + { + float e1 = length(IN[0].localPos - IN[1].localPos); + float e2 = length(IN[1].localPos - IN[2].localPos); + float e3 = length(IN[2].localPos - IN[0].localPos); + + float3 quad = 0; + if(e1 > e2 && e1 > e3) + quad.y = 1.; + else if(e2 > e3 && e2 > e1) + quad.x = 1; + else + quad.z = 1; + + IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad; + IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad; + IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad; + } + else + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + } + + + + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #else + + float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos) + { + + if(_WireframeEnable) + { + float wireframeFadeAlpha = _WireframeAlpha; + float3 finalWireframeColor = 0; + + float3 barys; + barys.xy = barycentricCoordinates; + barys.z = 1 - barys.x - barys.y; + float3 deltas = fwidth(barys); + float3 smoothing = deltas * _WireframeSmoothing; + float wireframeThickness = _WireframeThickness; + float3 thickness = deltas * wireframeThickness; + barys = smoothstep(thickness, thickness + smoothing, barys); + float minBary = min(barys.x, min(barys.y, barys.z)); + + return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream) + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta new file mode 100644 index 00000000..87153eb3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bd0a17a870a52fa488df5d0a26a6b620 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc new file mode 100644 index 00000000..319de57c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc @@ -0,0 +1,171 @@ +#ifndef POICLUDES + #define POICLUDES + + UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _PoiGrab; + sampler2D _CameraDepthTexture; + float _Cutoff; + float _AlphaMod; + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #ifdef OUTLINE + float _LineWidth; + float _OutlineEmission; + float4 _LineColor; + sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV; + float4 _OutlineFadeDistance; + float4 _OutlineGlobalPan; + #endif + + struct PoiLighting + { + half3 direction; + half3 color; + fixed attenuation; + #ifdef FORWARD_ADD_PASS + fixed additiveShadow; + #endif + half3 directLighting; + half3 indirectLighting; + half lightMap; + half3 rampedLightMap; + half3 finalLighting; + half3 halfDir; + half nDotL; + half nDotH; + half lDotv; + half lDotH; + half nDotV; + half N0DotV; + half diffuseTerm; + + // World normal dot half direction + #ifdef POI_VAR_DOTNH + half dotNH; + #endif + + // Light direction dot half direction + #ifdef POI_VAR_DOTLH + half dotLH; + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + float4 vDotNL; + float3 vColor[4]; + float4 vCorrectedDotNL; + float4 vAttenuation; + float4 vAttenuationDotNL; + float3 vPosition[4]; + float3 vDirection[4]; + float3 vFinalLighting; + float3 vHalfDir[4]; + + #ifdef POI_VAR_DOTLH + half4 vDotLH; + #endif + + #ifdef POI_VAR_DOTNH + half4 vDotNH; + #endif + + #endif + }; + + struct PoiCamera + { + half3 viewDir; + half3 tangentViewDir; + half3 forwardDir; + half3 worldPos; + float viewDotNormal; + float distanceToModel; + float distanceToVert; + float3 reflectionDir; + float3 vertexReflectionDir; + float2 screenUV; + float4 clipPos; + #if defined(GRAIN) + float4 worldDirection; + #endif + float4 grabPos; + }; + + struct PoiMesh + { + float3 normals[2]; + float3 tangent; + float3 binormal; + float3 localPos; + float3 worldPos; + float3 modelPos; + float3 tangentSpaceNormal; + float2 uv[5]; + float4 vertexColor; + fixed3 barycentricCoordinates; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV; + #endif + float isFrontFace; + #ifdef FUR + float furAlpha; + #endif + }; + + struct PoiTangentData + { + float3x3 tangentTransform; + float3x3 tangentToWorld; + }; + + struct FragmentCommonData + { + half3 diffColor, specColor; + // Note: smoothness & oneMinusReflectivity for optimization purposes, mostly for DX9 SM2.0 level. + // Most of the math is being done on these (1-x) values, and that saves a few precious ALU slots. + half oneMinusReflectivity, smoothness; + float3 normalWorld; + float3 eyeVec; + half alpha; + float3 posWorld; + + #if UNITY_STANDARD_SIMPLE + half3 reflUVW; + #endif + + #if UNITY_STANDARD_SIMPLE + half3 tangentSpaceNormal; + #endif + }; + + struct Debug + { + float debug1; + float2 debug2; + float3 debug3; + float4 debug4; + }; + + static Debug debug; + static PoiLighting poiLight; + static PoiCamera poiCam; + static PoiMesh poiMesh; + static UnityGI gi; + static FragmentCommonData s; + static PoiTangentData poiTData; + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta new file mode 100644 index 00000000..da152a6d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 59510ad960ab8a6479f0565c2d0eafb3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta new file mode 100644 index 00000000..9219d857 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: af108418947d658468bc4aa5a3f80691 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader new file mode 100644 index 00000000..6d574ede --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader @@ -0,0 +1,7648 @@ +Shader "Hidden/.poiyomi/• Poiyomi Toon •/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 + [HideInInspector] shader_master_label ("Poiyomi Toon V7.0.100", Float) = 0 + [HideInInspector] shader_presets ("poiToonPresets", Float) = 0 + [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0 + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + // Keyword to remind users in the VRChat SDK that this material hasn't been locked. Inelegant but it works. + [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 + [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0 + [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0 + + [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7, Multiplicative Grab Pass, 8)]_Mode("Rendering Preset--{on_value_actions:[ + {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2451}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]}, + {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:RenderType=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]} + }]}]}", Int) = 0 + [HideInInspector] m_LockingInfo ("Locking Info--{button_right:{text:Tutorial,action:{type:URL,data:https://youtu.be/asWeDJb5LAo},hover:YouTube},is_hideable:true}", Float) = 0 + [Helpbox(1)] _HelpBoxLocking ("LOCKING IN THE SHADER WILL DRAMATICALLY INCREASE PERFORMANCE AND DRAMATICALLY LOWER THE FILE SIZE OF AN AVATAR PACKAGE. + + LOCKED IN MATERIALS CANNOT BE ANIMATED WITHOUT SETTING THE SPECIFIC PROPERTY TO DYNAMIC. RIGHT CLICK MATERIAL PROPERTIES YOU WISH TO ANIMATE, A CLOCK ICON WILL APPEAR BESIDE THE PROPERTY SIGNIFYING THAT IT CAN BE ANIMATED. + + FOR MORE INFORMATION ON LOCKING PLEASE WATCH THE LOCKING TUTORIAL IN THE HEADER ABOVE.", Int) = 0 + [Helpbox(2)] _HelpBoxHideLocking ("TO HIDE THIS CATEGORY SELECT CUSTOM UI AT THE TOP AND UNCHECK THE LOCKING INFO CATEGORY", Float) = 0 + // Main + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color & Alpha", Color) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("UV", Int) = 0 + _Saturation ("Saturation", Range(-1, 1)) = 0 + _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _BumpMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _AlphaMask ("Alpha Map", 2D) = "white" { } + [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AlphaMaskUV ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector] m_start_MainHueShift ("Hue Shift", Float) = 0 + [HideInInspector][Toggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0 + [ToggleUI]_MainHueShiftReplace ("Replace?", Float) = 1 + _MainHueShift ("Hue Shift", Range(0, 1)) = 0 + _MainHueShiftSpeed ("Shift Speed", Float) = 0 + _MainHueShiftMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainHueShiftMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainHueShiftMaskUV ("UV", Int) = 0 + [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0 + + // RGB Masking + [HideInInspector] m_start_RGBMask ("RGB Color Masking", Float) = 0 + [HideInInspector][Toggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0 + [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0 + [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0 + _RGBMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBMaskUV ("UV", int) = 0 + _RedColor ("R Color", Color) = (1, 1, 1, 1) + _RedTexure ("R Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBRed_UV ("UV", int) = 0 + _GreenColor ("G Color", Color) = (1, 1, 1, 1) + _GreenTexture ("G Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBGreen_UV ("UV", int) = 0 + _BlueColor ("B Color", Color) = (1, 1, 1, 1) + _BlueTexture ("B Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBBlue_UV ("UV", int) = 0 + // RGB MASKED NORMALS + [Toggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0 + [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0 + [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalRUV ("UV", int) = 0 + _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalGUV ("UV", int) = 0 + _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalBUV ("UV", int) = 0 + _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0 + + // Detail Options + [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0 + _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { } + [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailMaskUV ("UV", Int) = 0 + _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1) + _DetailTex ("Detail Texture", 2D) = "gray" { } + [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailTexUV ("UV", Int) = 0 + _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1 + _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1 + [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1 + [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailNormalMapUV ("UV", Int) = 0 + [HideInInspector] m_end_DetailOptions ("Details", Float) = 0 + + // Vertex Colors + [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0 + _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0 + _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0 + + //Vertex Manipulations + [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0 + [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1) + [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1) + _VertexManipulationHeight ("Vertex Height", Float) = 0 + _VertexManipulationHeightMask ("Height Map", 2D) = "while" { } + [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0 + _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0 + [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0 + _VertexRoundingDivision ("Division Amount", Float) = 500 + [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0 + + // Alpha Options + [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0 + _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0 + _DitherGradient ("Dither Gradient", Range(0, 1)) = .1 + [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0 + _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0 + [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0 + [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0 + _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25 + [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0 + _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 + [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 + + // Decal Texture + [HideInInspector] m_start_DecalSection ("Decal", Float) = 0 + [HideInInspector][Toggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0 + _DecalColor ("Color", Color) = (1, 1, 1, 1) + _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _DecalTexture ("Decal", 2D) = "white" { } + [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalTextureUV ("UV", Int) = 0 + _DecalMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalMaskUV ("UV", Int) = 0 + [ToggleUI]_DecalTiled ("Tiled?", Float) = 0 + [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0) + [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0) + _DecalRotation ("Rotation", Range(0, 360)) = 0 + _DecalRotationSpeed ("Rotation Speed", Float) = 0 + _DecalBlendAdd ("Add", Range(0, 1)) = 0 + _DecalBlendMultiply ("Multiply", Range(0, 1)) = 0 + _DecalBlendReplace ("Replace", Range(0, 1)) = 0 + [HideInInspector] m_end_DecalSection ("Decal", Float) = 0 + + // Back Face Textures and Emission + [HideInInspector] m_start_backFace ("Back Face", Float) = 0 + [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0 + _BackFaceColor ("Color", Color) = (1, 1, 1, 1) + _BackFaceTexture ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_BackFaceTextureUV ("UV#", Int) = 0 + _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1 + _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0 + _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [HideInInspector] m_end_backFace ("Back Face", Float) = 0 + + // Lighting + [HideInInspector] m_lightingOptions ("Lighting", Float) = 0 + [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0 + [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1 + [Enum(Toon, 0, Realistic, 1)] _LightingMode ("Lighting Type", Int) = 0 + _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0 + [ToggleUI]_LightingShadingEnabled ("Enable Shading--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0 + [Enum(Ramp Texture, 0, Math Gradient, 1)] _LightingRampType ("Ramp Type--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Int) = 0 + [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", 2D) = "white" { } + _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowMaskUV ("UV", Int) = 0 + _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0 + _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = 0 + _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = .5 + _LightingShadowColor ("Shadow Tint--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Color) = (1, 1, 1, 1) + _ShadowStrength ("Shadow Strength--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 1 + _AttenuationMultiplier ("Unity Shadows--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==1},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 0 + [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + + [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0 + [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0 + [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0 + [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0 + [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0 + _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0 + _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 + _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0 + [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0 + + [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled}", Float) = 0 + [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0 + _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingDetailShadowsUV ("UV", Int) = 0 + _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0 + + [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0 + _LightingAOTex ("AO Map", 2D) = "white" { } + [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingAOTexUV ("UV", Int) = 0 + _AOStrength ("AO Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0 + + [HideInInspector] m_start_shadowTexture ("Shadow Texture--{reference_property:_UseShadowTexture, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + [HideInInspector][ToggleUI]_UseShadowTexture ("EnableShadowTexture--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + _LightingShadowTexture ("Shadow Texture--{reference_properties:[_LightingShadowTexturePan, _LightingShadowTextureUV], condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_shadowTexture ("Shadow Texture", Float) = 0 + + // HSL Lighting + [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0 + _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1 + _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5 + _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5 + _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5 + [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0 + + // point/spot Light Settings + [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_commentIfZero_LightingAdditiveEnable,button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0 + [HideInInspector][ToggleUI]_commentIfZero_LightingAdditiveEnable ("Enable Additive", Float) = 1 + [Enum(Realistic, 0, Toon, 1)] _LightingAdditiveType ("Lighting Type", Int) = 1 + _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0 + _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5 + _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5 + _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1 + [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0 + _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1 + [Toggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1 + [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0 + [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0 + + // Subsurface Scattering + [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0 + [Toggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0 + _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1) + _SSSThicknessMap ("Thickness Map", 2D) = "black" { } + [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SSSThicknessMapUV ("UV", Int) = 0 + _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0 + _SSSSCale ("Light Strength", Range(0, 1)) = 0.25 + _SSSPower ("Light Spread", Range(1, 100)) = 5 + _SSSDistortion ("Light Distortion", Range(0, 1)) = 1 + [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0 + + // Rim Lighting + [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0 + [Toggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0 + [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1 + [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimTexUV ("UV", Int) = 0 + _RimMask ("Rim Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimMaskUV ("UV", Int) = 0 + + // Rim Noise + [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0 + _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { } + [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0 + _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1 + [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0 + + // Rim Shadow Mix + [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0 + _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0 + _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5 + _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5 + [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0 + [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0 + + // Environmental Rim Lighting + [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0 + [Toggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0 + _RimEnviroMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimEnviroMaskUV ("UV", Int) = 0 + _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7 + _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45 + _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0 + _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0 + _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1 + [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0 + + // Baked Lighting + [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0 + _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1 + [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown + [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown + [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0 + + // Metallics + [HideInInspector] m_start_Metallic ("Metallics", Float) = 0 + [Toggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1) + _MetallicTintMap ("Tint Map", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicTintMapUV ("UV", Int) = 0 + _MetallicMask ("Metallic Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicMaskUV ("UV", Int) = 0 + _Metallic ("Metallic", Range(0, 1)) = 0 + _SmoothnessMask ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SmoothnessMaskUV ("UV", Int) = 0 + [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _Smoothness ("Smoothness", Range(0, 1)) = 0 + [HideInInspector] m_end_Metallic ("Metallics", Float) = 0 + + // Clearcoat + [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0 + [Toggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0 + [Enum(Vertex, 0, Pixel, 1)] _ClearCoatNormalToUse ("What Normal?", Int) = 0 + _ClearCoatCubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_ClearCoatSampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _ClearCoatTint ("Reflection Tint", Color) = (1, 1, 1) + _ClearCoatMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatMaskUV ("UV", Int) = 0 + _ClearCoat ("Clear Coat", Range(0, 1)) = 1 + _ClearCoatSmoothnessMap ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatSmoothnessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatSmoothnessMapUV ("UV", Int) = 0 + [ToggleUI]_ClearCoatInvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _ClearCoatSmoothness ("Smoothness", Range(0, 1)) = 0 + [ToggleUI]_ClearCoatForceLighting ("Force Lighting", Float) = 0 + [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0 + + // First Matcap + [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0 + [Toggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0 + _MatcapColor ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { } + _MatcapBorder ("Border", Range(0, .5)) = 0.43 + _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MatcapMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0 + _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _MatcapIntensity ("Intensity", Range(0, 5)) = 1 + _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 + _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1 + _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0 + _MatcapAdd ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1 + [HideInInspector] m_end_matcap ("Matcap", Float) = 0 + + // Second Matcap + [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0 + [ToggleUI]_Matcap2Enable ("Enable Matcap 2", Float) = 0 + _Matcap2Color ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { } + _Matcap2Border ("Border", Range(0, .5)) = 0.43 + _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _Matcap2MaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0 + _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _Matcap2Intensity ("Intensity", Range(0, 5)) = 1 + _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0 + _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0 + _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0 + _Matcap2Add ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1 + [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0 + + // Specular + [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0 + [Toggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1 + _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMapUV ("UV", Int) = 0 + _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1 + [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMapUV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0 + _SpecularMask ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMaskUV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1 + // Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0 + _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0 + _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMapUV ("UV", Int) = 0 + //toon aniso + _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95 + _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0 + // Toon Specular + [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0 + + // Second Specular + [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0 + [ToggleUI]_EnableSpecular1 ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1 + _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0 + _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75 + _SpecularMap1 ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMap1UV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0 + _SpecularMask1 ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMask1UV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1 + // Second Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0 + _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0 + _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMap1UV ("UV", Int) = 0 + // Second toon aniso + _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95 + _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor1 ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0 + // Second Toon Specular + [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0 + + // First Emission + [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0 + [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0 + [Toggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0 + [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMapUV ("UV", Int) = 0 + _EmissionMask ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMaskUV ("UV", Int) = 0 + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0 + _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 + + // Center out emission + [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0 + + // Glow in the dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + // Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + _EmissionScrollingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0 + + // Second Enission + [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0 + [Toggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0 + [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMap1UV ("UV", Int) = 0 + _EmissionMask1 ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMask1UV ("UV", Int) = 0 + _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0 + _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0 + + // Second Center Out Enission + [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0 + + // Second Glow In The Dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Second Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + + // Scrolling Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0 + _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width1 ("Width", Float) = 10 + _EmissiveScroll_Velocity1 ("Velocity", Float) = 10 + _EmissiveScroll_Interval1 ("Interval", Float) = 20 + _EmissionScrollingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0 + + // Flipbook + [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0 + [Toggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0 + [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0 + [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookTexArrayUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookMask ("Mask", 2D) = "white" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookMaskUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1) + _FlipbookTotalFrames ("Total Frames", Int) = 1 + _FlipbookFPS ("FPS", Float) = 30.0 + _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0) + [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0 + _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _FlipbookRotation ("Rotation", Range(0, 360)) = 0 + _FlipbookRotationSpeed ("Rotation Speed", Float) = 0 + _FlipbookReplace ("Replace", Range(0, 1)) = 1 + _FlipbookMultiply ("Multiply", Range(0, 1)) = 0 + _FlipbookAdd ("Add", Range(0, 1)) = 0 + + // Flipbook Manual Control + [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0 + _FlipbookCurrentFrame ("Current Frame", Float) = -1 + [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0 + [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0 + + // Dissolve + [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0 + [Toggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0 + [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1 + _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025 + _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5 + _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1) + [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { } + _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0 + _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1) + _DissolveToTexture ("Dissolved Texture", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveToTextureUV ("UV", Int) = 0 + _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0 + _DissolveNoiseTexture ("Dissolve Noise", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0 + _DissolveDetailNoise ("Dissolve Detail Noise", 2D) = "black" { } + [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0 + _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1 + _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0 + _DissolveMask ("Dissolve Mask", 2D) = "white" { } + [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0 + [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0 + _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0 + [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2 + [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0 + + // Point to Point Dissolve + [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0 + [Enum(Local, 0, World, 1)] _DissolveP2PWorldLocal ("World/Local", Int) = 0 + _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1 + [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0) + [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0) + [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0 + + // Locked in anim sldiers + [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0 + _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0 + _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0 + _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0 + _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0 + _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0 + _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0 + _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0 + _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0 + _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0 + _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0 + [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0 + [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0 + + // Panosphere + [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + [Toggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0 + [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0 + _PanosphereColor ("Color", Color) = (1, 1, 1, 1) + _PanosphereTexture ("Texture", 2D) = "white" { } + _PanoMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _PanoMaskUV ("UV", Int) = 0 + _PanoEmission ("Emission Strength", Range(0, 10)) = 0 + _PanoBlend ("Alpha", Range(0, 1)) = 0 + [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0) + [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0 + [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { } + [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + + // Glitter + [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0 + [Toggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0 + [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0 + [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0 + [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0 + [HDR]_GlitterColor ("Color", Color) = (1, 1, 1) + _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0 + _GlitterColorMap ("Glitter Color Map", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterColorMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterMask ("Glitter Mask", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterMaskUV ("UV", Int) = 0 + _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterTextureRotation ("Rotation Speed", Float) = 0 + _GlitterFrequency ("Glitter Density", Float) = 300.0 + _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0 + _GlitterSpeed ("Glitter Speed", Float) = 10.0 + _GlitterSize ("Glitter Size", Range(0, 1)) = .3 + _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300 + _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90 + _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0 + _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3 + _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8 + _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08 + _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20 + _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0 + + // Glitter Random Colors + [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0 + [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0 + [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1) + [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1) + [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0 + [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1) + [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0 + [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0 + [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0 + + // MSDF OVERLAY + [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0 + _TextGlyphs ("Font Array", 2D) = "black" { } + _TextPixelRange ("Pixel Range", Float) = 4.0 + [Toggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0 + + // FPS + [HideInInspector] m_start_TextFPS ("FPS", Float) = 0 + [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextFPSUV ("FPS UV", Int) = 0 + _TextFPSColor ("Color", Color) = (1, 1, 1, 1) + _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextFPSRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1) + _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextFPS ("FPS", Float) = 0 + + // POSITION + [HideInInspector] m_start_TextPosition ("Position", Float) = 0 + [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextPositionUV ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVertical ("Vertical?", Float) = 0 + _TextPositionColor ("Color", Color) = (1, 0, 1, 1) + _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextPositionRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1) + _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextPosition ("Position", Float) = 0 + + // INSTANCE TIME + [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0 + [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextTimeUV ("Time UV", Int) = 0 + _TextTimeColor ("Color", Color) = (1, 0, 1, 1) + _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextTimeRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1) + _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0 + [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0 + + // Mirror Rendering + [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0 + [Toggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0 + [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0 + [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0 + _MirrorTexture ("Mirror Tex", 2D) = "white" { } + [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MirrorTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0 + + // Distance Fade + [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0 + _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0 + _MainFadeTexture ("Fade Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainFadeTextureUV ("UV", Int) = 0 + [Vector2]_MainDistanceFade ("Distance Fade X to Y", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0 + + // Angular Fade + [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0 + [Toggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0 + [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0 + [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0 + [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0) + _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45 + _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90 + _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45 + _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90 + _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0 + + // UV Distortion + [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0 + [Toggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0 + _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0 + _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { } + _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { } + _DistortionStrength ("Strength1", Float) = 0.5 + _DistortionStrength1 ("Strength2", Float) = 0.5 + [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0) + [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0) + [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0 + + // Outline Options + [HideInInspector] m_outlineOptions ("Outlines", Float) = 0 + [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0 + [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0 + _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0 + _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0 + _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0) + _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0) + [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0 + [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0 + [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1 + _LineWidth ("Width", Float) = 0 + _LineColor ("Color", Color) = (1, 1, 1, 1) + _OutlineEmission ("Outline Emission", Float) = 0 + _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineTextureUV ("UV", Int) = 0 + _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineMaskUV ("UV", Int) = 0 + _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0 + [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0) + [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1 + _OutlineOffsetFactor("Offset Factor", Float) = 0 + _OutlineOffsetUnits("Offset Units", Float) = 0 + [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0 + + // Parallax Mapping + [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0 + [Toggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0 + [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0 + [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0 + [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0 + [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0) + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0 + _ParallaxHeightMap ("Height Map", 2D) = "black" { } + _ParallaxHeightMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0 + _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0 + [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0 + [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0 + [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0 + [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0 + _ParallaxInternalMap ("Internal Map", 2D) = "black" { } + _ParallaxInternalMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0 + _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1 + _ParallaxInternalMinDepth ("Min Depth", Float) = 0 + _ParallaxInternalMaxDepth ("Max Depth", Float) = 1 + _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0 + _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1 + _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1) + _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1) + [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0) + [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0 + [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0 + _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42 + [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0 + + // Rendering Options + [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1 + [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15 + _OffsetFactor ("Offset Factor", Float) = 0.0 + _OffsetUnits ("Offset Units", Float) = 0.0 + [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 + [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown + + // Blending Options + [HideInInspector] m_start_blending ("Blending", Float) = 0 + [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 + [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1 + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0 + [HideInInspector] m_end_blending ("Blending", Float) = 0 + + // Stencils + [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 + + // Outline Stencil + [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{is_hideable:true, condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + // Debug Options + [HideInInspector] m_start_debugOptions ("Debug", Float) = 0 + [HideInInspector][Toggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0 + _VertexUnwrap ("Unwrap", Range(0, 1)) = 0 + [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0 + [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0 + [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0 + [HideInInspector] m_end_debugOptions ("Debug", Float) = 0 + + //[HideInInspector] m_animationToggles ("Animation Support Toggles", Float) = 0 + //[HelpBox(1)] _AnimationToggleHelp ("You don't need to search through this list. You can enable animation support on any property by right clicking it", Int) = 0 + + // Main + [HideInInspector]_ColorAnimated ("Color & Alpha", Int) = 0 + [HideInInspector]_MainTexAnimated ("Texture", Int) = 0 + [HideInInspector]_MainTex_STAnimated ("Texture Offset/Scale", Int) = 0 + [HideInInspector]_MainTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_SaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_MainVertexColoringAnimated ("Use Vertex Color", Int) = 0 + [HideInInspector]_MainUseVertexColorAlphaAnimated ("Use Vertex Alpha", Int) = 0 + [HideInInspector]_MainEmissionStrengthAnimated ("Basic Emission", Int) = 0 + [HideInInspector]_BumpMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_BumpMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_BumpMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_BumpScaleAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_AlphaMaskAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_AlphaMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AlphaMaskUVAnimated ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector]_MainHueShiftToggleAnimated ("Toggle Hueshift", Int) = 0 + [HideInInspector]_MainHueShiftReplaceAnimated ("Replace?", Int) = 0 + [HideInInspector]_MainHueShiftAnimated ("Hue Shift", Int) = 0 + [HideInInspector]_MainHueShiftSpeedAnimated ("Shift Speed", Int) = 0 + [HideInInspector]_MainHueShiftMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MainHueShiftMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainHueShiftMaskUVAnimated ("UV", Int) = 0 + + // RGB Masking + [HideInInspector]_RGBMaskEnabledAnimated ("RGB Mask Enabled", Int) = 0 + [HideInInspector]_RGBUseVertexColorsAnimated ("Use Vertex Colors", Int) = 0 + [HideInInspector]_RGBBlendMultiplicativeAnimated ("Multiplicative?", Int) = 0 + [HideInInspector]_RGBMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RGBMaskPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RedColorAnimated ("R Color", Int) = 0 + [HideInInspector]_RedTexureAnimated ("R Texture", Int) = 0 + [HideInInspector]_RGBRedPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBRed_UVAnimated ("UV", Int) = 0 + [HideInInspector]_GreenColorAnimated ("G Color", Int) = 0 + [HideInInspector]_GreenTextureAnimated ("G Texture", Int) = 0 + [HideInInspector]_RGBGreenPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBGreen_UVAnimated ("UV", Int) = 0 + [HideInInspector]_BlueColorAnimated ("B Color", Int) = 0 + [HideInInspector]_BlueTextureAnimated ("B Texture", Int) = 0 + [HideInInspector]_RGBBluePanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBBlue_UVAnimated ("UV", Int) = 0 + [HideInInspector]_RGBNormalBlendAnimated ("UV", Int) = 0 + + // Detail Options + [HideInInspector]_DetailMaskAnimated ("Detail Mask (R:Texture, G:Normal)", Int) = 0 + [HideInInspector]_DetailMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTintAnimated ("Detail Texture Tint", Int) = 0 + [HideInInspector]_DetailTexAnimated ("Detail Texture", Int) = 0 + [HideInInspector]_DetailTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTexIntensityAnimated ("Detail Tex Intensity", Int) = 0 + [HideInInspector]_DetailBrightnessAnimated ("Detail Brightness:", Int) = 0 + [HideInInspector]_DetailNormalMapAnimated ("Detail Normal", Int) = 0 + [HideInInspector]_DetailNormalMapScaleAnimated ("Detail Normal Intensity", Int) = 0 + [HideInInspector]_DetailNormalMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailNormalMapUVAnimated ("UV", Int) = 0 + + //Vertex Manipulations + [HideInInspector]_VertexManipulationLocalTranslationAnimated ("Local Translation", Int) = 0 + [HideInInspector]_VertexManipulationLocalRotationAnimated ("Local Rotation", Int) = 0 + [HideInInspector]_VertexManipulationLocalScaleAnimated ("Local Scale", Int) = 0 + [HideInInspector]_VertexManipulationWorldTranslationAnimated ("World Translation", Int) = 0 + [HideInInspector]_VertexManipulationHeightAnimated ("Vertex Height", Int) = 0 + [HideInInspector]_VertexManipulationHeightMaskAnimated ("Height Map", Int) = 0 + [HideInInspector]_VertexManipulationHeightPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VertexManipulationHeightUVAnimated ("UV", Int) = 0 + [HideInInspector]_VertexManipulationHeightBiasAnimated ("Mask Bias", Int) = 0 + [HideInInspector]_VertexRoundingEnabledAnimated ("Rounding Enabled", Int) = 0 + [HideInInspector]_VertexRoundingDivisionAnimated ("Division Amount", Int) = 0 + + // Alpha Options + [HideInInspector]_AlphaModAnimated ("Alpha Mod", Int) = 0 + [HideInInspector]_CutoffAnimated ("Alpha Cuttoff", Int) = 0 + [HideInInspector]_DitheringEnabledAnimated ("Enable Dithering", Int) = 0 + [HideInInspector]_DitherGradientAnimated ("Dither Gradient", Int) = 0 + [HideInInspector]_ForceOpaqueAnimated ("Force Opaque", Int) = 0 + [HideInInspector]_MainShadowClipModAnimated ("Shadow Clip Mod", Int) = 0 + [HideInInspector]_AlphaToMaskAnimated ("Alpha To Coverage", Int) = 0 + [HideInInspector]_MainAlphaToCoverageAnimated ("Sharpenned A2C", Int) = 0 + [HideInInspector]_AlphaPremultiplyAnimated ("Alpha Premultiply", Int) = 0 + [HideInInspector]_MainMipScaleAnimated ("Mip Level Alpha Scale", Int) = 0 + + // Decal Texture + [HideInInspector]_DecalEnabledAnimated ("Enable", Int) = 0 + [HideInInspector]_DecalColorAnimated ("Color", Int) = 0 + [HideInInspector]_DecalEmissionStrengthAnimated ("Color", Int) = 0 + [HideInInspector]_DecalTextureAnimated ("Decal", Int) = 0 + [HideInInspector]_DecalTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DecalMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_DecalScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_DecalPositionAnimated ("Position", Int) = 0 + [HideInInspector]_DecalRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_DecalRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_DecalBlendAddAnimated ("Add", Int) = 0 + [HideInInspector]_DecalBlendMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_DecalBlendReplaceAnimated ("Replace", Int) = 0 + + // Lighting + [HideInInspector]_EnableLightingAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LightingModeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingStandardSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_LightingShadingEnabledAnimated ("Enable Shading-",Int) = 0 + [HideInInspector]_LightingRampTypeAnimated ("Ramp Type", Int) = 0 + [HideInInspector]_ToonRampAnimated ("Lighting Ramp", Int) = 0 + [HideInInspector]_LightingShadowMaskAnimated ("Ramp Mask", Int) = 0 + [HideInInspector]_LightingShadowMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ShadowOffsetAnimated ("Ramp Offset", Int) = 0 + [HideInInspector]_LightingGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingShadowColorAnimated ("Shadow Tint", Int) = 0 + [HideInInspector]_ShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_AttenuationMultiplierAnimated ("Unity Shadows", Int) = 0 + [HideInInspector]_LightingIgnoreAmbientColorAnimated ("Ignore Ambient Color", Int) = 0 + + [HideInInspector]_LightingDirectColorModeAnimated ("D Color", Int) = 0 + [HideInInspector]_LightingIndirectColorModeAnimated ("I Color?", Int) = 0 + [HideInInspector]_LightingMonochromaticAnimated ("Monochromatic Lighting?", Int) = 0 + [HideInInspector]_LightingUncappedAnimated ("Uncapped Lighting", Int) = 0 + [HideInInspector]_LightingOnlyUnityShadowsAnimated ("Only Unity Shadows", Int) = 0 + [HideInInspector]_LightingMinLightBrightnessAnimated ("Min Brightnes", Int) = 0 + [HideInInspector]_LightingMinShadowBrightnessRatioAnimated ("Shadow:Light min Ratio", Int) = 0 + + [HideInInspector]_LightingDetailShadowsEnabledAnimated ("Enabled Detail Shadows?", Int) = 0 + [HideInInspector]_LightingDetailShadowsAnimated ("Detail Shadows", Int) = 0 + [HideInInspector]_LightingDetailShadowsPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingDetailShadowsUVAnimated ("UV", Int) = 0 + [HideInInspector]_LightingDetailStrengthAnimated ("Detail Strength", Int) = 0 + + [HideInInspector]_LightingEnableAOAnimated ("Enable AO", Int) = 0 + [HideInInspector]_LightingAOTexAnimated ("AO Map", Int) = 0 + [HideInInspector]_LightingAOTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingAOTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_AOStrengthAnimated ("AO Strength", Range(0, 1)) = 0 + + [HideInInspector]_UseShadowTextureAnimated ("EnableShadowTexture", Int) = 0 + [HideInInspector]_LightingShadowTextureAnimated ("Shadow Texture", Int) = 0 + [HideInInspector]_LightingShadowTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowTextureUVAnimated ("UV", Int) = 0 + + [HideInInspector]_LightingEnableHSLAnimated ("Enabled HSL Lighting", Int) = 0 + [HideInInspector]_LightingHSLIntensityAnimated ("Shadow HSL Intensity", Int) = 0 + [HideInInspector]_LightingShadowHueAnimated ("Shadow Hue Change", Int) = 0 + [HideInInspector]_LightingShadowSaturationAnimated ("Shadow Saturation Change", Int) = 0 + [HideInInspector]_LightingShadowLightnessAnimated ("Shadow Lightness Change", Int) = 0 + + // point/spot Light Settings + [HideInInspector]_commentIfZero_LightingAdditiveEnableAnimated ("Enable Additive", Int) = 0 + [HideInInspector]_LightingAdditiveTypeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingAdditiveGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingAdditiveGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingAdditivePassthroughAnimated ("Point Light Passthrough", Int) = 0 + [HideInInspector]_LightingAdditiveDetailStrengthAnimated ("Detail Shadow Strength", Int) = 0 + [HideInInspector]_LightingAdditiveLimitIntensityAnimated ("Limit Intensity", Int) = 0 + [HideInInspector]_LightingAdditiveMaxIntensityAnimated ("Max Intensity", Int) = 0 + + // Subsurface Scattering + [HideInInspector]_EnableSSSAnimated ("Enable Subsurface Scattering", Int) = 0 + [HideInInspector]_SSSColorAnimated ("Subsurface Color", Int) = 0 + [HideInInspector]_SSSThicknessMapAnimated ("Thickness Map", Int) = 0 + [HideInInspector]_SSSThicknessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SSSThicknessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SSSThicknessModAnimated ("Thickness mod", Int) = 0 + [HideInInspector]_SSSSCaleAnimated ("Light Strength", Int) = 0 + [HideInInspector]_SSSPowerAnimated ("Light Spread", Int) = 0 + [HideInInspector]_SSSDistortionAnimated ("Light Distortion", Int) = 0 + + // Rim Lighting + [HideInInspector]_EnableRimLightingAnimated ("Enable Rim Lighting", Int) = 0 + [HideInInspector]_RimLightNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_RimLightingInvertAnimated ("Invert Rim Lighting", Int) = 0 + [HideInInspector]_RimLightColorAnimated ("Rim Color", Int) = 0 + [HideInInspector]_RimWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimStrengthAnimated ("Rim Emission", Int) = 0 + [HideInInspector]_RimBrightenAnimated ("Rim Color Brighten", Int) = 0 + [HideInInspector]_RimLightColorBiasAnimated ("Rim Color Bias", Int) = 0 + [HideInInspector]_RimTexAnimated ("Rim Texture", Int) = 0 + [HideInInspector]_RimTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimMaskAnimated ("Rim Mask", Int) = 0 + [HideInInspector]_RimMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimMaskUVAnimated ("UV", Int) = 0 + + // Rim Noise + [HideInInspector]_RimWidthNoiseTextureAnimated ("Rim Width Noise", Int) = 0 + [HideInInspector]_RimWidthNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimWidthNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimWidthNoiseStrengthAnimated ("Intensity", Int) = 0 + + // Rim Shadow Mix + [HideInInspector]_ShadowMixAnimated ("Shadow Mix In", Int) = 0 + [HideInInspector]_ShadowMixThresholdAnimated ("Shadow Mix Threshold", Int) = 0 + [HideInInspector]_ShadowMixWidthModAnimated ("Shadow Mix Width Mod", Int) = 0 + + // Environmental Rim Lighting + [HideInInspector]_EnableEnvironmentalRimAnimated ("Enable Environmental Rim", Int) = 0 + [HideInInspector]_RimEnviroMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RimEnviroMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimEnviroMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimEnviroBlurAnimated ("Blur", Int) = 0 + [HideInInspector]_RimEnviroWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimEnviroSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimEnviroMinBrightnessAnimated ("Min Brightness Threshold", Int) = 0 + [HideInInspector]_RimEnviroIntensityAnimated ("Intensity", Int) = 0 + + // Metallics + [HideInInspector]_EnableMetallicAnimated ("Enable Metallics", Int) = 0 + [HideInInspector]_CubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_SampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_MetalReflectionTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_MetallicTintMapAnimated ("Tint Map", Int) = 0 + [HideInInspector]_MetallicTintMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicTintMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicMaskAnimated ("Metallic Mask", Int) = 0 + [HideInInspector]_MetallicMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SmoothnessMaskAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SmoothnessMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_InvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessAnimated ("Smoothness", Int) = 0 + + // Clearcoat + [HideInInspector]_EnableClearCoatAnimated ("Enable Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatNormalToUseAnimated ("What Normal?", Int) = 0 + [HideInInspector]_ClearCoatCubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_ClearCoatSampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_ClearCoatTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_ClearCoatMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ClearCoatMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatInvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_ClearCoatForceLightingAnimated ("Force Lighting", Int) = 0 + + // First Matcap + [HideInInspector]_MatcapEnableAnimated ("Enable Matcap", Int) = 0 + [HideInInspector]_MatcapColorAnimated ("Color", Int) = 0 + [HideInInspector]_MatcapAnimated ("Matcap", Int) = 0 + [HideInInspector]_MatcapBorderAnimated ("Border", Int) = 0 + [HideInInspector]_MatcapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MatcapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MatcapMaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_MatcapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MatcapEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_MatcapIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_MatcapLightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_MatcapReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_MatcapMultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_MatcapAddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_MatcapNormalAnimated ("Normal to use", Int) = 0 + + // Second Matcap + [HideInInspector]_Matcap2EnableAnimated ("Enable Matcap 2", Int) = 0 + [HideInInspector]_Matcap2ColorAnimated ("Color", Int) = 0 + [HideInInspector]_Matcap2Animated ("Matcap", Int) = 0 + [HideInInspector]_Matcap2BorderAnimated ("Border", Int) = 0 + [HideInInspector]_Matcap2MaskAnimated ("Mask", Int) = 0 + [HideInInspector]_Matcap2MaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_Matcap2MaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_Matcap2MaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_Matcap2EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_Matcap2IntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_Matcap2LightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_Matcap2ReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_Matcap2MultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_Matcap2AddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_Matcap2NormalAnimated ("Normal to use", Int) = 0 + + // Specular + [HideInInspector]_EnableSpecularAnimated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularTypeAnimated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTintAnimated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMapAnimated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothnessAnimated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMaskAnimated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFromAnimated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangentAnimated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1AlphaAnimated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2AlphaAnimated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1OffsetAnimated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2SmoothnessAnimated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMapAnimated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMapAnimated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStartAnimated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEndAnimated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColorAnimated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirroredAnimated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroAnimated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplierAnimated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroAnimated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplierAnimated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuterAnimated ("Inner/Outer Edge", Int) = 0 + + // Second Specular + [HideInInspector]_EnableSpecular1Animated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularType1Animated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormal1Animated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTint1Animated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallic1Animated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothness1Animated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMap1Animated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothness1Animated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMask1Animated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFrom1Animated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangent1Animated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1Alpha1Animated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2Alpha1Animated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1Offset1Animated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2Smoothness1Animated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMap1Animated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMap1Animated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStart1Animated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEnd1Animated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColor1Animated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirrored1Animated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1Animated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplier1Animated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1Animated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplier1Animated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuter1Animated ("Inner/Outer Edge", Int) = 0 + + // First Emission + [HideInInspector]_EnableEmissionAnimated ("Enable Emission", Int) = 0 + [HideInInspector]_EmissionReplaceAnimated ("Replace Base Color", Int) = 0 + [HideInInspector]_EmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMapAnimated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMapAnimated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMaskAnimated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabledAnimated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShiftAnimated ("Hue Shift", Int) = 0 + + // Center out emission + [HideInInspector]_EmissionCenterOutEnabledAnimated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeedAnimated ("Flow Speed", Int) = 0 + + // Glow in the dark Emission + [HideInInspector]_EnableGITDEmissionAnimated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMeshAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplierAnimated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplierAnimated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLightAnimated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLightAnimated ("Max Lighting", Int) = 0 + + // Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_MinAnimated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_MaxAnimated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_VelocityAnimated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffsetAnimated ("Offset", Int) = 0 + + // Scrolling Emission + [HideInInspector]_ScrollingEmissionAnimated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurveAnimated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurveAnimated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColorAnimated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_DirectionAnimated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_WidthAnimated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_VelocityAnimated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_IntervalAnimated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffsetAnimated ("Offset", Int) = 0 + + // Second Enission + [HideInInspector]_EnableEmission1Animated ("Enable Emission 2", Int) = 0 + [HideInInspector]_EmissionColor1Animated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMap1Animated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMap1Animated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMask1Animated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrength1Animated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabled1Animated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShift1Animated ("Hue Shift", Int) = 0 + + // Second Center Out Enission + [HideInInspector]_EmissionCenterOutEnabled1Animated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeed1Animated ("Flow Speed", Int) = 0 + + // Second Glow In The Dark Emission + [HideInInspector]_EnableGITDEmission1Animated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMesh1Animated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplier1Animated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplier1Animated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLight1Animated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLight1Animated ("Max Lighting", Int) = 0 + + // Second Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_Min1Animated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_Max1Animated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_Velocity1Animated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffset1Animated ("Offset", Int) = 0 + + // Scrolling Scrolling Emission + [HideInInspector]_ScrollingEmission1Animated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurve1Animated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurve1Animated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColor1Animated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_Direction1Animated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_Width1Animated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_Velocity1Animated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_Interval1Animated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffset1Animated ("Offset", Int) = 0 + + // Flipbook + [HideInInspector]_EnableFlipbookAnimated ("Enable Flipbook", Int) = 0 + [HideInInspector]_FlipbookAlphaControlsFinalAlphaAnimated ("Flipbook Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookIntensityControlsAlphaAnimated ("Intensity Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookColorReplacesAnimated ("Color Replaces Flipbook", Int) = 0 + [HideInInspector]_FlipbookTexArrayAnimated ("Texture Array", Int) = 0 + [HideInInspector]_FlipbookTexArrayUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookTexArrayPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_FlipbookMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookColorAnimated ("Color & alpha", Int) = 0 + [HideInInspector]_FlipbookTotalFramesAnimated ("Total Frames", Int) = 0 + [HideInInspector]_FlipbookFPSAnimated ("FPS", Int) = 0 + [HideInInspector]_FlipbookScaleOffsetAnimated ("Scale | Offset", Int) = 0 + [HideInInspector]_FlipbookTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_FlipbookEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_FlipbookRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_FlipbookRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_FlipbookReplaceAnimated ("Replace", Int) = 0 + [HideInInspector]_FlipbookMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_FlipbookAddAnimated ("Add", Int) = 0 + [HideInInspector]_FlipbookCurrentFrameAnimated ("Current Frame", Int) = 0 + + // Dissolve + [HideInInspector]_EnableDissolveAnimated ("Enable Dissolve", Int) = 0 + [HideInInspector]_DissolveTypeAnimated ("Dissolve Type", Int) = 0 + [HideInInspector]_DissolveEdgeWidthAnimated ("Edge Width", Int) = 0 + [HideInInspector]_DissolveEdgeHardnessAnimated ("Edge Hardness", Int) = 0 + [HideInInspector]_DissolveEdgeColorAnimated ("Edge Color", Int) = 0 + [HideInInspector]_DissolveEdgeGradientAnimated ("Edge Gradient", Int) = 0 + [HideInInspector]_DissolveEdgeEmissionAnimated ("Edge Emission", Int) = 0 + [HideInInspector]_DissolveTextureColorAnimated ("Dissolved Color", Int) = 0 + [HideInInspector]_DissolveToTextureAnimated ("Dissolved Texture", Int) = 0 + [HideInInspector]_DissolveToTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveToTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveToEmissionStrengthAnimated ("Dissolved Emission Strength", Int) = 0 + [HideInInspector]_DissolveNoiseTextureAnimated ("Dissolve Noise", Int) = 0 + [HideInInspector]_DissolveNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailNoiseAnimated ("Dissolve Detail Noise", Int) = 0 + [HideInInspector]_DissolveDetailNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveDetailNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertDetailNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailStrengthAnimated ("Dissolve Detail Strength", Int) = 0 + [HideInInspector]_DissolveAlphaAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveUseVertexColorsAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveMaskAnimated ("Dissolve Mask", Int) = 0 + [HideInInspector]_DissolveMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveMaskInvertAnimated ("Invert?", Int) = 0 + [HideInInspector]_ContinuousDissolveAnimated ("Continuous Dissolve Speed", Int) = 0 + [HideInInspector]_DissolveEmissionSideAnimated ("Emission 1", Int) = 0 + [HideInInspector]_DissolveEmission1SideAnimated ("Emission 2", Int) = 0 + + // Point to Point Dissolve + [HideInInspector]_DissolveP2PWorldLocalAnimated ("World/Local", Int) = 0 + [HideInInspector]_DissolveP2PEdgeLengthAnimated ("Edge Length", Int) = 0 + [HideInInspector]_DissolveStartPointAnimated ("Start Point", Int) = 0 + [HideInInspector]_DissolveEndPointAnimated ("End Point", Int) = 0 + + [HideInInspector]_DissolveAlpha0Animated ("_DissolveAlpha0", Int) = 0 + [HideInInspector]_DissolveAlpha1Animated ("_DissolveAlpha1", Int) = 0 + [HideInInspector]_DissolveAlpha2Animated ("_DissolveAlpha2", Int) = 0 + [HideInInspector]_DissolveAlpha3Animated ("_DissolveAlpha3", Int) = 0 + [HideInInspector]_DissolveAlpha4Animated ("_DissolveAlpha4", Int) = 0 + [HideInInspector]_DissolveAlpha5Animated ("_DissolveAlpha5", Int) = 0 + [HideInInspector]_DissolveAlpha6Animated ("_DissolveAlpha6", Int) = 0 + [HideInInspector]_DissolveAlpha7Animated ("_DissolveAlpha7", Int) = 0 + [HideInInspector]_DissolveAlpha8Animated ("_DissolveAlpha8", Int) = 0 + [HideInInspector]_DissolveAlpha9Animated ("_DissolveAlpha9", Int) = 0 + + // Panosphere + [HideInInspector]_PanoToggleAnimated ("Enable Panosphere", Int) = 0 + [HideInInspector]_PanoInfiniteStereoToggleAnimated ("Infinite Stereo", Int) = 0 + [HideInInspector]_PanosphereColorAnimated ("Color", Int) = 0 + [HideInInspector]_PanosphereTextureAnimated ("Texture", Int) = 0 + [HideInInspector]_PanoMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_PanoMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_PanoMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_PanoEmissionAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_PanoBlendAnimated ("Alpha", Int) = 0 + [HideInInspector]_PanospherePanAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_PanoCubeMapToggleAnimated ("Use Cubemap", Int) = 0 + [HideInInspector]_PanoCubeMapAnimated ("CubeMap", Int) = 0 + + // Glitter + [HideInInspector]_GlitterEnableAnimated ("Enable Glitter?", Int) = 0 + [HideInInspector]_GlitterModeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterShapeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterBlendTypeAnimated ("Blend Mode", Int) = 0 + [HideInInspector]_GlitterColorAnimated ("Color", Int) = 0 + [HideInInspector]_GlitterUseSurfaceColorAnimated ("Use Surface Color", Int) = 0 + [HideInInspector]_GlitterColorMapAnimated ("Glitter Color Map", Int) = 0 + [HideInInspector]_GlitterColorMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterColorMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterTextureAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterRandomRotationAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterFrequencyAnimated ("Glitter Density", Int) = 0 + [HideInInspector]_GlitterJitterAnimated ("Glitter Jitter", Int) = 0 + [HideInInspector]_GlitterSpeedAnimated ("Glitter Wobble Speed", Int) = 0 + [HideInInspector]_GlitterSizeAnimated ("Glitter Size", Int) = 0 + [HideInInspector]_GlitterContrastAnimated ("Glitter Contrast", Int) = 0 + [HideInInspector]_GlitterAngleRangeAnimated ("Glitter Angle Range", Int) = 0 + [HideInInspector]_GlitterMinBrightnessAnimated ("Glitter Min Brightness", Int) = 0 + [HideInInspector]_GlitterBrightnessAnimated ("Glitter Max Brightness", Int) = 0 + [HideInInspector]_GlitterBiasAnimated ("Glitter Bias", Int) = 0 + [HideInInspector]_GlitterCenterSizeAnimated ("center size", Int) = 0 + [HideInInspector]_GlitterTextureRotationAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_glitterFrequencyLinearEmissiveAnimated ("Frequency", Int) = 0 + [HideInInspector]_GlitterJaggyFixAnimated ("Jaggy Fix", Int) = 0 + + // Glitter Random Colors + [HideInInspector]_GlitterRandomColorsAnimated ("Enable", Int) = 0 + [HideInInspector]_GlitterMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_GlitterMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + [HideInInspector]_GlitterRandomSizeAnimated ("random Size Toggle", Int) = 0 + [HideInInspector]_GlitterMinMaxSizeAnimated ("Min Max Random Size", Int) = 0 + + // MSDF OVERLAY + [HideInInspector]_TextGlyphsAnimated ("Font Array", Int) = 0 + [HideInInspector]_TextPixelRangeAnimated ("Pixel Range", Int) = 0 + [HideInInspector]_TextEnabledAnimated ("Text?", Int) = 0 + + // FPS + [HideInInspector]_TextFPSEnabledAnimated ("FPS Text?", Int) = 0 + [HideInInspector]_TextFPSUVAnimated ("FPS UV", Int) = 0 + [HideInInspector]_TextFPSColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextFPSEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextFPSOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextFPSRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextFPSScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextFPSPaddingAnimated ("Padding Reduction", Int) = 0 + + // POSITION + [HideInInspector]_TextPositionEnabledAnimated ("Position Text?", Int) = 0 + [HideInInspector]_TextPositionUVAnimated ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVerticalAnimated ("Vertical?", Int) = 0 + [HideInInspector]_TextPositionColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextPositionEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextPositionOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextPositionRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextPositionScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextPositionPaddingAnimated ("Padding Reduction", Int) = 0 + + // INSTANCE TIME + [HideInInspector]_TextTimeEnabledAnimated ("Time Text?", Int) = 0 + [HideInInspector]_TextTimeUVAnimated ("Time UV", Int) = 0 + [HideInInspector]_TextTimeColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextTimeEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextTimeOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextTimeRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextTimeScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextTimePaddingAnimated ("Padding Reduction", Int) = 0 + + // Mirror Rendering + [HideInInspector]_EnableMirrorOptionsAnimated ("Enable Mirror Options", Int) = 0 + [HideInInspector]_MirrorAnimated ("Show in mirror", Int) = 0 + [HideInInspector]_EnableMirrorTextureAnimated ("Enable Mirror Texture", Int) = 0 + [HideInInspector]_MirrorTextureAnimated ("Mirror Tex", Int) = 0 + [HideInInspector]_MirrorTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MirrorTextureUVAnimated ("UV", Int) = 0 + + // Distance Fade + [HideInInspector]_MainMinAlphaAnimated ("Minimum Alpha", Int) = 0 + [HideInInspector]_MainFadeTextureAnimated ("Fade Mask", Int) = 0 + [HideInInspector]_MainFadeTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainFadeTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_MainDistanceFadeAnimated ("Distance Fade X to Y", Int) = 0 + + // Angular Fade + [HideInInspector]_EnableRandomAnimated ("Enable Angular Fade", Int) = 0 + [HideInInspector]_AngleTypeAnimated ("Angle Type", Int) = 0 + [HideInInspector]_AngleCompareToAnimated ("Model or Vert Positon", Int) = 0 + [HideInInspector]_AngleForwardDirectionAnimated ("Forward Direction", Int) = 0 + [HideInInspector]_CameraAngleMinAnimated ("Camera Angle Min", Int) = 0 + [HideInInspector]_CameraAngleMaxAnimated ("Camera Angle Max", Int) = 0 + [HideInInspector]_ModelAngleMinAnimated ("Model Angle Min", Int) = 0 + [HideInInspector]_ModelAngleMaxAnimated ("Model Angle Max", Int) = 0 + [HideInInspector]_AngleMinAlphaAnimated ("Min Alpha", Int) = 0 + + // UV Distortion + [HideInInspector]_EnableDistortionAnimated ("Enabled?", Int) = 0 + [HideInInspector]_DistortionMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DistortionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DistortionMaskUVAnimated ("Distortion Mask UV", Int) = 0 + [HideInInspector]_DistortionFlowTextureAnimated ("Distortion Texture 1", Int) = 0 + [HideInInspector]_DistortionFlowTexture1Animated ("Distortion Texture 2", Int) = 0 + [HideInInspector]_DistortionStrengthAnimated ("Strength1", Int) = 0 + [HideInInspector]_DistortionStrength1Animated ("Strength2", Int) = 0 + [HideInInspector]_DistortionSpeedAnimated ("Speed1", Int) = 0 + [HideInInspector]_DistortionSpeed1Animated ("Speed2", Int) = 0 + + // Video Options + [HideInInspector]_EnableVideoAnimated ("Enable Video", Int) = 0 + [HideInInspector]_VideoUVNumberAnimated ("Screen UV#", Int) = 0 + [HideInInspector]_VideoTypeAnimated ("Screen Type", Int) = 0 + [HideInInspector]_VideoBacklightAnimated ("Brightness", Int) = 0 + [HideInInspector]_VideoPixelTextureAnimated ("Pixel Texture", Int) = 0 + [HideInInspector]_VideoResolutionAnimated ("Resolution", Int) = 0 + [HideInInspector]_VideoMaskTextureAnimated ("Mask", Int) = 0 + [HideInInspector]_VideoMaskPanningAnimated ("Mask Pan Speed", Int) = 0 + [HideInInspector]_VideoEnableVideoPlayerAnimated ("Enable Video Player", Int) = 0 + [HideInInspector]_VideoPixelateToResolutionAnimated ("Pixelate To Resolution", Int) = 0 + [HideInInspector]_VideoRepeatVideoTextureAnimated ("Clamp To UV", Int) = 0 + [HideInInspector]_VideoPanningAnimated ("Panning Speed", Int) = 0 + [HideInInspector]_VideoTilingAnimated ("Tiling", Int) = 0 + [HideInInspector]_VideoOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_VideoSaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_VideoContrastAnimated ("Contrast boost", Int) = 0 + [HideInInspector]_VideoEnableDebugAnimated ("Enable Debug", Int) = 0 + [HideInInspector]_VideoDebugTextureAnimated ("Video Debug Tex", Int) = 0 + [HideInInspector]_VideoCRTRefreshRateAnimated ("Refresh Rate", Int) = 0 + [HideInInspector]_VideoCRTPixelEnergizedTimeAnimated ("Pixel Fade Time", Int) = 0 + [HideInInspector]_VideoGameboyRampAnimated ("Color Ramp", Int) = 0 + + // TouchFX + [HideInInspector]_EnableBulgeAnimated ("Bulge", Int) = 0 + [HideInInspector]_BulgeMaskAnimated ("Bulge Mask", Int) = 0 + [HideInInspector]_BuldgeFadeLengthAnimated ("Touch Distance", Int) = 0 + [HideInInspector]_BuldgeHeightAnimated ("Bulge Height", Int) = 0 + + [HideInInspector]_EnableTouchGlowAnimated ("Enable Touch Glow", Int) = 0 + [HideInInspector]_DepthGradientTextureUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientBlendAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientPanAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientUVAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskPanAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGlowColorAnimated ("Depth Glow Color", Int) = 0 + [HideInInspector]_DepthGradientAnimated ("Depth Gradient", Int) = 0 + [HideInInspector]_DepthMaskAnimated ("Depth Mask", Int) = 0 + [HideInInspector]_DepthGlowEmissionAnimated ("Depth Glow Emission", Int) = 0 + [HideInInspector]_FadeLengthAnimated ("Fade Length", Int) = 0 + [HideInInspector]_DepthAlphaMinAnimated ("Alpha Min", Int) = 0 + [HideInInspector]_DepthAlphaMaxAnimated ("Alpha Max", Int) = 0 + + // Hologram + [HideInInspector]_EnableHoloAnimated ("Enable Hologram Alpha", Int) = 0 + [HideInInspector]_HoloAlphaMapAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_HoloCoordinateSpaceAnimated ("Coordinate Space", Int) = 0 + [HideInInspector]_HoloDirectionAnimated ("Scroll Direction", Int) = 0 + [HideInInspector]_HoloLineDensityAnimated ("Line Density", Int) = 0 + [HideInInspector]_HoloScrollSpeedAnimated ("Scroll Speed", Int) = 0 + [HideInInspector]_HoloFresnelAlphaAnimated ("Intensity", Int) = 0 + [HideInInspector]_HoloRimSharpnessAnimated ("Sharpness", Int) = 0 + [HideInInspector]_HoloRimWidthAnimated ("Width", Int) = 0 + + // GrabPass + [HideInInspector]_GrabPassUseAlphaAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabPassBlendFactorAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabSrcBlendAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabDstBlendAnimated ("Destination Blend", Int) = 0 + [HideInInspector]_RefractionEnabledAnimated ("Enable Refraction,", Int) = 0 + [HideInInspector]_RefractionIndexAnimated ("Refraction", Int) = 0 + [HideInInspector]_RefractionChromaticAberattionAnimated ("Chromatic Aberration", Int) = 0 + [HideInInspector]_EnableBlurAnimated ("Enable Blur", Int) = 0 + [HideInInspector]_GrabBlurDistanceAnimated ("Blur Distance", Int) = 0 + [HideInInspector]_GrabBlurQualityAnimated ("Blur Quality", Int) = 0 + [HideInInspector]_GrabBlurDirectionsAnimated ("Blur Direction", Int) = 0 + + // Iridescence + [HideInInspector]_EnableIridescenceAnimated ("Enable Iridescence", Int) = 0 + [HideInInspector]_IridescenceRampAnimated ("Ramp", Int) = 0 + [HideInInspector]_IridescenceNormalToggleAnimated ("Custom Normals?", Int) = 0 + [HideInInspector]_IridescenceNormalMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_IridescenceMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_IridescenceNormalIntensityAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_IridescenceNormalUVAnimated ("Normal UV", Int) = 0 + [HideInInspector]_IridescenceMaskUVAnimated ("Mask UV", Int) = 0 + [HideInInspector]_IridescenceNormalSelectionAnimated ("Normal Select", Int) = 0 + [HideInInspector]_IridescenceIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_IridescenceAddBlendAnimated ("Blend Add", Int) = 0 + [HideInInspector]_IridescenceReplaceBlendAnimated ("Blend Replace", Int) = 0 + [HideInInspector]_IridescenceMultiplyBlendAnimated ("Blend Multiply", Int) = 0 + [HideInInspector]_IridescenceEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_IridescenceTimeAnimated ("When To Run", Int) = 0 + + // Vertex Glitching + [HideInInspector]_EnableVertexGlitchAnimated ("Enable Vertex Glitching", Int) = 0 + [HideInInspector]_VertexGlitchFrequencyAnimated ("Glitch Interval", Int) = 0 + [HideInInspector]_VertexGlitchThresholdAnimated ("Glitch Threshold", Int) = 0 + [HideInInspector]_VertexGlitchStrengthAnimated ("Glitch Strength", Int) = 0 + + // Spawn In Effects + [HideInInspector]_EnableScifiSpawnInAnimated ("Enable Sci Fi Spawn", Int) = 0 + [HideInInspector]_SpawnInNoiseAnimated ("Spawn Noise", Int) = 0 + [HideInInspector]_SpawnInNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_SpawnInAlphaAnimated ("Spawn Alpha", Int) = 0 + [HideInInspector]_SpawnInGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_SpawnInGradientFinishAnimated ("Gradient End", Int) = 0 + [HideInInspector]_SpawnInEmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_SpawnInEmissionOffsetAnimated ("Emission Width", Int) = 0 + [HideInInspector]_SpawnInVertOffsetAnimated ("Vertex Offset Speed", Int) = 0 + [HideInInspector]_SpawnInVertOffsetOffsetAnimated ("vert width", Int) = 0 + + // Voronoi + [HideInInspector]_VoronoiTypeAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiSpaceAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiBlendAnimated ("Blend", Int) = 0 + [HideInInspector]_EnableVoronoiAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiEffectsMaterialAlphaAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_VoronoiMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseAnimated ("Edge Noise", Int) = 0 + [HideInInspector]_VoronoiNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_VoronoiColor0Animated ("Color 0", Int) = 0 + [HideInInspector]_VoronoiEmission0Animated ("Emission 0", Int) = 0 + [HideInInspector]_VoronoiColor1Animated ("Color 1", Int) = 0 + [HideInInspector]_VoronoiEmission1Animated ("Emission 1", Int) = 0 + [HideInInspector]_VoronoiGradientAnimated ("Gradient", Int) = 0 + [HideInInspector]_VoronoiScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_VoronoiSpeedAnimated ("Speed", Int) = 0 + [HideInInspector]_VoronoiEnableRandomCellColorAnimated ("Rando Cell Col", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + + // Blacklight mask + [HideInInspector]_BlackLightMaskEnabledAnimated ("Black Light Mask Enabled", Int) = 0 + [HideInInspector]_BlackLightMaskKeysAnimated ("Mask Keys", Int) = 0 + [HideInInspector]_BlackLightMaskStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_BlackLightMaskEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_BlackLightMaskDebugAnimated ("Visualize", Int) = 0 + [HideInInspector]_BlackLightMaskMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_BlackLightMaskClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_BlackLightMaskMatcapAnimated ("Matcap 1", Int) = 0 + [HideInInspector]_BlackLightMaskMatcap2Animated ("Matcap 2", Int) = 0 + [HideInInspector]_BlackLightMaskEmissionAnimated ("Emission 1", Int) = 0 + [HideInInspector]_BlackLightMaskEmission2Animated ("Emission 2", Int) = 0 + [HideInInspector]_BlackLightMaskFlipbookAnimated ("Flipbook", Int) = 0 + [HideInInspector]_BlackLightMaskDissolveAnimated ("Dissolve", Int) = 0 + [HideInInspector]_BlackLightMaskPanosphereAnimated ("Panosphere", Int) = 0 + [HideInInspector]_BlackLightMaskGlitterAnimated ("Glitter", Int) = 0 + [HideInInspector]_BlackLightMaskIridescenceAnimated ("Iridescence", Int) = 0 + + // Outline Options + [HideInInspector]_OutlineModeAnimated ("Mode", Int) = 0 + [HideInInspector]_OutlineFixedSizeAnimated ("Fixed Size?", Int) = 0 + [HideInInspector]_OutlineUseVertexColorsAnimated ("V Color", Int) = 0 + [HideInInspector]_OutlineLitAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LineWidthAnimated ("Width", Int) = 0 + [HideInInspector]_LineColorAnimated ("Color", Int) = 0 + [HideInInspector]_OutlineTintMixAnimated ("Tint Mix", Int) = 0 + [HideInInspector]_OutlineEmissionAnimated ("Outline Emission", Int) = 0 + [HideInInspector]_OutlineTextureAnimated ("Outline Texture", Int) = 0 + [HideInInspector]_OutlineMaskAnimated ("Outline Mask", Int) = 0 + [HideInInspector]_OutlineTexturePanAnimated ("Outline Texture Pan", Int) = 0 + [HideInInspector]_OutlineShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_OutlineRimLightBlendAnimated ("Rim Light Blend", Int) = 0 + [HideInInspector]_OutlinePersonaDirectionAnimated ("directional Offset XY", Int) = 0 + [HideInInspector]_OutlineDropShadowOffsetAnimated ("Drop Direction XY", Int) = 0 + [HideInInspector]_OutlineFadeDistanceAnimated ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetFactor ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetUnits ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineCullAnimated ("Cull", Int) = 0 + + // Parallax Mapping + [HideInInspector]_ParallaxMapAnimated ("Enable Parallax FX", Int) = 0 + [HideInInspector]_ParallaxHeightMapEnabledAnimated ("Enable Parallax Height", Int) = 0 + [HideInInspector]_ParallaxInternalMapEnabledAnimated ("Enable Parallax Internal", Int) = 0 + [HideInInspector]_ParallaxHeightMapPanAnimated ("Pan", Int) = 0 + [HideInInspector]_ParallaxUVAnimated ("Parallax UV", Int) = 0 + [HideInInspector]_ParallaxHeightMapAnimated ("Height Map", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxStrengthAnimated ("Parallax Strength", Int) = 0 + [HideInInspector]_ParallaxInternalHeightmapModeAnimated ("Parallax Mode", Int) = 0 + [HideInInspector]_ParallaxInternalHeightFromAlphaAnimated ("HeightFromAlpha", Int) = 0 + [HideInInspector]_ParallaxInternalMapAnimated ("Internal Map", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxInternalIterationsAnimated ("Parallax Internal Iterations", Int) = 0 + [HideInInspector]_ParallaxInternalMinDepthAnimated ("Min Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMaxDepthAnimated ("Max Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMinFadeAnimated ("Min Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMaxFadeAnimated ("Max Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMinColorAnimated ("Min Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalMaxColorAnimated ("Max Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalPanSpeedAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_ParallaxInternalPanDepthSpeedAnimated ("Per Level Speed Multiplier", Int) = 0 + [HideInInspector]_ParallaxBiasAnimated ("Parallax Bias (0.42)", Int) = 0 + + // Rendering Options + [HideInInspector]_CullAnimated ("Cull", Int) = 0 + [HideInInspector]_ZTestAnimated ("ZTest", Int) = 0 + [HideInInspector]_ZWriteAnimated ("ZWrite", Int) = 0 + [HideInInspector]_ColorMaskAnimated ("Color Mask", Int) = 0 + [HideInInspector]_OffsetFactorAnimated ("Offset Factor", Int) = 0 + [HideInInspector]_OffsetUnitsAnimated ("Offset Units", Int) = 0 + [HideInInspector]_IgnoreFogAnimated ("Ignore Fog", Int) = 0 + + // Blending Options + [HideInInspector]_BlendOpAnimated ("RGB Blend Op", Int) = 0 + [HideInInspector]_BlendOpAlphaAnimated ("Alpha Blend Op", Int) = 0 + [HideInInspector]_SrcBlendAnimated ("RGB Source Blend", Int) = 0 + [HideInInspector]_DstBlendAnimated ("RGB Destination Blend", Int) = 0 + + // Stencils + [HideInInspector]_StencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_StencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_StencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_StencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_StencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_StencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_StencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Outline Stencil + [HideInInspector]_OutlineStencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_OutlineStencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_OutlineStencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_OutlineStencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_OutlineStencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_OutlineStencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_OutlineStencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Debug Options + [HideInInspector]_VertexUnwrapAnimated ("Unwrap", Range(0, 1)) = 0 + [HideInInspector]_DebugMeshDataAnimated ("Mesh Data", Int) = 0 + [HideInInspector]_DebugLightingDataAnimated ("Lighting Data", Int) = 0 + [HideInInspector]_DebugCameraDataAnimated ("Camera Data", Int) = 0 + } + + + //originalEditorCustomEditor "PoiToon" + CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "Opaque" "Queue" = "Geometry" } + +// //EnableOutlinePass +// Pass +// { +// Name "Outline" +// Tags { "LightMode" = "ForwardBase" } +// Stencil +// { +// Ref [_OutlineStencilRef] +// ReadMask [_OutlineStencilReadMask] +// WriteMask [_OutlineStencilWriteMask] +// Comp [_OutlineStencilCompareFunction] +// Pass [_OutlineStencilPassOp] +// Fail [_OutlineStencilFailOp] +// ZFail [_OutlineStencilZFailOp] +// } +// ZTest [_ZTest] +// ColorMask [_ColorMask] +// Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits] +// BlendOp [_BlendOp], [_BlendOpAlpha] +// Blend [_SrcBlend] [_DstBlend] +// ZWrite [_ZWrite] +// AlphaToMask [_AlphaToMask] +// Cull [_OutlineCull] +// CGPROGRAM +// +// #pragma target 5.0 +// #define FORWARD_BASE_PASS +// #define OUTLINE +// float _Mode; +// // patreon Additive +// // Black Light Mask +//// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF +// // voronoi +//// #pragma shader_feature CHROMATIC_ABERRATION +// // UV Distortion +//// #pragma shader_feature USER_LUT +// // Vertex Offsets +//// #pragma shader_feature AUTO_EXPOSURE +// // Mirror +//// #pragma shader_feature _REQUIRE_UV2 +// // Random +//// #pragma shader_feature _SUNDISK_NONE +// // Dissolve +//// #pragma shader_feature DISTORT +// // Lighting +//// #pragma shader_feature VIGNETTE_MASKED +// #pragma multi_compile_fwdbase +// #pragma fragmentoption ARB_precision_hint_fastest +// #pragma multi_compile_fog +// #pragma multi_compile_instancing +// #pragma vertex vert +// #pragma fragment frag +// #include "../Includes/CGI_PoiPassOutline.cginc" +// ENDCG +// +// } + //EnableOutlinePass + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + + ZWrite [_ZWrite] + Cull [_Cull] + AlphaToMask [_AlphaToMask] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend] + + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_BASE_PASS + float _Mode; + // Base Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + #pragma multi_compile _ VERTEXLIGHT_ON + // patreon Base + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Grab Pass Blur +// #pragma shader_feature CHROMATIC_ABERRATION_LOW + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Touch Color +// #pragma shader_feature GRAIN + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma multi_compile_instancing + #pragma multi_compile_fwdbase + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile_fog + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + + //LightingAdditiveEnable + Pass + { + Name "ForwardAddPass" + Tags { "LightMode" = "ForwardAdd" } + + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend One One + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_ADD_PASS + float _Mode; + // Add Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + // patreon Additive + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW +// #pragma shader_feature _PARALLAX_MAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Disable Directionals +// #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + + #pragma multi_compile_instancing + #pragma multi_compile_fwdadd_fullshadows + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + //LightingAdditiveEnable + + //LightingCastShadows + Pass + { + Name "ShadowCasterPass" + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + AlphaToMask Off + ZWrite [_ZWrite] + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_SHADOW + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Dissolve +// #pragma shader_feature DISTORT + #pragma multi_compile_instancing + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + #include "../Includes/CGI_PoiPassShadow.cginc" + ENDCG + + } + //LightingCastShadows + + Pass + { + Tags { "LightMode" = "Meta" } + Cull Off + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_META_PASS + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta new file mode 100644 index 00000000..c95fe2a6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_EQ_MilkCowOutfit_Tail_13-4ff84e4c/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f7ceeab0339e1b94b86fe0b15a90af75 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7.meta new file mode 100644 index 00000000..03cbd798 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5ea08c7ce3f729e4fb2e82206c719769 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets.meta new file mode 100644 index 00000000..380b9e74 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1098887c414b39c4eb12ea9d91538574 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources.meta new file mode 100644 index 00000000..2bb44268 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1efb28e482765e44e88a5f1ad7b1c626 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi.meta new file mode 100644 index 00000000..63b912a2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 16861be262b07754998636e09820ff3f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders.meta new file mode 100644 index 00000000..d88f420b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 7332ed84d8b561d47ac57d301663f379 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon.meta new file mode 100644 index 00000000..f06e9292 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b69ff0c7971c4a4e9d54814564579ae +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta new file mode 100644 index 00000000..ba637e80 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 00ce3510dd880fb44b8b4f85a5a10b38 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc new file mode 100644 index 00000000..47683c72 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc @@ -0,0 +1,32 @@ +#ifndef POI_ALPHA_TO_COVERAGE + #define POI_ALPHA_TO_COVERAGE + + half _MainMipScale; + float _MainAlphaToCoverage; + + float CalcMipLevel(float2 texture_coord) + { + float2 dx = ddx(texture_coord); + float2 dy = ddy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + + return 0.5 * log2(delta_max_sqr); + } + + void ApplyAlphaToCoverage(inout float4 finalColor) + { + // Force Model Opacity to 1 if desired + + if (float(0) == 1) + { + + if(float(0)) + { + // rescale alpha by mip level + finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.0078125,0.0078125,128,128).zw)) * float(0.25); + // rescale alpha by partial derivative + finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta new file mode 100644 index 00000000..e87e89ca --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4f8e93951a94d01499faa920a4f8aef0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc new file mode 100644 index 00000000..e529136f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc @@ -0,0 +1,32 @@ +#ifndef POI_BACKFACE + #define POI_BACKFACE + + float _BackFaceEnabled; + float _BackFaceTextureUV; + float _BackFaceDetailIntensity; + float _BackFaceEmissionStrength; + float2 _BackFacePanning; + float _BackFaceHueShift; + float4 _BackFaceColor; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST; + + float3 BackFaceColor; + void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission) + { + backFaceEmission = 0; + BackFaceColor = 0; + + if (float(0)) + { + if(!poiMesh.isFrontFace) + { + albedo = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + backFaceDetailIntensity = float(1); + BackFaceColor = albedo.rgb; + mixedHueShift = float(0); + backFaceEmission = BackFaceColor * float(0); + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta new file mode 100644 index 00000000..e602d8df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 80468fefb1129f74aa1072ecbc9c28b7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc new file mode 100644 index 00000000..750364ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc @@ -0,0 +1,54 @@ +#ifndef POI_BLACKLIGHT + #define POI_BLACKLIGHT + + float4 _BlackLightMaskStart; + float4 _BlackLightMaskEnd; + float4 _BlackLightMaskKeys; + float _BlackLightMaskDebug; + float _BlackLightMaskDissolve; + float _BlackLightMaskMetallic; + float _BlackLightMaskClearCoat; + float _BlackLightMaskMatcap; + float _BlackLightMaskMatcap2; + float _BlackLightMaskEmission; + float _BlackLightMaskEmission2; + float _BlackLightMaskFlipbook; + float _BlackLightMaskPanosphere; + float _BlackLightMaskIridescence; + + half _BlackLightMaskGlitter; + + half4 blackLightMask; + + void createBlackLightMask() + { + blackLightMask = 0; + #ifdef VERTEXLIGHT_ON + + for (int lightIndex = 0; lightIndex < 4; lightIndex ++) + { + float3 lightPos = float3(unity_4LightPosX0[lightIndex], unity_4LightPosY0[lightIndex], unity_4LightPosZ0[lightIndex]); + if (!distance(unity_LightColor[lightIndex].rgb, float3(0, 0, 0))) + { + for (int maskIndex = 0; maskIndex < 4; maskIndex ++) + { + float4 comparison = _BlackLightMaskKeys; + if(unity_LightColor[lightIndex].a == comparison[maskIndex]) + { + blackLightMask[maskIndex] = max(blackLightMask[maskIndex], smoothstep(_BlackLightMaskEnd[maskIndex], _BlackLightMaskStart[maskIndex], distance(poiMesh.worldPos, lightPos))); + } + } + } + } + #endif + } +#endif + +/* +#ifdef POI_BLACKLIGHT + if (_BlackLightMaskDissolve != 4) + { + blackLightMask[mask]; + } +#endif +*/ diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta new file mode 100644 index 00000000..8ff29849 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 863cb14f1eb114744ac17e59a3f0c0f6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc new file mode 100644 index 00000000..f87ae6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc @@ -0,0 +1,39 @@ +#ifndef POI_BLENDING + #define POI_BLENDING + + /* + 0: Zero float4(0.0, 0.0, 0.0, 0.0), + 1: One float4(1.0, 1.0, 1.0, 1.0), + 2: DstColor destinationColor, + 3: SrcColor sourceColor, + 4: OneMinusDstColor float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + 5: SrcAlpha sourceColor.aaaa, + 6: OneMinusSrcColor float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + 7: DstAlpha destinationColor.aaaa, + 8: OneMinusDstAlpha float4(1.0, 1.0, 1.0, 1.0) - destinationColor., + 9: SrcAlphaSaturate saturate(sourceColor.aaaa), + 10: OneMinusSrcAlpha float4(1.0, 1.0, 1.0, 1.0) - sourceColor.aaaa, + */ + + float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor) + { + float4 sA = 1-blendFactor; + const float4 blendData[11] = { + float4(0.0, 0.0, 0.0, 0.0), + float4(1.0, 1.0, 1.0, 1.0), + destinationColor, + sourceColor, + float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sA, + saturate(sourceColor.aaaa), + 1 - sA, + }; + + return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor,sourceColor, sA); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta new file mode 100644 index 00000000..09327131 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4a394b437c82127468cf6027be62f95e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc new file mode 100644 index 00000000..6e4db3fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc @@ -0,0 +1,34 @@ +#ifndef POI_BULGE + #define POI_BULGE + + + sampler2D _BulgeMask; + float _BuldgeFadeLength; + float _BuldgeHeight; + + void bulgyWolgy(inout v2f o) + { + float depth = DecodeFloatRG(tex2Dlod(_CameraDepthTexture, float4(o.grabPos.xy / o.grabPos.w, 0, 0))); + float bulgeMask = tex2Dlod(_BulgeMask, float4(o.uv0.xy, 0, 0)); + depth = Linear01Depth(depth); + + float intersect = 0; + if (depth != 1) + { + float diff = distance(depth, Linear01Depth(o.pos.z / o.pos.w)); + if(diff > 0) + { + intersect = 1 - smoothstep(0, _ProjectionParams.w * _BuldgeFadeLength, diff); + } + } + float4 offset = intersect * _BuldgeHeight * float4(o.normal, 0); + + offset = IsInMirror() ? 0: offset; + offset *= bulgeMask; + + o.worldPos = mul(unity_ObjectToWorld, o.localPos) + offset; + o.localPos = mul(unity_WorldToObject, o.worldPos); + o.pos = UnityObjectToClipPos(o.localPos); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta new file mode 100644 index 00000000..c7196ff1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 07e36e78d30606c45b267b813e85ea72 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc new file mode 100644 index 00000000..5adf7340 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc @@ -0,0 +1,108 @@ +#ifndef POI_CLEARCOAT + #define POI_CLEARCOAT + + samplerCUBE _ClearCoatCubeMap; + float _ClearCoatSampleWorld; + POI_TEXTURE_NOSAMPLER(_ClearCoatMask); + POI_TEXTURE_NOSAMPLER(_ClearCoatSmoothnessMap); + float _ClearCoatInvertSmoothness; + float _ClearCoat; + float _ClearCoatSmoothness; + float3 _ClearCoatTint; + float _ClearCoatNormalToUse; + float _ClearCoatForceLighting; + float lighty_clear_boy_uwu_var; + + + float3 CalculateClearCoatEnvironmentalReflections() + { + float3 reflectionColor; + + float smoothnessMap = (POI2D_SAMPLER_PAN(_ClearCoatSmoothnessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + if (float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + float roughness = 1 - smoothnessMap; + + lighty_clear_boy_uwu_var = 0; + + float3 reflectedDir = float(0) == 0 ? poiCam.vertexReflectionDir: poiCam.reflectionDir; + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + + + if(float(0) == 0 && no_probe == 0) + { + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflectionColor = lerp(probe1, probe0, interpolator); + } + else + { + reflectionColor = probe0; + } + } + else + { + lighty_clear_boy_uwu_var = 1; + reflectionColor = texCUBElod(_ClearCoatCubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + if(float(0)) + { + lighty_clear_boy_uwu_var = 1; + } + + return reflectionColor * float4(1,1,1,1); + } + + void calculateAndApplyClearCoat(inout float4 finalColor) + { + half clearCoatMap = POI2D_SAMPLER_PAN(_ClearCoatMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskClearCoat != 4) + { + clearCoatMap *= blackLightMask[_BlackLightMaskClearCoat]; + } + #endif + + half3 reflectionColor = CalculateClearCoatEnvironmentalReflections(); + + float NormalDotView = abs(dot(float(1), float(0) == 0 ? poiLight.N0DotV: poiLight.nDotV).r); + #ifdef POI_LIGHTING + finalColor.rgb = lerp(finalColor.rgb, reflectionColor * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var), clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + //finalColor.rgb += reflectionColor; + //finalColor.rgb = finalColor.rgb * (1- (reflectionColor.r + reflectionColor.g + reflectionColor.b)/3) + reflectionColor * clearCoatMap * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var); + #else + finalColor.rgb = lerp(finalColor.rgb, reflectionColor, clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta new file mode 100644 index 00000000..b4919a61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9c472bbaa1e837348a900e6b4f2537b5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc new file mode 100644 index 00000000..687dc443 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc @@ -0,0 +1,262 @@ +#ifndef POI_COLOR + #define POI_COLOR + + #ifndef pi + #define pi float(3.14159265359) + #endif + + static const float Epsilon = 1e-10; + // The weights of RGB contributions to luminance. + // Should sum to unity. + static const float3 HCYwts = float3(0.299, 0.587, 0.114); + static const float HCLgamma = 3; + static const float HCLy0 = 100; + static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5 + static const float3 wref = float3(1.0, 1.0, 1.0); + #define TAU 6.28318531 + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 RGBtoHCV(in float3 RGB) + { + // Based on work by Sam Hocevar and Emil Persson + float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0); + float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx); + float C = Q.x - min(Q.w, Q.y); + float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z); + return float3(H, C, Q.x); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float3 RGBtoHSV(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float S = HCV.y / (HCV.z + Epsilon); + return float3(HCV.x, S, HCV.z); + } + + float3 HSLtoRGB(in float3 HSL) + { + float3 RGB = HUEtoRGB(HSL.x); + float C = (1 - abs(2 * HSL.z - 1)) * HSL.y; + return(RGB - 0.5) * C + HSL.z; + } + + float3 RGBtoHSL(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float L = HCV.z - HCV.y * 0.5; + float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon); + return float3(HCV.x, S, L); + } + + float3 HCYtoRGB(in float3 HCY) + { + + + float3 RGB = HUEtoRGB(HCY.x); + float Z = dot(RGB, HCYwts); + if (HCY.z < Z) + { + HCY.y *= HCY.z / Z; + } + else if(Z < 1) + { + HCY.y *= (1 - HCY.z) / (1 - Z); + } + return(RGB - Z) * HCY.y + HCY.z; + } + + float3 RGBtoHCY(in float3 RGB) + { + // Corrected by David Schaeffer + float3 HCV = RGBtoHCV(RGB); + float Y = dot(RGB, HCYwts); + float Z = dot(HUEtoRGB(HCV.x), HCYwts); + if (Y < Z) + { + HCV.y *= Z / (Epsilon + Y); + } + else + { + HCV.y *= (1 - Z) / (Epsilon + 1 - Y); + } + return float3(HCV.x, HCV.y, Y); + } + + float3 HCLtoRGB(in float3 HCL) + { + float3 RGB = 0; + if(HCL.z != 0) + { + float H = HCL.x; + float C = HCL.y; + float L = HCL.z * HCLmaxL; + float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0)); + float U = (2 * L - C) / (2 * Q - 1); + float V = C / Q; + float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2; + float T; + H *= 6; + if(H <= 0.999) + { + T = tan(A); + RGB.r = 1; + RGB.g = T / (1 + T); + } + else if(H <= 1.001) + { + RGB.r = 1; + RGB.g = 1; + } + else if(H <= 2) + { + T = tan(A); + RGB.r = (1 + T) / T; + RGB.g = 1; + } + else if(H <= 3) + { + T = tan(A); + RGB.g = 1; + RGB.b = 1 + T; + } + else if(H <= 3.999) + { + T = tan(A); + RGB.g = 1 / (1 + T); + RGB.b = 1; + } + else if(H <= 4.001) + { + RGB.g = 0; + RGB.b = 1; + } + else if(H <= 5) + { + T = tan(A); + RGB.r = -1 / T; + RGB.b = 1; + } + else + { + T = tan(A); + RGB.r = 1; + RGB.b = -T; + } + RGB = RGB * V + U; + } + return RGB; + } + + float3 RGBtoHCL(in float3 RGB) + { + float3 HCL; + float H = 0; + float U = min(RGB.r, min(RGB.g, RGB.b)); + float V = max(RGB.r, max(RGB.g, RGB.b)); + float Q = HCLgamma / HCLy0; + HCL.y = V - U; + if(HCL.y != 0) + { + H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi; + Q *= U / V; + } + Q = exp(Q); + HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6); + HCL.y *= Q; + HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2); + return HCL; + } + + //HSL MODIFT + float3 ModifyViaHSL(float3 color, float3 HSLMod) + { + float3 colorHSL = RGBtoHSL(color); + colorHSL.r = frac(colorHSL.r + HSLMod.r); + colorHSL.g = saturate(colorHSL.g + HSLMod.g); + colorHSL.b = saturate(colorHSL.b + HSLMod.b); + return HSLtoRGB(colorHSL); + } + + float3 hueShift(float3 col, float hueAdjust) + { + hueAdjust *= 2 * pi; + const float3 k = float3(0.57735, 0.57735, 0.57735); + half cosAngle = cos(hueAdjust); + return col * cosAngle + cross(k, col) * sin(hueAdjust) + k * dot(k, col) * (1.0 - cosAngle); + } + + float3 poiSaturation(float3 In, float Saturation) + { + float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750)); + return luma.xxx + Saturation.xxx * (In - luma.xxx); + } + // LCH + float xyzF(float t) + { + return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645)); + } + float xyzR(float t) + { + return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655)); + } + float3 rgb2lch(in float3 c) + { + c = mul(float3x3(0.4124, 0.3576, 0.1805, + 0.2126, 0.7152, 0.0722, + 0.0193, 0.1192, 0.9505), c); + c.x = xyzF(c.x / wref.x); + c.y = xyzF(c.y / wref.y); + c.z = xyzF(c.z / wref.z); + float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z)); + return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y)); + } + + float3 lch2rgb(in float3 c) + { + c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y); + + float lg = 1. / 116. * (c.x + 16.); + float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y), + wref.y * xyzR(lg), + wref.z * xyzR(lg - 0.005 * c.z)); + + float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986, + - 0.9689, 1.8758, 0.0415, + 0.0557, -0.2040, 1.0570), xyz); + + return rgb; + } + + //cheaply lerp around a circle + float lerpAng(in float a, in float b, in float x) + { + float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi; + return ang * x + b; + } + + //Linear interpolation between two colors in Lch space + float3 lerpLch(in float3 a, in float3 b, in float x) + { + float hue = lerpAng(a.z, b.z, x); + return float3(lerp(b.xy, a.xy, x), hue); + } + + float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha) + { + return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha)); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta new file mode 100644 index 00000000..5bf724f7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4a90cad9197f25a44a3eeeabb775f510 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc new file mode 100644 index 00000000..cd354f85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc @@ -0,0 +1,249 @@ +#ifndef POI_DATA + #define POI_DATA + + float _ParallaxBias; + float _LightingAdditiveLimitIntensity; + float _LightingAdditiveMaxIntensity; + POI_TEXTURE_NOSAMPLER(_BumpMap); + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailMask); + POI_TEXTURE_NOSAMPLER(_DetailNormalMap); + float _DetailNormalMapScale; + #endif + float _BumpScale; + + void calculateAttenuation(v2f i) + { + #ifdef FORWARD_ADD_PASS + #if defined(POINT) || defined(SPOT) + POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz) + poiLight.additiveShadow = shadow; + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + poiLight.additiveShadow == 0; + #endif + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + // fix for rare bug where light atten is 0 when there is no directional light in the scene + #ifdef FORWARD_BASE_PASS + if (all(_LightColor0.rgb == 0.0)) + { + attenuation = 1.0; + } + #endif + #endif + poiLight.attenuation = attenuation; + } + + void calculateVertexLightingData(in v2f i) + { + #ifdef VERTEXLIGHT_ON + float4 toLightX = unity_4LightPosX0 - i.worldPos.x; + float4 toLightY = unity_4LightPosY0 - i.worldPos.y; + float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z; + float4 lengthSq = 0; + lengthSq += toLightX * toLightX; + lengthSq += toLightY * toLightY; + lengthSq += toLightZ * toLightZ; + + float4 lightAttenSq = unity_4LightAtten0; + float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq); + float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25)); + poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight); + + poiLight.vDotNL = 0; + poiLight.vDotNL += toLightX * poiMesh.normals[1].x; + poiLight.vDotNL += toLightY * poiMesh.normals[1].y; + poiLight.vDotNL += toLightZ * poiMesh.normals[1].z; + + float4 corr = rsqrt(lengthSq); + poiLight.vDotNL = max(0, poiLight.vDotNL * corr); + poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL; + + for (int index = 0; index < 4; index ++) + { + poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]); + + float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos; + poiLight.vDirection[index] = normalize(vertexToLightSource); + //poiLight.vAttenuationDotNL[index] = 1.0 / (1.0 + unity_4LightAtten0[index] * poiLight.vDotNL[index]); + poiLight.vColor[index] = unity_LightColor[index].rgb; + + if (float(0) == 1) + { + float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b)); + poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1))); + } + poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir); + poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]); + poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1); + + #ifdef POI_VAR_DOTLH + poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index])); + #endif + + #ifdef POI_VAR_DOTNH + poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index])); + #endif + } + #endif + } + + void calculateLightingData(in v2f i) + { + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb; + poiLight.color = magic + normalLight; + #else + #ifdef FORWARD_ADD_PASS + poiLight.color = _LightColor0.rgb; + + + if (float(0) == 1) + { + float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b)); + poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1))); + } + #endif + #endif + + #ifdef FORWARD_BASE_PASS + poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + #else + #if defined(POINT) || defined(SPOT) + poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #else + poiLight.direction = _WorldSpaceLightPos0; + #endif + #endif + + poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); + + #ifdef POI_VAR_DOTNH + poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir)); + #endif + + #ifdef POI_VAR_DOTLH + poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir)); + #endif + + poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir); + poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir); + poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); + poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); + poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); + poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); + } + + float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) + { + return cross(normal, tangent.xyz) * (binormalSign * unity_WorldTransformParams.w); + } + + void InitializeMeshData(inout v2f i, uint facing) + { + poiMesh.isFrontFace = facing; + poiMesh.normals[0] = normalize(i.normal); + poiMesh.binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + poiMesh.tangent = i.tangent.xyz; + + #ifndef OUTLINE + if(!poiMesh.isFrontFace) + { + poiMesh.normals[0] *= -1; + poiMesh.tangent *= -1; + poiMesh.binormal *= -1; + } + #endif + + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + poiMesh.barycentricCoordinates = i.barycentricCoordinates; + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + #ifdef POI_UV_DISTORTION + poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy); + #else + poiMesh.uv[4] = poiMesh.uv[0]; + #endif + + poiMesh.vertexColor = i.vertexColor; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + poiMesh.lightmapUV = i.lightmapUV; + #endif + poiMesh.modelPos = i.modelPos; + + #ifdef FUR + poiMesh.furAlpha = i.furAlpha; + #endif + } + + void initializeCamera(v2f i) + { + poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); + poiCam.forwardDir = getCameraForward(); + poiCam.worldPos = _WorldSpaceCameraPos; + poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos); + poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); + poiCam.grabPos = i.grabPos; + poiCam.screenUV = calcScreenUVs(i.grabPos); + poiCam.clipPos = i.pos; + #if defined(GRAIN) + poiCam.worldDirection = i.worldDirection; + #endif + + poiCam.tangentViewDir = normalize(i.tangentViewDir); + poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42)); + } + + void calculateTangentData() + { + poiTData.tangentTransform = float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0]); + poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0])); + } + + void CalculateReflectionData() + { + #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON) + poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); + poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); + #endif + } + + void calculateNormals(inout half3 detailMask) + { + half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + #ifdef FINALPASS + detailMask = POI2D_SAMPLER_PAN(_DetailMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(1) > 0) + { + half3 detailNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_DetailNormalMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1) * detailMask.g); + poiMesh.tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + } + else + { + poiMesh.tangentSpaceNormal = mainNormal; + } + #else + poiMesh.tangentSpaceNormal = mainNormal; + #endif + + #ifdef POI_RGBMASK + calculateRGBNormals(poiMesh.tangentSpaceNormal); + #endif + + poiMesh.normals[1] = normalize( + poiMesh.tangentSpaceNormal.x * poiMesh.tangent + + poiMesh.tangentSpaceNormal.y * poiMesh.binormal + + poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] + ); + + poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1])); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta new file mode 100644 index 00000000..da6745ef --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: af450516113e2ca45b4930f9f2faba13 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc new file mode 100644 index 00000000..125d2cd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc @@ -0,0 +1,107 @@ +#ifndef POI_DEBUG + #define POI_DEBUG + + float _DebugEnabled; + float _DebugMeshData; + float _DebugLightingData; + float _DebugCameraData; + + void displayDebugInfo(inout float4 finalColor) + { + + if (float(0) != 0) + { + //Mesh Data + if (float(0) == 1) + { + finalColor.rgb = poiMesh.normals[0]; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiMesh.normals[1]; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiMesh.tangent; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiMesh.binormal; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiMesh.localPos; + return; + } + + #ifdef POI_LIGHTING + if(float(0) == 1) + { + finalColor.rgb = poiLight.attenuation; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiLight.directLighting; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiLight.indirectLighting; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiLight.lightMap; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiLight.rampedLightMap; + return; + } + else if(float(0) == 6) + { + finalColor.rgb = poiLight.finalLighting; + return; + } + else if(float(0) == 7) + { + finalColor.rgb = poiLight.nDotL; + return; + } + #endif + + if(float(0) == 1) + { + finalColor.rgb = poiCam.viewDir; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiCam.tangentViewDir; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiCam.forwardDir; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiCam.worldPos; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiCam.viewDotNormal; + return; + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta new file mode 100644 index 00000000..333f118c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 49f70fd20d824724da2b368c70a37a9f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc new file mode 100644 index 00000000..280fcbc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc @@ -0,0 +1,58 @@ +#ifndef POI_DECAL + #define POI_DECAL + + POI_TEXTURE_NOSAMPLER(_DecalTexture); + POI_TEXTURE_NOSAMPLER(_DecalMask); + float4 _DecalColor; + fixed _DecalTiled; + fixed _DecalBlendAdd; + fixed _DecalBlendMultiply; + fixed _DecalBlendReplace; + half _DecalRotation; + half2 _DecalScale; + half2 _DecalPosition; + half _DecalRotationSpeed; + float _DecalEmissionStrength; + + void applyDecal(inout float4 albedo, inout float3 decalEmission) + { + float2 uv = poiMesh.uv[float(0)]; + float2 decalCenter = float4(0.5,0.5,0,0); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); + uv = remap(uv, float2(0, 0) - float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float2(0, 0), float2(1, 1)); + + half decalAlpha = 1; + //float2 uv = TRANSFORM_TEX(poiMesh.uv[float(0)], _DecalTexture) + _Time.x * float4(0,0,0,0); + float4 decalColor = POI2D_SAMPLER_PAN(_DecalTexture, _MainTex, uv, float4(0,0,0,0)) * float4(1,1,1,1); + decalAlpha *= POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if (!float(0)) + { + if(uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) + { + decalAlpha = 0; + } + } + + if(float(0)) + { + albedo.rgb = lerp(albedo.rgb, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb *= lerp(1, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb += decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + albedo = saturate(albedo); + decalEmission = decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta new file mode 100644 index 00000000..31b9c8f8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: db38a8a3bd0b31844b5943e9813f2f54 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc new file mode 100644 index 00000000..9b70067a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc @@ -0,0 +1,21 @@ +#ifndef POI_DEFINES + #define POI_DEFINES + + #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) + + #ifdef _SPECGLOSSMAP // Specular + #ifndef POI_VAR_DOTNH + #define POI_VAR_DOTNH + #endif + #ifndef POI_VAR_DOTLH + #define POI_VAR_DOTLH + #endif + #endif + + #ifdef VIGNETTE_MASKED // Lighting + #ifndef POI_VAR_DOTNL + #define POI_VAR_DOTNL + #endif + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta new file mode 100644 index 00000000..b4b3d9e1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2970e9d3de51c7941acdd792ae9a8e2a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc new file mode 100644 index 00000000..828460bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc @@ -0,0 +1,112 @@ +#ifndef POI_DEPTH_COLOR + #define POI_DEPTH_COLOR + + float4 _DepthGlowColor; + float _DepthGlowEmission; + float _FadeLength; + float _DepthAlphaMin; + float _DepthAlphaMax; + POI_TEXTURE_NOSAMPLER(_DepthGradient); + POI_TEXTURE_NOSAMPLER(_DepthMask); + float _DepthGradientTextureUV; + float _DepthGradientBlend; + + /* + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, float4 worldDirection, float4 clipPos) + { + float3 touchEmission = 0; + if (!IsInMirror()) + { + float fadeLength = _FadeLength; + fadeLength *= 0.01; + float depth = DecodeFloatRG(tex2Dproj(_CameraDepthTexture, worldDirection)); + depth = Linear01Depth(depth); + if(depth != 1) + { + float diff = distance(depth, Linear01Depth(clipPos.z)); + float intersect = 0; + if(diff > 0) + { + intersect = clamp(1 - smoothstep(0, _ProjectionParams.w * fadeLength, diff), 0, 1); + } + half4 depthGradient = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthGradient, _MainTex, intersect); + half3 depthMask = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthMask, _MainTex, poiMesh.uv[0]); + half3 depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + } + } + depthTouchEmission = touchEmission; + } + */ + + inline float CorrectedLinearEyeDepth(float z, float B) + { + return 1.0 / (z / PM._34 + B); + } + + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, in float4 worldDirection) + { + float3 touchEmission = 0; + float fadeLength = _FadeLength; + fadeLength *= 0.01; + + float perspectiveDivide = 1.0f / poiCam.clipPos.w; + float4 direction = worldDirection * perspectiveDivide; + float2 screenPos = poiCam.grabPos.xy * perspectiveDivide; + float z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenPos); + + #if UNITY_REVERSED_Z + if (z == 0) + #else + if(z == 1) + #endif + return; + + float depth = CorrectedLinearEyeDepth(z, direction.w); + float3 worldpos = direction * depth + _WorldSpaceCameraPos.xyz; + /* + finalColor.rgb = frac(worldpos); + return; + */ + + float diff = distance(worldpos, poiMesh.worldPos); + float intersect = 0; + intersect = clamp(1 - smoothstep(0, fadeLength, diff), 0, 1); + half3 depthMask = POI2D_SAMPLER_PAN(_DepthMask, _MainTex, poiMesh.uv[_DepthMaskUV], _DepthMaskPan); + + half4 depthGradient = 0; + half3 depthColor = 0; + + + if (_DepthGradientTextureUV == 0) + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, float2(intersect, intersect), _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + } + else + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, poiMesh.uv[_DepthGradientUV], _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb * intersect; + } + + + if(_DepthGradientBlend == 0) // rpelace + { + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + } + else if(_DepthGradientBlend == 1) // add + { + finalColor.rgb += depthColor * intersect * depthMask; + } + else if(_DepthGradientBlend == 2) // multiply + { + finalColor.rgb *= lerp(1, depthColor, intersect * depthMask); + } + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect * depthMask); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + + depthTouchEmission = touchEmission; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta new file mode 100644 index 00000000..e7bb6080 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b2627780f9ac28a40bb79d230e6d793b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc new file mode 100644 index 00000000..13175f00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc @@ -0,0 +1,171 @@ +#ifndef POI_DISSOLVE + #define POI_DISSOLVE + + float _DissolveType; + float _DissolveEdgeWidth; + float4 _DissolveEdgeColor; + sampler2D _DissolveEdgeGradient; float4 _DissolveEdgeGradient_ST; + float _DissolveEdgeEmission; + float4 _DissolveTextureColor; + + POI_TEXTURE_NOSAMPLER(_DissolveToTexture); + POI_TEXTURE_NOSAMPLER(_DissolveNoiseTexture); + POI_TEXTURE_NOSAMPLER(_DissolveDetailNoise); + POI_TEXTURE_NOSAMPLER(_DissolveMask); + + float _DissolveMaskInvert; + float _DissolveAlpha; + float _ContinuousDissolve; + float _DissolveDetailStrength; + float _DissolveEdgeHardness; + float _DissolveInvertNoise; + float _DissolveInvertDetailNoise; + float _DissolveToEmissionStrength; + + // Point to Point + float _DissolveP2PWorldLocal; + float _DissolveP2PEdgeLength; + float4 _DissolveStartPoint; + float4 _DissolveEndPoint; + + // World Dissolve + float _DissolveWorldShape; + float4 _DissolveShapePosition; + float4 _DissolveShapeRotation; + float _DissolveShapeScale; + float _DissolveInvertShape; + float _DissolveShapeEdgeLength; + + float _DissolveAlpha0; + float _DissolveAlpha1; + float _DissolveAlpha2; + float _DissolveAlpha3; + float _DissolveAlpha4; + float _DissolveAlpha5; + float _DissolveAlpha6; + float _DissolveAlpha7; + float _DissolveAlpha8; + float _DissolveAlpha9; + + // Masking + float _DissolveEmissionSide; + float _DissolveEmission1Side; + float _DissolveUseVertexColors; + + float4 edgeColor; + float edgeAlpha; + float dissolveAlpha; + float4 dissolveToTexture; + //Globals + + + void calculateDissolve(inout float4 albedo, inout float3 dissolveEmission) + { + + float dissolveMask = POI2D_SAMPLER_PAN(_DissolveMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + + if (float(0)) + { + // Vertex Color Imprecision hype + dissolveMask = ceil(poiMesh.vertexColor.g * 100000) / 100000; + } + + dissolveToTexture = POI2D_SAMPLER_PAN(_DissolveToTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + float dissolveNoiseTexture = POI2D_SAMPLER_PAN(_DissolveNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + float da = float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0); + da = saturate(da); + + float dds = float(0.1); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskDissolve != 4) + { + dissolveMask *= blackLightMask[_BlackLightMaskDissolve]; + } + #endif + + if(float(0)) + { + dissolveMask = 1 - dissolveMask; + } + + float dissolveDetailNoise = POI2D_SAMPLER_PAN(_DissolveDetailNoise, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(0)) + { + dissolveNoiseTexture = 1 - dissolveNoiseTexture; + } + if(float(0)) + { + dissolveDetailNoise = 1 - dissolveDetailNoise; + } + if(float(0) != 0) + { + da = sin(_Time.y * float(0)) * .5 + .5; + } + da *= dissolveMask; + dissolveAlpha = da; + edgeAlpha = 0; + + + if(float(1) == 1) // Basic + { + da = remap(da, 0, 1, -float(0.025), 1); + dissolveAlpha = da; + //Adjust detail strength to avoid artifacts + dds *= smoothstep(1, .99, da); + float noise = saturate(dissolveNoiseTexture - dissolveDetailNoise * dds); + + noise = saturate(noise + 0.001); + //noise = remap(noise, 0, 1, float(0.025), 1 - float(0.025)); + dissolveAlpha = dissolveAlpha >= noise; + edgeAlpha = remapClamped(noise, da + float(0.025), da, 0, 1) * (1 - dissolveAlpha); + } + else if (float(1) == 2) // Point to Point + { + float3 direction; + float3 currentPos; + float distanceTo = 0; + direction = normalize(float4(0,1,0,0) - float4(0,-1,0,0)); + currentPos = lerp(float4(0,-1,0,0), float4(0,1,0,0), dissolveAlpha); + if (float(0) == 0) + { + distanceTo = dot(poiMesh.localPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + else + { + distanceTo = dot(poiMesh.worldPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + } + + albedo = lerp(albedo, dissolveToTexture, dissolveAlpha); + + + if(float(0.025)) + { + edgeColor = tex2D(_DissolveEdgeGradient, TRANSFORM_TEX(float2(edgeAlpha, edgeAlpha), _DissolveEdgeGradient)) * float4(1,1,1,1); + albedo.rgb = lerp(albedo.rgb, edgeColor.rgb, smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + dissolveEmission = lerp(0, dissolveToTexture * float(0), dissolveAlpha) + lerp(0, edgeColor.rgb * float(0), smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta new file mode 100644 index 00000000..ac76579d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 935fbd176942d454e9e32bcb05f4f79b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc new file mode 100644 index 00000000..91efad39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc @@ -0,0 +1,34 @@ +#ifndef POI_DITHERING + #define POI_DITHERING + fixed _DitheringEnabled; + fixed _DitherGradient; + + half calcDither(half2 grabPos) + { + half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8)); + return dither; + } + + #ifndef POI_SHADOW + void applyDithering(inout float4 finalColor) + { + + if (float(0)) + { + half dither = calcDither(poiCam.screenUV.xy); + finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1)); + } + } + #else + void applyShadowDithering(inout float alpha, float2 screenUV) + { + + if(float(0)) + { + half dither = calcDither(screenUV); + alpha = alpha - (dither * (1 - alpha) * float(0.1)); + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta new file mode 100644 index 00000000..ca29d189 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 08d00aad25ea9804a955c1be9e6c8f32 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc new file mode 100644 index 00000000..cff31fe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc @@ -0,0 +1,240 @@ +#ifndef POI_EMISSION + #define POI_EMISSION + + float4 _EmissionColor; + POI_TEXTURE_NOSAMPLER(_EmissionMap); + POI_TEXTURE_NOSAMPLER(_EmissionMask); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve); float4 _EmissionScrollingCurve_ST; + float _EmissionBaseColorAsMap; + float _EmissionStrength; + float _EnableEmission; + float _EmissionHueShift; + float4 _EmissiveScroll_Direction; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissionBlinkingEnabled; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + float _EnableGITDEmission; + float _GITDEMinEmissionMultiplier; + float _GITDEMaxEmissionMultiplier; + float _GITDEMinLight; + float _GITDEMaxLight; + float _GITDEWorldOrMesh; + float _EmissionCenterOutEnabled; + float _EmissionCenterOutSpeed; + float _EmissionHueShiftEnabled; + float _EmissionBlinkingOffset; + float _EmissionScrollingOffset; + + float4 _EmissionColor1; + #ifdef EFFECT_HUE_VARIATION + POI_TEXTURE_NOSAMPLER(_EmissionMap1); + POI_TEXTURE_NOSAMPLER(_EmissionMask1); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve1); float4 _EmissionScrollingCurve1_ST; + #endif + float _EmissionBaseColorAsMap1; + float _EmissionStrength1; + float _EnableEmission1; + float _EmissionHueShift1; + float4 _EmissiveScroll_Direction1; + float _EmissiveScroll_Width1; + float _EmissiveScroll_Velocity1; + float _EmissiveScroll_Interval1; + float _EmissionBlinkingEnabled1; + float _EmissiveBlink_Min1; + float _EmissiveBlink_Max1; + float _EmissiveBlink_Velocity1; + float _ScrollingEmission1; + float _EnableGITDEmission1; + float _GITDEMinEmissionMultiplier1; + float _GITDEMaxEmissionMultiplier1; + float _GITDEMinLight1; + float _GITDEMaxLight1; + float _GITDEWorldOrMesh1; + float _EmissionCenterOutEnabled1; + float _EmissionCenterOutSpeed1; + float _EmissionHueShiftEnabled1; + float _EmissionBlinkingOffset1; + float _EmissionScrollingOffset1; + + float _EmissionReplace; + + float _EmissionScrollingVertexColor; + float _EmissionScrollingVertexColor1; + + float _EmissionScrollingUseCurve; + float _EmissionScrollingUseCurve1; + + float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled) + { + float glowInTheDarkMultiplier = 1; + + if (enabled) + { + #ifdef POI_LIGHTING + float3 lightValue = float(0) ? poiLight.finalLighting.rgb: poiLight.directLighting.rgb; + float gitdeAlpha = (clamp(poiMax(lightValue), minLight, maxLight) - minLight) / (maxLight - minLight); + glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); + #endif + } + return glowInTheDarkMultiplier; + } + + float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) + { + float phase = 0; + phase = dot(position, direction); + phase -= (_Time.y + offset) * velocity; + phase /= interval; + phase -= floor(phase); + phase = saturate(phase); + return(pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; + } + + float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) + { + float amplitude = (blinkMax - blinkMin) * 0.5f; + float base = blinkMin + amplitude; + return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; + } + + float3 calculateEmissionNew(in float4 baseColor, inout float4 finalColor) + { + // First Emission + float3 emission0 = 0; + float emissionStrength0 = float(0); + float3 emissionColor0 = 0; + + float glowInTheDarkMultiplier0 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + else + { + emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + + + if(float(0)) + { + float3 pos = poiMesh.localPos; + + if(float(0)) + { + pos = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve) + (dot(pos, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos); + } + } + + + if(float(0)) + { + emissionStrength0 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor0 = hueShift(emissionColor0, float(0) * float(0)); + float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask) + _Time.x * float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission != 4) + { + emissionMask0 *= blackLightMask[_BlackLightMaskEmission]; + } + #endif + + emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; + emission0 = emissionStrength0 * emissionColor0; + + #ifdef POI_DISSOLVE + + if(float(2) != 2) + { + emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + + // Second Emission + float3 emission1 = 0; + float emissionStrength1 = 0; + float3 emissionColor1 = 0; + + #ifdef EFFECT_HUE_VARIATION + emissionStrength1 = float(0); + float glowInTheDarkMultiplier1 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor1 = POI2D_SAMPLER_PAN(_EmissionMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + else + { + emissionColor1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap1, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)).rgb * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + + + if(float(0)) + { + float3 pos1 = poiMesh.localPos; + + if(float(0)) + { + pos1 = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength1 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve1) + (dot(pos1, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength1 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos1); + } + } + + if(float(0)) + { + emissionStrength1 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor1 = hueShift(emissionColor1, float(0) * float(0)); + float emissionMask1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask1) + _Time.x * float4(0,0,0,0)); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission2 != 4) + { + emissionMask1 *= blackLightMask[_BlackLightMaskEmission2]; + } + #endif + emissionStrength1 *= glowInTheDarkMultiplier1 * emissionMask1; + emission1 = emissionStrength1 * emissionColor1; + + #ifdef POI_DISSOLVE + if(float(2) != 2) + { + emission1 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + #endif + finalColor.rgb = lerp(finalColor.rgb, saturate(emissionColor0 + emissionColor1), saturate(emissionStrength0 + emissionStrength1) * float(0) * poiMax(emission0 + emission1)); + + return emission0 + emission1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta new file mode 100644 index 00000000..bf9f6908 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5e83d6f3705a2364185a162e9520dcd9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc new file mode 100644 index 00000000..1e9188ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc @@ -0,0 +1,43 @@ +#ifndef POI_ENVIRONMENTAL_RIM + #define POI_ENVIRONMENTAL_RIM + + //enviro rim + float _EnableEnvironmentalRim; + POI_TEXTURE_NOSAMPLER(_RimEnviroMask); + float _RimEnviroBlur; + float _RimEnviroMinBrightness; + float _RimEnviroWidth; + float _RimEnviroSharpness; + float _RimEnviroIntensity; + + float3 calculateEnvironmentalRimLighting(in float4 albedo) + { + float enviroRimAlpha = saturate(1 - smoothstep(min(float(0), float(0.45)), float(0.45), poiCam.viewDotNormal)); + float(0.7) *= 1.7 - 0.7 * float(0.7); + + float3 enviroRimColor = 0; + float interpolator = unity_SpecCube0_BoxMin.w; + + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + enviroRimColor = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + enviroRimColor = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + half enviroMask = poiMax(POI2D_SAMPLER_PAN(_RimEnviroMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb); + return lerp(0, max(0, (enviroRimColor - float(0)) * albedo.rgb), enviroRimAlpha).rgb * enviroMask * float(1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta new file mode 100644 index 00000000..161611eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fb6a809ba1ffa6d43842e816e9ab1f56 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc new file mode 100644 index 00000000..0ed89b59 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc @@ -0,0 +1,153 @@ +#ifndef POI_FLIPBOOK + #define POI_FLIPBOOK + + UNITY_DECLARE_TEX2DARRAY(_FlipbookTexArray); float4 _FlipbookTexArray_ST; + float4 _FlipbookColor; + float _FlipbookFPS; + float _FlipbookTotalFrames; + float4 _FlipbookScaleOffset; + float _FlipbookTiled; + float _FlipbookCurrentFrame; + float _FlipbookEmissionStrength; + float _FlipbookRotation; + float _EnableFlipbook; + float _FlipbookTexArrayUV; + float _FlipbookAlphaControlsFinalAlpha; + float _FlipbookRotationSpeed; + float _FlipbookIntensityControlsAlpha; + float _FlipbookColorReplaces; + float2 _FlipbookTexArrayPan; + + // blending + float _FlipbookReplace; + float _FlipbookMultiply; + float _FlipbookAdd; + POI_TEXTURE_NOSAMPLER(_FlipbookMask); + + // anim + float _FlipbookMovementType; + float4 _FlipbookStartEndOffset; + float _FlipbookMovementSpeed; + + // Global + float4 flipBookPixel; + float4 flipBookPixelMultiply; + float flipBookMask; + + #ifndef POI_SHADOW + + void applyFlipbook(inout float4 finalColor, inout float3 flipbookEmission) + { + flipBookMask = POI2D_SAMPLER_PAN(_FlipbookMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float2 uv = frac(poiMesh.uv[float(0)]); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + // 2d rotation + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + if (float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipBookPixel = 0; + return; + } + } + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + flipBookPixel = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipBookPixel.a = poiMax(flipBookPixel.rgb); + } + + if(float(0)) + { + flipBookPixel.rgb = float4(1,1,1,1).rgb; + } + else + { + flipBookPixel.rgb *= float4(1,1,1,1).rgb; + } + + #ifdef POI_BLACKLIGHT + + if(_BlackLightMaskFlipbook != 4) + { + flipBookMask *= blackLightMask[_BlackLightMaskFlipbook]; + } + #endif + + finalColor.rgb = lerp(finalColor, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * float(1) * flipBookMask); + finalColor.rgb = finalColor + flipBookPixel.rgb * float(0) * flipBookMask; + finalColor.rgb = finalColor * lerp(1, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * flipBookMask * float(0)); + + + if(float(0)) + { + finalColor.a = lerp(finalColor.a, flipBookPixel.a * float4(1,1,1,1).a, flipBookMask); + } + flipbookEmission = lerp(0, flipBookPixel.rgb * float(0), flipBookPixel.a * float4(1,1,1,1).a * flipBookMask); + } + + #else + + float applyFlipbookAlphaToShadow(float2 uv) + { + + if(float(0)) + { + float flipbookShadowAlpha = 0; + + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float theta = radians(float(0)); + + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + half4 flipbookColor = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipbookColor.a = poiMax(flipbookColor.rgb); + } + + + if(float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipbookColor.a = 0; + } + } + return flipbookColor.a * float4(1,1,1,1).a; + } + return 1; + } + + #endif +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta new file mode 100644 index 00000000..d76f19ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fbaa3ac9ea264384cbb733284342bfca +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc new file mode 100644 index 00000000..aa950e7d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc @@ -0,0 +1,376 @@ +#ifndef POIFRAG + #define POIFRAG + + float _MainEmissionStrength; + float _IgnoreFog; + half _GIEmissionMultiplier; + float _IridescenceTime; + float _AlphaToMask; + float _ForceOpaque; + float _commentIfZero_EnableGrabpass; + float _AlphaPremultiply; + float2 _MainTexPan; + float _MainTextureUV; + float _commentIfZero_LightingAdditiveEnable; + + float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target + { + #ifdef FORWARD_ADD_PASS + #if !defined(POI_LIGHTING) + return 0; + #endif + #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL) + return 0; + #endif + #endif + #ifdef FORWARD_ADD_PASS + + if (float(1) == 0) + { + return 0; + } + #endif + UNITY_SETUP_INSTANCE_ID(i); + // Color + float4 albedo = 1; + float4 finalColor = 1; + + // Lighting + float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication + float3 finalSpecular0 = 0; + float3 finalSpecular1 = 0; + float3 finalSSS = 0; + fixed lightingAlpha = 1; + float3 finalEnvironmentalRim = 0; + + // Emissions + float3 finalEmission = 0; + float3 finalLighting = 1; + float3 IridescenceEmission = 0; + float3 spawnInEmission = 0; + float3 voronoiEmission = 0; + float3 matcapEmission = 0; + float3 depthTouchEmission = 0; + float3 decalEmission = 0; + float3 glitterEmission = 0; + float3 panosphereEmission = 0; + float3 backFaceEmission = 0; + float3 dissolveEmission = 0; + float3 rimLightEmission = 0; + float3 flipbookEmission = 0; + float3 textOverlayEmission = 0; + float3 videoEmission = 0; + /********************************************************************** + Initialize the base data that's needed everywhere else in the shader + **********************************************************************/ + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + + #ifdef POI_BLACKLIGHT + createBlackLightMask(); + + if (_BlackLightMaskDebug) + { + return float4(blackLightMask.rgb, 1); + } + #endif + + // This has to happen in the initializbecause it alters UV data globally + #ifdef POI_PARALLAX + calculateandApplyParallax(); + #endif + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + calculateVertexLightingData(i); + /********************************************************************** + Calculate Light Maps + **********************************************************************/ + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + /********************************************************************** + Calculate Color Data + **********************************************************************/ + + initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask); + + #ifdef POI_DECAL + applyDecal(albedo, decalEmission); + #endif + + + #ifdef POI_IRIDESCENCE + + if (_IridescenceTime == 0) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VORONOI + applyVoronoi(albedo, voronoiEmission); + #endif + + #ifdef POI_MSDF + ApplyTextOverlayColor(albedo, textOverlayEmission); + #endif + + #ifdef POI_ENVIRONMENTAL_RIM + finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo); + #endif + + #if defined(POI_METAL) || defined(POI_CLEARCOAT) + CalculateReflectionData(); + #endif + + #ifdef POI_DATA + distanceFade(albedo); + #endif + + #ifdef POI_RANDOM + albedo.a *= i.angleAlpha; + #endif + + #ifdef MATCAP + applyMatcap(albedo, matcapEmission); + #endif + + #ifdef PANOSPHERE + applyPanosphereColor(albedo, panosphereEmission); + #endif + + #ifdef POI_FLIPBOOK + applyFlipbook(albedo, flipbookEmission); + #endif + + #ifdef POI_GLITTER + applyGlitter(albedo, glitterEmission); + #endif + + #ifdef POI_RIM + applyRimLighting(albedo, rimLightEmission); + #endif + + #ifdef POI_DEPTH_COLOR + applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection); + #endif + + #ifdef POI_IRIDESCENCE + + if(_IridescenceTime == 1) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VIDEO + applyScreenEffect(albedo, videoEmission); + #endif + + applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos); + + /********************************************************************** + Handle a few alpha options + **********************************************************************/ + + if (float(0) == 1) + { + + if(float(0) == 0) + { + applyDithering(albedo); + } + } + + albedo.a = max(float(0), albedo.a); + + + if(float(0) >= 1) + { + clip(albedo.a - float(0.5)); + } + + + if(float(0)) + { + albedo.rgb *= saturate(albedo.a + 0.0000000001); + } + + /********************************************************************** + Lighting Time :) + **********************************************************************/ + + #ifdef POI_LIGHTING + finalLighting = calculateFinalLighting(albedo.rgb, finalColor); + + #ifdef SUBSURFACE + finalSSS = calculateSubsurfaceScattering(); + #endif + #endif + + float4 finalColorBeforeLighting = albedo; + finalColor = finalColorBeforeLighting; + + #ifdef POI_SPECULAR + finalSpecular0 = calculateSpecular(finalColorBeforeLighting); + #endif + #ifdef POI_PARALLAX + calculateAndApplyInternalParallax(finalColor); + #endif + + #ifdef POI_ALPHA_TO_COVERAGE + ApplyAlphaToCoverage(finalColor); + #endif + + + if (float(0) == 1) + { + + if(float(0) == 1) + { + applyDithering(finalColor); + } + } + + #ifdef POI_METAL + calculateMetallicness(); + bool probeExists = shouldMetalHappenBeforeLighting(); + + if(!probeExists) + { + ApplyMetallicsFake(finalColor, albedo); + } + #endif + + #ifdef POI_LIGHTING + #if defined(FORWARD_ADD_PASS) && defined(POI_METAL) + finalLighting *= 1 - metalicMap; + #endif + #endif + + #ifdef VERTEXLIGHT_ON + finalColor.rgb *= finalLighting + poiLight.vFinalLighting; + #else + finalColor.rgb *= finalLighting; + #endif + + #ifdef POI_METAL + + if(probeExists) + { + ApplyMetallics(finalColor, albedo); + } + #endif + + finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS; + + #ifdef FORWARD_BASE_PASS + #ifdef POI_CLEARCOAT + calculateAndApplyClearCoat(finalColor); + #endif + #endif + + finalColor.a = saturate(finalColor.a); + + /********************************************************************** + Add Up all the emission values :D + **********************************************************************/ + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a; + finalEmission += wireframeEmission; + finalEmission += IridescenceEmission; + finalEmission += spawnInEmission; + finalEmission += voronoiEmission; + finalEmission += matcapEmission; + finalEmission += depthTouchEmission; + finalEmission += decalEmission; + finalEmission += glitterEmission; + finalEmission += panosphereEmission; + finalEmission += backFaceEmission; + finalEmission += rimLightEmission; + finalEmission += flipbookEmission; + finalEmission += videoEmission; + finalEmission += textOverlayEmission; + finalEmission += dissolveEmission; + #ifdef POI_EMISSION + finalEmission += calculateEmissionNew(finalColorBeforeLighting, finalColor); + #endif + #endif + + /********************************************************************** + Meta Pass Hype :D + **********************************************************************/ + #ifdef POI_META_PASS + UnityMetaInput meta; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta); + meta.Emission = finalEmission * float(1); + meta.Albedo = saturate(finalColor.rgb); + #ifdef POI_SPECULAR + meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a; + #else + meta.SpecularColor = poiLight.color.rgb * albedo.rgb; + #endif + return UnityMetaFragment(meta); + #endif + + /********************************************************************** + Apply Emission to finalColor + **********************************************************************/ + finalColor.rgb += finalEmission; + + /********************************************************************** + Grabpass features + **********************************************************************/ + + + if (_commentIfZero_EnableGrabpass) + { + applyGrabEffects(finalColor); + } + + /********************************************************************** + Unity Fog + **********************************************************************/ + #ifdef FORWARD_BASE_PASS + + if (float(0) == 0) + { + UNITY_APPLY_FOG(i.fogCoord, finalColor); + } + #endif + + #ifdef FORWARD_ADD_PASS + if(float(0) > 0) + { + finalColor.rgb *= finalColor.a; + } + #endif + + + if(float(0) == 0) + { + finalColor.a = 1; + } + + #ifdef FORWARD_ADD_PASS + //finalColor.rgb = smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5)); + #endif + + #ifdef POI_DEBUG + displayDebugInfo(finalColor); + #endif + + //finalColor.rgb = frac(finalColor.rgb); + return finalColor; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta new file mode 100644 index 00000000..bc5e9c1f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a18bcde41e77ca9418d716236e5ae9a4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc new file mode 100644 index 00000000..8d260cdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc @@ -0,0 +1,41 @@ +#ifndef POI_FUR + #define POI_FUR + + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurTexture); float4 _FurTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurHeightMap); float4 _FurHeightMap_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurMask); float4 _FurMask_ST; + float _FurAO; + float4 _FurColor; + float _FurLayers; + float _FurMinDistance; + float _FurMaxDistance; + float _FurHeightMapMin; + float _FurHeightMapMax; + float _FurDebug; + float _AoRampMin; + float _AoRampMax; + float _FurTipAlpha; + float _FurFadeStart; + + //globals + half furHeightMap; + half furMask; + + void calculateFur() + { + + furHeightMap = UNITY_SAMPLE_TEX2D_SAMPLER(_FurHeightMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurHeightMap)).x; + furHeightMap = remap(furHeightMap, 0, _FurHeightMapMax, _FurHeightMapMin, 1); + furMask = poiMax(UNITY_SAMPLE_TEX2D_SAMPLER(_FurMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurMask)).xyz); + half3 furTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_FurTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurTexture)); + clip(furHeightMap - poiMesh.furAlpha); + clip(furMask - poiMesh.furAlpha); + + albedo.rgb = lerp(mainTexture.rgb, furTexture.rgb * _FurColor.rgb, ceil(poiMesh.furAlpha)); + float aoRampMax = _AoRampMax - (1 - furMask); + albedo.rgb *= lerp(1, smoothstep(_AoRampMin, aoRampMax, furHeightMap), _FurAO); + + albedo.a *= smoothstep(1.01, _FurTipAlpha, remapClamped(poiMesh.furAlpha, _FurFadeStart, 1, 0, 1)) + float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta new file mode 100644 index 00000000..f00b911a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ce0bfd3f788f33047b48814b4cad16e6 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc new file mode 100644 index 00000000..032f3b08 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc @@ -0,0 +1,37 @@ +float _FurLength; +float _FurGravityStrength; + +[instance(4)] +[maxvertexcount(20)] +void geomFur(triangle v2f IN[3], inout TriangleStream < v2f > tristream, uint InstanceID : SV_GSInstanceID) +{ + float4 fur_worldPos[3]; + v2f o_fur[3]; + float3 offset = (float3(0, -1, 0) * (_FurLength*.9) *_FurGravityStrength); + + for (int i = 0; i < 3; i++) + { + if (InstanceID == 0) { + IN[i].furAlpha = 0; + tristream.Append(IN[i]); + } + o_fur[i] = IN[i]; + fur_worldPos[i] = float4(IN[i].worldPos + IN[i].normal * _FurLength, 1); + } + if (InstanceID == 0) { + tristream.RestartStrip(); + } + int Total_FurLayers = clamp(floor(_FurLayers * (1 - smoothstep(_FurMinDistance, _FurMaxDistance, distance(IN[0].worldPos, getCameraPosition())))), min(1, _FurLayers), _FurLayers); + + int startLayer = max(int(InstanceID) * 6 - 1, 0); + for (int layer = startLayer; layer < Total_FurLayers; layer++) { + for (int i = 0; i < 3; i++) { + o_fur[i].furAlpha = float(layer) / Total_FurLayers; + o_fur[i].worldPos = float4(lerp(IN[i].worldPos, fur_worldPos[i] + offset * o_fur[i].furAlpha, o_fur[i].furAlpha),1); + o_fur[i].pos = UnityWorldToClipPos(o_fur[i].worldPos); + o_fur[i].furAlpha += .01; + tristream.Append(o_fur[i]); + } + tristream.RestartStrip(); + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta new file mode 100644 index 00000000..0c5a4ed2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c113d4a2c9cf83244bcc3e646907bdb8 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc new file mode 100644 index 00000000..e31b6498 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc @@ -0,0 +1,232 @@ +#ifndef POI_GLITTER + #define POI_GLITTER + + half3 _GlitterColor; + POI_TEXTURE_NOSAMPLER(_GlitterMask); + float2 _GlitterPan; + POI_TEXTURE_NOSAMPLER(_GlitterColorMap); + POI_TEXTURE_NOSAMPLER(_GlitterTexture); + half _GlitterSpeed; + half _GlitterBrightness; + float _GlitterFrequency; + float _GlitterJitter; + half _GlitterSize; + half _GlitterContrast; + half _GlitterAngleRange; + half _GlitterMinBrightness; + half _GlitterBias; + float _GlitterRandomColors; + float2 _GlitterMinMaxSaturation; + float2 _GlitterMinMaxBrightness; + fixed _GlitterUseSurfaceColor; + float _GlitterBlendType; + float _GlitterMode; + float _GlitterShape; + float _GlitterCenterSize; + float _glitterFrequencyLinearEmissive; + float _GlitterJaggyFix; + float _GlitterRandomRotation; + float _GlitterTextureRotation; + float4 _GlitterMinMaxSize; + float _GlitterRandomSize; + + + float3 randomFloat3(float2 Seed, float maximum) + { + return(.5 + float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) + ) * .5) * (maximum); + } + + float3 randomFloat3Range(float2 Seed, float Range) + { + return(float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1) * Range; + } + + float3 randomFloat3WiggleRange(float2 Seed, float Range) + { + float3 rando = (float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1); + float speed = 1 + float(10); + return float3(sin((_Time.x + rando.x * pi) * speed), sin((_Time.x + rando.y * pi) * speed), sin((_Time.x + rando.z * pi) * speed)) * Range; + } + + void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out) + { + float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233))) * 43758.5453); + Out = lerp(Min, Max, randomno); + } + + float3 RandomColorFromPoint(float2 rando) + { + fixed hue = random2(rando.x + rando.y).x; + fixed saturation = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.x); + fixed value = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.y); + float3 hsv = float3(hue, saturation, value); + return HSVtoRGB(hsv); + } + + void applyGlitter(inout float4 albedo, inout float3 glitterEmission) + { + + + // Scale + float2 st = poiMesh.uv[0] * float(300); + + // Tile the space + float2 i_st = floor(st); + float2 f_st = frac(st); + + float m_dist = 10.; // minimun distance + float2 m_point = 0; // minimum point + float2 randoPoint = 0; + float2 dank; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 neighbor = float2(i, j); + float2 pos = random2(i_st + neighbor); + float2 rando = pos; + pos = 0.5 + 0.5 * sin(float(1) * 6.2831 * pos); + float2 diff = neighbor + pos - f_st; + float dist = length(diff); + + if (dist < m_dist) + { + dank = diff; + m_dist = dist; + m_point = pos; + randoPoint = rando; + } + } + } + + float randomFromPoint = random(randoPoint); + + float size = float(0.3); + + if(float(0)) + { + size = remapClamped(randomFromPoint, 0, 1, float4(0.1,0.5,0,1).x, float4(0.1,0.5,0,1).y); + } + + + // Assign a color using the closest point position + //color += dot(m_point, float2(.3, .6)); + + // Add distance field to closest point center + // color.g = m_dist; + + // Show isolines + //color -= abs(sin(40.0 * m_dist)) * 0.07; + + // Draw cell center + half glitterAlpha = 1; + switch(float(0)) + { + case 0: //circle + glitterAlpha = (1. - step(size, m_dist)); + break; + case 1: //sqaure + float jaggyFix = pow(poiCam.distanceToVert, 2) * float(0); + + + if (float(0)) + { + float2 center = float2(0, 0); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + dank = float2((dank.x - center.x) * cs - (dank.y - center.y) * sn + center.x, (dank.x - center.x) * sn + (dank.y - center.y) * cs + center.y); + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + else + { + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + break; + } + + float3 finalGlitter = 0; + + switch(float(0)) + { + case 0: + float3 randomRotation = 0; + + if(float(10) > 0) + { + randomRotation = randomFloat3WiggleRange(randoPoint, float(90)); + } + else + { + randomRotation = randomFloat3Range(randoPoint, float(90)); + } + float3 norm = poiMesh.normals[0]; + + float3 glitterReflectionDirection = normalize(mul(poiRotationMatrixFromAngles(randomRotation), norm)); + finalGlitter = lerp(0, float(0) * glitterAlpha, glitterAlpha) + max(pow(saturate(dot(lerp(glitterReflectionDirection, poiCam.viewDir, float(0.8)), poiCam.viewDir)), float(300)), 0); + finalGlitter *= glitterAlpha; + break; + case 1: + float offset = random(randoPoint); + float brightness = sin((_Time.x + offset) * float(10)) * float(20) - (float(20) - 1); + finalGlitter = max(float(0) * glitterAlpha, brightness * glitterAlpha * smoothstep(0, 1, 1 - m_dist * float(0.08) * 10)); + break; + } + + + half3 glitterColor = float4(1,1,1,1); + glitterColor *= lerp(1, albedo, float(0)); + glitterColor *= POI2D_SAMPLER_PAN(_GlitterColorMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + + float2 uv = remapClamped(dank, -size, size, 0, 1); + + if(float(0) && !float(0)) + { + float2 fakeUVCenter = float2(.5, .5); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - fakeUVCenter.x) * cs - (uv.y - fakeUVCenter.y) * sn + fakeUVCenter.x, (uv.x - fakeUVCenter.x) * sn + (uv.y - fakeUVCenter.y) * cs + fakeUVCenter.y); + } + float4 glitterTexture = POI2D_SAMPLER_PAN(_GlitterTexture, _MainTex, uv, float4(0,0,0,0)); + //float4 glitterTexture = _GlitterTexture.SampleGrad(sampler_MainTex, frac(uv), ddx(uv), ddy(uv)); + glitterColor *= glitterTexture.rgb; + float glitterMask = POI2D_SAMPLER_PAN(_GlitterMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskGlitter != 4) + { + glitterMask *= blackLightMask[_BlackLightMaskGlitter]; + } + #endif + + if(float(0)) + { + glitterColor *= RandomColorFromPoint(random2(randoPoint.x + randoPoint.y)); + } + + + if(float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, finalGlitter * glitterColor * float(3), finalGlitter * glitterTexture.a * glitterMask); + glitterEmission = finalGlitter * glitterColor * max(0, (float(3) - 1) * glitterTexture.a) * glitterMask; + } + else + { + glitterEmission = finalGlitter * glitterColor * float(3) * glitterTexture.a * glitterMask; + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta new file mode 100644 index 00000000..280fb274 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 14bd103882e7d264f8dadbf2dd8641c1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc new file mode 100644 index 00000000..060cb720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc @@ -0,0 +1,127 @@ +#ifndef POI_GRAB + #define POI_GRAB + + float _RefractionIndex; + float _RefractionOpacity; + float _RefractionChromaticAberattion; + float _RefractionEnabled; + float _GrabSrcBlend; + float _GrabDstBlend; + float _GrabPassUseAlpha; + float _GrabPassBlendFactor; + float _GrabBlurDistance; + float _GrabBlurQuality; + float _GrabBlurDirections; + POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap); + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RefractionOpacityMask); float4 _RefractionOpacityMask_ST; + + float4 blur(float2 uv) + { + float two_pi = 6.28318530718; + + float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur + float quality = floor(_GrabBlurQuality); + float directions = floor(_GrabBlurDirections); + + // Pixel colour + float4 color = tex2D(_PoiGrab, uv); + + float deltaAngle = two_pi / directions; + float deltaQuality = 1.0 / quality; + for (int i = 0; i < directions; i ++) + { + for (int j = 0; j < quality; j ++) + { + float angle = deltaAngle * i + j; + float offset = deltaQuality * (j + 1); + color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset); + } + } + + // Output to screen + color /= quality * directions + 1; + return color; + } + + inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos) + { + float4 refractionColor; + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos)); + float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0))) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir))); + float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x)); + + + if (_RefractionChromaticAberattion > 0) + { + float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction)); + float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g; + float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b; + refractionColor = float4(redAlpha.r, green, blue, redAlpha.a); + } + else + { + float2 refractedGrab = projectedGrabPos + cameraRefraction; + + #ifdef CHROMATIC_ABERRATION_LOW + refractionColor = blur(refractedGrab); + #else + refractionColor = tex2D(_PoiGrab, (refractedGrab)); + #endif + } + return refractionColor; + } + + void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor) + { + float3 refraction = 1; + + if(_RefractionEnabled == 1) + { + refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb; + } + else + { + #ifdef CHROMATIC_ABERRATION_LOW + refraction = blur(projectedGrabPos); + #else + refraction = tex2Dproj(_PoiGrab, poiCam.grabPos); + #endif + } + + float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r; + + if(_GrabPassUseAlpha) + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a)); + finalColor.a = 1; + } + else + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor); + } + } + + float2 calculateGrabPosition() + { + float4 grabPos = poiCam.grabPos; + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + float halfPosW = grabPos.w * 0.5; + grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW; + #if SHADER_API_D3D9 || SHADER_API_D3D11 + grabPos.w += 0.00000000001; + #endif + return(grabPos / grabPos.w).xy; + } + + void applyGrabEffects(inout float4 finalColor) + { + float2 projectedGrabPos = calculateGrabPosition(); + calculateRefraction(projectedGrabPos, finalColor); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta new file mode 100644 index 00000000..bd957f0f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1f70c7fbe4a76a14188b3984ca29da35 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc new file mode 100644 index 00000000..9ae9e754 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc @@ -0,0 +1,338 @@ +#ifndef POI_HELPER + #define POI_HELPER + + #include "CGI_PoiColors.cginc" + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float linearSin(float x) + { + return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0); + } + + float random(float2 p) + { + return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123); + } + + float2 random2(float2 p) + { + return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453); + } + + float3 random3(float3 p) + { + return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453); + } + + float3 mod(float3 x, float y) + { + return x - y * floor(x / y); + } + float2 mod(float2 x, float y) + { + return x - y * floor(x / y); + } + + //1/7 + #define K 0.142857142857 + //3/7 + #define Ko 0.428571428571 + + // Permutation polynomial: (34x^2 + x) mod 289 + float3 Permutation(float3 x) + { + return mod((34.0 * x + 1.0) * x, 289.0); + } + + bool IsInMirror() + { + return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; + } + + float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax) + { + #if UNITY_SPECCUBE_BOX_PROJECTION + + if (cubemapPosition.w > 0) + { + float3 factors = ((direction > 0 ? boxMax: boxMin) - position) / direction; + float scalar = min(min(factors.x, factors.y), factors.z); + direction = direction * scalar + (position - cubemapPosition); + } + #endif + return direction; + } + + // Camera + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + float3 grayscale_vector_node() + { + return float3(0, 0.3823529, 0.01845836); + } + + float3 grayscale_for_light() + { + return float3(0.298912, 0.586611, 0.114478); + } + + //Math Operators + + float remap(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float poiMax(float2 i) + { + return max(i.x, i.y); + } + + float poiMax(float3 i) + { + return max(max(i.x, i.y), i.z); + } + + float poiMax(float4 i) + { + return max(max(max(i.x, i.y), i.z), i.w); + } + + float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis) + { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, + 0.0, 0.0, 0.0, 1.0); + } + + float4x4 poiRotationMatrixFromAngles(float x, float y, float z) + { + float angleX = radians(x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + + float4x4 poiRotationMatrixFromAngles(float3 angles) + { + float angleX = radians(angles.x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(angles.y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(angles.z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + +#endif + +half2 calcScreenUVs(half4 grabPos) +{ + half2 uv = grabPos / (grabPos.w + 0.0000000001); + #if UNITY_SINGLE_PASS_STEREO + uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y); + #else + uv.xy *= _ScreenParams.xy; + #endif + + return uv; +} + +float inverseLerp(float A, float B, float T) +{ + return(T - A) / (B - A); +} + +float inverseLerp2(float2 a, float2 b, float2 value) +{ + float2 AB = b - a; + float2 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp3(float3 a, float3 b, float3 value) +{ + float3 AB = b - a; + float3 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp4(float4 a, float4 b, float4 value) +{ + float4 AB = b - a; + float4 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +// Dithering +inline half Dither8x8Bayer(int x, int y) +{ + const half dither[ 64 ] = { + 1, 49, 13, 61, 4, 52, 16, 64, + 33, 17, 45, 29, 36, 20, 48, 32, + 9, 57, 5, 53, 12, 60, 8, 56, + 41, 25, 37, 21, 44, 28, 40, 24, + 3, 51, 15, 63, 2, 50, 14, 62, + 35, 19, 47, 31, 34, 18, 46, 30, + 11, 59, 7, 55, 10, 58, 6, 54, + 43, 27, 39, 23, 42, 26, 38, 22 + }; + int r = y * 8 + x; + return dither[r] / 64; +} + +// UV Manipulation +float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv) +{ + float theta = radians(rotation); + scale = 1 - scale; + float cs = cos(theta); + float sn = sin(theta); + float2 centerPoint = offset + .5; + uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y); + + return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1)); +} + +bool isVR() +{ + // USING_STEREO_MATRICES + #if UNITY_SINGLE_PASS_STEREO + return true; + #else + return false; + #endif +} + +bool isVRHandCamera() +{ + return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005; +} + +bool isDesktop() +{ + return !isVRHandCamera(); +} + +bool isVRHandCameraPreview() +{ + return isVRHandCamera() && _ScreenParams.y == 720; +} + +bool isVRHandCameraPicture() +{ + return isVRHandCamera() && _ScreenParams.y == 1080; +} + +bool isPanorama() +{ + // Crude method + // FOV=90=camproj=[1][1] + return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025; +} + +float3 calculateluminance(float3 color) +{ + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta new file mode 100644 index 00000000..62c6842b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 207f553342c9e264da1dd110b42472e9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc new file mode 100644 index 00000000..6ee66d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc @@ -0,0 +1,36 @@ +#ifndef POI_HOLOGRAM + #define POI_HOLOGRAM + + UNITY_DECLARE_TEX2D_NOSAMPLER(_HoloAlphaMap); float4 _HoloAlphaMap_ST; + float _HoloCoordinateSpace; // 0 World, 1 Local, 2 UV + float3 _HoloDirection; + float _HoloScrollSpeed; + float _HoloLineDensity; + + fixed _HoloFresnelAlpha; + fixed _HoloRimSharpness; + fixed _HoloRimWidth; + void ApplyHoloAlpha(inout float4 color) + { + float uv = 0; + + if (_HoloCoordinateSpace == 0) + { + uv = dot(normalize(_HoloDirection), poiMesh.worldPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 1) + { + uv = dot(normalize(_HoloDirection), poiMesh.localPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 2) + { + uv = dot(_HoloDirection, poiMesh.uv[0] * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + float holoRim = saturate(1 - smoothstep(min(_HoloRimSharpness, _HoloRimWidth), _HoloRimWidth, poiCam.viewDotNormal)); + holoRim = abs(lerp(1, holoRim, _HoloFresnelAlpha)); + color.a *= UNITY_SAMPLE_TEX2D_SAMPLER(_HoloAlphaMap, _MainTex, uv).r * holoRim; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta new file mode 100644 index 00000000..3a042a11 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b4febbc31048e654ba6d7760ccea2f4b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc new file mode 100644 index 00000000..bcea8ccc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc @@ -0,0 +1,61 @@ +#ifndef POI_IRIDESCENCE + #define POI_IRIDESCENCE + + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceRamp); float4 _IridescenceRamp_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceMask); float4 _IridescenceMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceNormalMap); float4 _IridescenceNormalMap_ST; + float _IridescenceNormalUV; + float _IridescenceMaskUV; + float _IridescenceNormalSelection; + float _IridescenceNormalIntensity; + float _IridescenceNormalToggle; + float _IridescenceIntensity; + fixed _IridescenceAddBlend; + fixed _IridescenceReplaceBlend; + fixed _IridescenceMultiplyBlend; + float _IridescenceEmissionStrength; + + //global + + float3 calculateNormal(float3 baseNormal) + { + float3 normal = UnpackScaleNormal(UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceNormalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceNormalUV], _IridescenceNormalMap)), _IridescenceNormalIntensity); + return normalize( + normal.x * poiMesh.tangent + + normal.y * poiMesh.binormal + + normal.z * baseNormal + ); + } + + void applyIridescence(inout float4 albedo, inout float3 IridescenceEmission) + { + float3 normal = poiMesh.normals[_IridescenceNormalSelection]; + + // Use custom normal map + + if (_IridescenceNormalToggle) + { + normal = calculateNormal(normal); + } + + float ndotv = dot(normal, poiCam.viewDir); + + float4 iridescenceColor = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceRamp, _MainTex, 1 - abs(ndotv)); + float4 iridescenceMask = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceMaskUV], _IridescenceMask)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskIridescence != 4) + { + iridescenceMask *= blackLightMask[_BlackLightMaskIridescence]; + } + #endif + + + albedo.rgb = lerp(albedo.rgb, saturate(iridescenceColor.rgb * _IridescenceIntensity), iridescenceColor.a * _IridescenceReplaceBlend * iridescenceMask); + albedo.rgb += saturate(iridescenceColor.rgb * _IridescenceIntensity * iridescenceColor.a * _IridescenceAddBlend * iridescenceMask); + albedo.rgb *= saturate(lerp(1, iridescenceColor.rgb * _IridescenceIntensity, iridescenceColor.a * _IridescenceMultiplyBlend * iridescenceMask)); + + IridescenceEmission = saturate(iridescenceColor.rgb * _IridescenceIntensity) * iridescenceColor.a * iridescenceMask * _IridescenceEmissionStrength; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta new file mode 100644 index 00000000..dd8a504f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b9e55c1111e5c5c4cb075aa0015162d0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc new file mode 100644 index 00000000..8f35cb62 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc @@ -0,0 +1,668 @@ + +#ifndef POI_LIGHTING + #define POI_LIGHTING + + float _LightingShadingEnabled; + float _LightingRampType; + float _LightingIgnoreAmbientColor; + float _UseShadowTexture; + float _LightingEnableAO; + float _LightingDetailShadowsEnabled; + + float _LightingOnlyUnityShadows; + float _LightingMode; + float _ForceLightDirection; + float _ShadowStrength; + float _OutlineShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _CastedShadowSmoothing; + float _AttenuationMultiplier; + float _EnableLighting; + float _LightingControlledUseLightColor; + fixed _LightingStandardSmoothness; + fixed _LightingStandardControlsToon; + fixed _LightingMinLightBrightness; + float _LightingUseShadowRamp; + float _LightingMinShadowBrightnessRatio; + UNITY_DECLARE_TEX2D(_ToonRamp); + fixed _LightingMonochromatic; + + fixed _LightingGradientStart; + fixed _LightingGradientEnd; + float3 _LightingShadowColor; + POI_TEXTURE_NOSAMPLER(_LightingShadowTexture); + float _AOStrength; + fixed _LightingDetailStrength; + fixed _LightingAdditiveDetailStrength; + fixed _LightingNoIndirectMultiplier; + fixed _LightingNoIndirectThreshold; + float _LightingUncapped; + + float _LightingDirectColorMode; + float _LightingIndirectColorMode; + float _LightingAdditiveType; + fixed _LightingAdditiveGradientStart; + fixed _LightingAdditiveGradientEnd; + fixed _LightingAdditivePassthrough; + float _LightingDirectAdjustment; + float _LightingIndirect; + // HSL JUNK + float _LightingEnableHSL; + float _LightingShadowHue; + float _LightingShadowSaturation; + float _LightingShadowLightness; + float _LightingHSLIntensity; + /* + UNITY_DECLARE_TEX2D_NOSAMPLER(_ToonRamp3); + half _LightingShadowStrength3; + half _ShadowOffset3; + */ + + half4 shadowStrength; + + POI_TEXTURE_NOSAMPLER(_LightingDetailShadows); + POI_TEXTURE_NOSAMPLER(_LightingAOTex); + POI_TEXTURE_NOSAMPLER(_LightingShadowMask); + + /* + * MIT License + * + * Copyright (c) 2018 s-ilent + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + /* + * Silent's code starts here + */ + + float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n) + { + // average energy + float R0 = max(0, L0); + + // avg direction of incoming light + float3 R1 = 0.5f * L1; + + // directional brightness + float lenR1 = length(R1); + + // linear angle between normal and direction 0-1 + //float q = 0.5f * (1.0f + dot(R1 / lenR1, n)); + //float q = dot(R1 / lenR1, n) * 0.5 + 0.5; + float q = dot(normalize(R1), n) * 0.5 + 0.5; + q = saturate(q); // Thanks to ScruffyRuffles for the bug identity. + + // power for q + // lerps from 1 (linear) to 3 (cubic) based on directionality + float p = 1.0f + 2.0f * lenR1 / R0; + + // dynamic range constant + // should vary between 4 (highly directional) and 0 (ambient) + float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0); + + return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p)); + } + + half3 BetterSH9(half4 normal) + { + float3 indirect; + float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0; + indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal); + indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal); + indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal); + indirect = max(0, indirect); + indirect += SHEvalLinearL2(normal); + return indirect; + } + + float3 BetterSH9(float3 normal) + { + return BetterSH9(float4(normal, 1)); + } + + /* + * Standard stuff starts here + */ + UnityLight CreateLight(float3 normal, fixed detailShadowMap) + { + UnityLight light; + light.dir = poiLight.direction; + light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap); + light.ndotl = DotClamped(normal, poiLight.direction); + return light; + } + + float FadeShadows(float attenuation) + { + #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + // UNITY_LIGHT_ATTENUATION doesn't fade shadows for us. + + #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + attenuation = lerp(1, poiLight.attenuation, float(0)); + #endif + + float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); + float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ); + float shadowFade = UnityComputeShadowFade(shadowFadeDistance); + float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); + attenuation = UnityMixRealtimeAndBakedShadows( + attenuation, bakedAttenuation, shadowFade + ); + #endif + + return attenuation; + } + + void ApplySubtractiveLighting(inout UnityIndirect indirectLight) + { + #if SUBTRACTIVE_LIGHTING + poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0))); + + float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz)); + float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb; + float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate; + subtractedLight = max(subtractedLight, unity_ShadowColor.rgb); + subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x); + indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse); + #endif + } + + float3 weightedBlend(float3 layer1, float3 layer2, float2 weights) + { + return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y); + } + + UnityIndirect CreateIndirectLight(float3 normal) + { + UnityIndirect indirectLight; + indirectLight.diffuse = 0; + indirectLight.specular = 0; + + #if defined(FORWARD_BASE_PASS) + #if defined(LIGHTMAP_ON) + indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy)); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy + ); + indirectLight.diffuse = DecodeDirectionalLightmap( + indirectLight.diffuse, lightmapDirection, normal + ); + #endif + ApplySubtractiveLighting(indirectLight); + #endif + + #if defined(DYNAMICLIGHTMAP_ON) + float3 dynamicLightDiffuse = DecodeRealtimeLightmap( + UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw) + ); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_DynamicDirectionality, unity_DynamicLightmap, + poiMesh.lightmapUV.zw + ); + indirectLight.diffuse += DecodeDirectionalLightmap( + dynamicLightDiffuse, dynamicLightmapDirection, normal + ); + #else + indirectLight.diffuse += dynamicLightDiffuse; + #endif + #endif + + #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON) + #if UNITY_LIGHT_PROBE_PROXY_VOLUME + if (unity_ProbeVolumeParams.x == 1) + { + indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume( + float4(normal, 1), poiMesh.worldPos + ); + indirectLight.diffuse = max(0, indirectLight.diffuse); + #if defined(UNITY_COLORSPACE_GAMMA) + indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse); + #endif + } + else + { + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + } + #else + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + #endif + #endif + + float3 reflectionDir = reflect(-poiCam.viewDir, normal); + Unity_GlossyEnvironmentData envData; + envData.roughness = 1 - float(0); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + #if UNITY_SPECCUBE_BLENDING + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + indirectLight.specular = lerp(probe1, probe0, interpolator); + } + else + { + indirectLight.specular = probe0; + } + #else + indirectLight.specular = probe0; + #endif + float occlusion = 1; + + if(float(0)) + { + occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + } + + indirectLight.diffuse *= occlusion; + indirectLight.diffuse = max(indirectLight.diffuse, float(0)); + indirectLight.specular *= occlusion; + #endif + + return indirectLight; + } + + /* + * Poiyomi's cool as heck code starts here :smug: + */ + + half PoiDiffuse(half NdotV, half NdotL, half LdotH) + { + half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5); + // Two schlick fresnel term + half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL)); + half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV)); + + return lightScatter * viewScatter; + } + + float3 ShadeSH9Indirect() + { + return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Direct() + { + return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Normal(float3 normalDirection) + { + return ShadeSH9(half4(normalDirection, 1.0)); + } + + half3 GetSHLength() + { + half3 x, x1; + x.r = length(unity_SHAr); + x.g = length(unity_SHAg); + x.b = length(unity_SHAb); + x1.r = length(unity_SHBr); + x1.g = length(unity_SHBg); + x1.b = length(unity_SHBb); + return x + x1; + } + + float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap) + { + return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])); + } + + void calculateBasePassLightMaps() + { + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + float AOMap = 1; + float AOStrength = 1; + float3 lightColor = poiLight.color; + /* + * Generate Basic Light Maps + */ + + bool lightExists = false; + if (all(_LightColor0.rgb >= 0.002)) + { + lightExists = true; + } + #ifndef OUTLINE + + if(float(0)) + { + AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + AOStrength = float(1); + } + + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + if (lightExists) + { + lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + } + else + { + lightColor = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + } + + //lightColor = magic * magiratio + normalLight * normaRatio; + //lightColor = magic + normalLight; + #endif + #endif + + float3 grayscale_vector = float3(.33333, .33333, .33333); + float3 ShadeSH9Plus = GetSHLength(); + float3 ShadeSH9Minus = BetterSH9(float4(0, 0, 0, 1)); + + shadowStrength = 1; + #ifndef OUTLINE + shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(1); + #else + shadowStrength = float(1); + #endif + + float bw_lightColor = dot(lightColor, grayscale_vector); + float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector)); + float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector); + float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector); + float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); + + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(0)) + { + poiLight.lightMap = poiLight.attenuation; + } + else + { + poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); + } + poiLight.lightMap *= detailShadow; + + /* + * Decide on light colors + */ + + float3 indirectLighting = 0; + float3 directLighting = 0; + + + + + if (float(0) == 1) + { + indirectLighting = BetterSH9(float4(poiMesh.normals[0], 1)); + } + else + { + indirectLighting = ShadeSH9Minus; + } + + poiLight.directLighting = lightColor; + poiLight.indirectLighting = indirectLighting; + + + if(float(0) == 0) + { + float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + + float magiLumi = calculateluminance(magic); + float normaLumi = calculateluminance(normalLight); + float maginormalumi = magiLumi + normaLumi; + + float magiratio = magiLumi / maginormalumi; + float normaRatio = normaLumi / maginormalumi; + + float target = calculateluminance(magic * magiratio + normalLight * normaRatio); + float3 properLightColor = magic + normalLight; + float properLuminance = calculateluminance(magic + normalLight); + directLighting = properLightColor * max(0.0001, (target / properLuminance)); + } + else + { + directLighting = lightColor; + } + + + if(!float(0)) + { + float directluminance = calculateluminance(directLighting); + float indirectluminance = calculateluminance(indirectLighting); + directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1))); + indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1))); + } + + directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0)); + indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0)); + + if(max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0) + { + indirectLighting = directLighting * _LightingNoIndirectMultiplier; + } + + + if(float(0)) + { + float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1); + if(directluminance > 0) + { + indirectLighting = max(0.001, indirectLighting); + } + float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1); + float targetluminance = directluminance * float(0); + if(indirectluminance < targetluminance) + { + indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance); + } + } + + /* + * Create Shade Maps + */ + + if (float(0)) + { + switch(float(0)) + { + case 0: // Ramp Texture + { + poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)), shadowStrength.r); + + if (float(0)) + { + poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + else + { + poiLight.finalLighting = lerp(indirectLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + } + break; + case 1: // Math Gradient + { + poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)); + float3 shadowColor = float4(1,1,1,1); + + if (float(0)) + { + shadowColor = 1; + } + + if(float(0)) + { + poiLight.finalLighting = lerp((directLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + else + { + poiLight.finalLighting = lerp((indirectLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + } + break; + } + } + else + { + poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap); + poiLight.finalLighting = directLighting; + } + + if(!float(0)) + { + poiLight.finalLighting = saturate(poiLight.finalLighting); + } + //poiLight.finalLighting *= .8; + #endif + } + + void applyShadowTexture(inout float4 albedo) + { + + if (float(0) && float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, POI2D_SAMPLER_PAN(_LightingShadowTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1), (1 - poiLight.rampedLightMap) * shadowStrength); + } + } + + float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL) + { + fixed detailShadow = 1; + + if(float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + return lightColor * attenuationDotNL * detailShadow; + } + else + { + return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow; + } + } + + + float3 calculateFinalLighting(inout float3 albedo, float4 finalColor) + { + float3 finalLighting = 1; + // Additive Lighting + #ifdef FORWARD_ADD_PASS + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow; + } + else + { + #if defined(POINT) || defined(SPOT) + finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow; + #else + finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow; + #endif + } + #endif + + // Base and Meta Lighting + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + #ifdef VERTEXLIGHT_ON + poiLight.vFinalLighting = 0; + + for (int index = 0; index < 4; index ++) + { + poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vCorrectedDotNL[index]); + } + #endif + + switch(float(0)) + { + case 0: // Toon Lighting + { + // HSL Shading + + if (float(0)) + { + float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap); + albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1)); + } + + // Normal Shading + + if (float(0) > 0) + { + poiLight.finalLighting = max(0.001, poiLight.finalLighting); + float finalluminance = calculateluminance(poiLight.finalLighting); + finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0)))); + } + else + { + finalLighting = poiLight.finalLighting; + } + } + break; + case 1: // realistic + { + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb; + finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0)); + } + break; + } + #endif + return finalLighting; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta new file mode 100644 index 00000000..68e0cab6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3fac1d1604e0941418e918bdbbead085 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc new file mode 100644 index 00000000..c23736df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc @@ -0,0 +1,243 @@ +#ifndef POI_MSDF + #define POI_MSDF + + sampler2D _TextGlyphs; + float4 _TextGlyphs_ST; + float4 _TextGlyphs_TexelSize; + float _TextFPSUV; + float _TextTimeUV; + float _TextPositionUV; + float _TextPixelRange; + + float _TextFPSEnabled; + float _TextPositionEnabled; + float _TextTimeEnabled; + + + float4 _TextFPSColor; + half _TextFPSEmissionStrength; + fixed4 _TextFPSPadding; + half2 _TextFPSOffset; + half2 _TextFPSScale; + half _TextFPSRotation; + + fixed _TextPositionVertical; + float4 _TextPositionColor; + half _TextPositionEmissionStrength; + fixed4 _TextPositionPadding; + half2 _TextPositionOffset; + half2 _TextPositionScale; + half _TextPositionRotation; + + float4 _TextTimeColor; + half _TextTimeEmissionStrength; + fixed4 _TextTimePadding; + half2 _TextTimeOffset; + half2 _TextTimeScale; + half _TextTimeRotation; + + #define glyphWidth 0.0625 + + #define ASCII_LEFT_PARENTHESIS 40 + #define ASCII_RIGHT_PARENTHESIS 41 + #define ASCII_POSITIVE 43 + #define ASCII_PERIOD 46 + #define ASCII_NEGATIVE 45 + #define ASCII_COMMA 44 + #define ASCII_E 69 + #define ASCII_F 70 + #define ASCII_I 73 + #define ASCII_M 77 + #define ASCII_O 79 + #define ASCII_P 80 + #define ASCII_S 83 + #define ASCII_T 54 + #define ASCII_SEMICOLON 58 + + float3 globalTextEmission; + + half2 getAsciiCoordinate(float index) + { + return half2((index - 1) / 16, 1 - ((floor(index / 16 - glyphWidth)) / 16)); + } + + float median(float r, float g, float b) + { + return max(min(r, g), min(max(r, g), b)); + } + + void ApplyPositionText(inout float4 albedo, float2 uv) + { + float3 cameraPos = clamp(getCameraPosition(), -999, 999); + float3 absCameraPos = abs(cameraPos); + float totalCharacters = 20; + float positionArray[20]; + positionArray[0] = cameraPos.x >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[1] = floor((absCameraPos.x * .01) % 10) + 48; + positionArray[2] = floor((absCameraPos.x * .1) % 10) + 48; + positionArray[3] = floor(absCameraPos.x % 10) + 48; + positionArray[4] = ASCII_PERIOD; + positionArray[5] = floor((absCameraPos.x * 10) % 10) + 48; + positionArray[6] = ASCII_COMMA; + positionArray[7] = cameraPos.y >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[8] = floor((absCameraPos.y * .01) % 10) + 48; + positionArray[9] = floor((absCameraPos.y * .1) % 10) + 48; + positionArray[10] = floor(absCameraPos.y % 10) + 48; + positionArray[11] = ASCII_PERIOD; + positionArray[12] = floor((absCameraPos.y * 10) % 10) + 48; + positionArray[13] = ASCII_COMMA; + positionArray[14] = cameraPos.z >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[15] = floor((absCameraPos.z * .01) % 10) + 48; + positionArray[16] = floor((absCameraPos.z * .1) % 10) + 48; + positionArray[17] = floor(absCameraPos.z % 10) + 48; + positionArray[18] = ASCII_PERIOD; + positionArray[19] = floor((absCameraPos.z * 10) % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if (uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(positionArray[currentCharacter]); + + float2 startUV = float2(1 / totalCharacters * currentCharacter, 0); + float2 endUV = float2(1 / totalCharacters * (currentCharacter + 1), 1); + + fixed4 textPositionPadding = float4(0,0,0,0); + textPositionPadding *= 1 / totalCharacters; + uv = remapClamped(uv, startUV, endUV, float2(glyphPos.x + textPositionPadding.x, glyphPos.y - glyphWidth + textPositionPadding.y), float2(glyphPos.x + glyphWidth - textPositionPadding.z, glyphPos.y - textPositionPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textPositionPadding.z - .001 || uv.x < glyphPos.x + textPositionPadding.x + .001 || uv.y > glyphPos.y - textPositionPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textPositionPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyTimeText(inout float4 albedo, float2 uv) + { + float instanceTime = _Time.y; + float hours = instanceTime / 3600; + float minutes = (instanceTime / 60) % 60; + float seconds = instanceTime % 60; + float totalCharacters = 8; + float timeArray[8]; + timeArray[0] = floor((hours * .1) % 10) + 48; + timeArray[1] = floor(hours % 10) + 48; + timeArray[2] = ASCII_SEMICOLON; + timeArray[3] = floor((minutes * .1) % 10) + 48; + timeArray[4] = floor(minutes % 10) + 48; + timeArray[5] = ASCII_SEMICOLON; + timeArray[6] = floor((seconds * .1) % 10) + 48; + timeArray[7] = floor(seconds % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(timeArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + fixed4 textTimePadding = float4(0,0,0,0); + textTimePadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textTimePadding.x, glyphPos.y - glyphWidth + textTimePadding.y), float2(glyphPos.x + glyphWidth - textTimePadding.z, glyphPos.y - textTimePadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textTimePadding.z - .001 || uv.x < glyphPos.x + textTimePadding.x + .001 || uv.y > glyphPos.y - textTimePadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textTimePadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyFPSText(inout float4 albedo, float2 uv) + { + float smoothDeltaTime = clamp(unity_DeltaTime.w, 0, 999); + float totalCharacters = 7; + float fpsArray[7]; + fpsArray[0] = ASCII_F; + fpsArray[1] = ASCII_P; + fpsArray[2] = ASCII_S; + fpsArray[3] = ASCII_SEMICOLON; + fpsArray[4] = floor((smoothDeltaTime * .01) % 10) + 48; + fpsArray[5] = floor((smoothDeltaTime * .1) % 10) + 48; + fpsArray[6] = floor(smoothDeltaTime % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(fpsArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + + fixed4 textFPSPadding = float4(0,0,0,0); + textFPSPadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textFPSPadding.x, glyphPos.y - glyphWidth + textFPSPadding.y), float2(glyphPos.x + glyphWidth - textFPSPadding.z, glyphPos.y - textFPSPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textFPSPadding.z - .001 || uv.x < glyphPos.x + textFPSPadding.x + .001 || uv.y > glyphPos.y - textFPSPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textFPSPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,1,1,1).rgb, opacity * float4(1,1,1,1).a); + globalTextEmission += float4(1,1,1,1).rgb * opacity * float(0); + } + + void ApplyTextOverlayColor(inout float4 albedo, inout float3 textOverlayEmission) + { + globalTextEmission = 0; + half positionalOpacity = 0; + #ifdef EFFECT_BUMP + + if(float(0)) + { + ApplyFPSText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyPositionText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyTimeText(albedo, poiMesh.uv[float(0)]); + } + + textOverlayEmission = globalTextEmission; + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta new file mode 100644 index 00000000..b7f01f70 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8c7857846fdf3b448aeb4cf8b286fed9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc new file mode 100644 index 00000000..ecac0805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc @@ -0,0 +1,33 @@ +#ifndef POI_MACROS + #define POI_MACROS + + #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale + + #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex))) + #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + + #ifdef POINT + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; + #endif + + #ifdef SPOT + #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)) + #else + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord + #endif + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + DECLARE_LIGHT_COORD(input, worldPos); \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta new file mode 100644 index 00000000..0d8ac9a9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 2ed1c3f807df4a740b11116242d5adca +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc new file mode 100644 index 00000000..270384af --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc @@ -0,0 +1,147 @@ +#ifndef POI_MAINTEXTURE + #define POI_MAINTEXTURE + + + + POI_TEXTURE_NOSAMPLER(_AlphaMask); + POI_TEXTURE_NOSAMPLER(_MainFadeTexture); + float4 _Color; + float _MainVertexColoring; + float _MainUseVertexColorAlpha; + float _Saturation; + float2 _MainDistanceFade; + half _MainMinAlpha; + float _MainHueShift; + #ifdef COLOR_GRADING_HDR + POI_TEXTURE_NOSAMPLER(_MainHueShiftMask); + float _MainHueShiftToggle; + float _MainHueShiftSpeed; + float _MainHueShiftReplace; + #endif + + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailTex); + half _DetailTexIntensity; + half3 _DetailTint; + float _DetailBrightness; + #endif + //globals + float alphaMask; + half3 diffColor; + + #include "CGI_PoiBackFace.cginc" + + float3 wireframeEmission; + + inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo) + { + half4 specGloss = 0; + half3 specColor = specGloss.rgb; + half smoothness = specGloss.a; + + half oneMinusReflectivity; + diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specColor, /*out*/ oneMinusReflectivity); + + FragmentCommonData o = (FragmentCommonData)0; + o.diffColor = diffColor; + o.specColor = specColor; + o.oneMinusReflectivity = oneMinusReflectivity; + o.smoothness = smoothness; + return o; + } + + inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo) + { + i_tex = i_tex; + + FragmentCommonData o = SpecularSetup(i_tex, albedo); + o.normalWorld = float4(0, 0, 0, 1); + o.eyeVec = poiCam.viewDir; + o.posWorld = i_posWorld; + + // NOTE: shader relies on pre-multiply alpha-blend (float(1) = One, float(0) = OneMinusSrcAlpha) + o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha); + return o; + } + + void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask) + { + dissolveEmission = 0; + + #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + #endif + + alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + mainTexture.a *= alphaMask; + + #ifndef POI_SHADOW + albedo = float4(lerp(mainTexture.rgb, dot(mainTexture.rgb, float3(0.3, 0.59, 0.11)), -float(0)) * max(float4(1,1,1,1).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, GammaToLinearSpace(poiMesh.vertexColor.rgb), float(0)), mainTexture.a * max(float4(1,1,1,1).a, 0.0000001)); + + #ifdef POI_LIGHTING + applyShadowTexture(albedo); + #endif + + albedo *= lerp(1, poiMesh.vertexColor.a, float(0)); + #ifdef POI_RGBMASK + albedo.rgb = calculateRGBMask(albedo.rgb); + #endif + + albedo.a = saturate(float(0) + albedo.a); + + wireframeEmission = 0; + #ifdef POI_WIREFRAME + applyWireframe(wireframeEmission, albedo); + #endif + float backFaceDetailIntensity = 1; + + float mixedHueShift = float(0); + applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission); + + #ifdef POI_FUR + calculateFur(); + #endif + + #ifdef COLOR_GRADING_HDR + float hueShiftAlpha = POI2D_SAMPLER_PAN(_MainHueShiftMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if(float(1)) + { + albedo.rgb = lerp(albedo.rgb, hueShift(albedo.rgb, mixedHueShift + float(0) * _Time.x), hueShiftAlpha); + } + else + { + albedo.rgb = hueShift(albedo.rgb, frac((mixedHueShift - (1 - hueShiftAlpha) + float(0) * _Time.x))); + } + #endif + #ifdef FINALPASS + half3 detailTexture = POI2D_SAMPLER_PAN(_DetailTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb * float4(1,1,1,1).rgb; + albedo.rgb *= LerpWhiteTo(detailTexture * float(1) * unity_ColorSpaceDouble.rgb, detailMask.r * float(1) * backFaceDetailIntensity); + #endif + albedo.rgb = saturate(albedo.rgb); + + #ifdef POI_HOLOGRAM + ApplyHoloAlpha(albedo); + #endif + + s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo); + #endif + + #ifdef DISTORT + calculateDissolve(albedo, dissolveEmission); + #endif + } + + void distanceFade(inout float4 albedo) + { + half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(fadeMap) + { + half fadeValue = max(smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, poiCam.distanceToVert), float(0)); + albedo.a *= fadeValue; + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta new file mode 100644 index 00000000..361a927e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 95d7ba66235d7084794afdbcdda81191 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc new file mode 100644 index 00000000..3aa6d6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc @@ -0,0 +1,115 @@ +#ifndef MATCAP + #define MATCAP + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap); float4 _Matcap_ST; + POI_TEXTURE_NOSAMPLER(_MatcapMask); + float _MatcapMaskInvert; + float _MatcapBorder; + float4 _MatcapColor; + float _MatcapIntensity; + float _MatcapReplace; + float _MatcapMultiply; + float _MatcapAdd; + float _MatcapEnable; + float _MatcapLightMask; + float _MatcapEmissionStrength; + float _MatcapNormal; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap2);float4 _Matcap2_ST; + POI_TEXTURE_NOSAMPLER(_Matcap2Mask); + float _Matcap2MaskInvert; + float _Matcap2Border; + float4 _Matcap2Color; + float _Matcap2Intensity; + float _Matcap2Replace; + float _Matcap2Multiply; + float _Matcap2Add; + float _Matcap2Enable; + float _Matcap2LightMask; + float _Matcap2EmissionStrength; + float _Matcap2Normal; + + void blendMatcap(inout float4 finalColor, float add, float multiply, float replace, float4 matcapColor, float matcapMask, inout float3 matcapEmission, float emissionStrength + #ifdef POI_LIGHTING + , float matcapLightMask + #endif + #ifdef POI_BLACKLIGHT + , uint blackLightMaskIndex + #endif + ) + { + #ifdef POI_LIGHTING + if (matcapLightMask) + { + matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); + } + #endif + #ifdef POI_BLACKLIGHT + if(blackLightMaskIndex != 4) + { + matcapMask *= blackLightMask[blackLightMaskIndex]; + } + #endif + + finalColor.rgb = lerp(finalColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a); + finalColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); + finalColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; + matcapEmission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; + } + + void applyMatcap(inout float4 finalColor, inout float3 matcapEmission) + { + float4 matcap = 0; + float matcapMask = 0; + float4 matcap2 = 0; + float matcap2Mask = 0; + + // Both matcaps use the same coordinates + half3 worldViewUp = normalize(half3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); + + // Matcap 1 + half2 matcapUV = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + + matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(1,1,1,1); + matcap.rgb *= float(1); + matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if (float(0)) + { + matcapMask = 1 - matcapMask; + } + + blendMatcap(finalColor, float(0), float(0), float(1), matcap, matcapMask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap + #endif + ); + + // Matcap 2 + + if (float(0)) + { + half2 matcapUV2 = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + matcap2 = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap2, _MainTex, TRANSFORM_TEX(matcapUV2, _Matcap2)) * float4(1,1,1,1); + matcap2.rgb *= float(1); + matcap2Mask = POI2D_SAMPLER_PAN(_Matcap2Mask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(float(0)) + { + matcap2Mask = 1 - matcap2Mask; + } + blendMatcap(finalColor, float(0), float(0), float(0), matcap2, matcap2Mask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap2 + #endif + ); + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta new file mode 100644 index 00000000..693bf544 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c618857578234f14ea9113f3922e15fa +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc new file mode 100644 index 00000000..b2d07a38 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc @@ -0,0 +1,104 @@ +/* +MIT License + +Copyright (c) 2019 wraikny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +VertexTransformShader is dependent on: +*/ + +#ifndef POI_MATH + #define POI_MATH + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float4 quaternion_conjugate(float4 v) + { + return float4( + v.x, -v.yzw + ); + } + + float4 quaternion_mul(float4 v1, float4 v2) + { + float4 result1 = (v1.x * v2 + v1 * v2.x); + + float4 result2 = float4( + - dot(v1.yzw, v2.yzw), + cross(v1.yzw, v2.yzw) + ); + + return float4(result1 + result2); + } + + // angle : radians + float4 get_quaternion_from_angle(float3 axis, float angle) + { + return float4( + cos(angle / 2.0), + normalize(axis) * sin(angle / 2.0) + ); + } + + float4 quaternion_from_vector(float3 inVec) + { + return float4(0.0, inVec); + } + + float degree_to_radius(float degree) + { + return( + degree / 180.0 * pi + ); + } + + float3 rotate_with_quaternion(float3 inVec, float3 rotation) + { + float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x)); + float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y)); + float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z)); + + #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C)) + float4 quaternion = normalize(MUL3(qx, qy, qz)); + float4 conjugate = quaternion_conjugate(quaternion); + + float4 inVecQ = quaternion_from_vector(inVec); + + float3 rotated = ( + MUL3(quaternion, inVecQ, conjugate) + ).yzw; + + return rotated; + } + + float4 transform(float4 input, float4 pos, float4 rotation, float4 scale) + { + input.rgb *= (scale.xyz * scale.w); + input = float4( + rotate_with_quaternion(input.xyz, rotation.xyz * rotation.w) + + (pos.xyz * pos.w), + input.w + ); + return input; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta new file mode 100644 index 00000000..8c53b6e9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 0bb8d4d59aece77489e6cc1e5f733084 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc new file mode 100644 index 00000000..916f65eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc @@ -0,0 +1,130 @@ +#ifndef POI_METAL + #define POI_METAL + + samplerCUBE _CubeMap; + float _SampleWorld; + POI_TEXTURE_NOSAMPLER(_MetallicMask); + POI_TEXTURE_NOSAMPLER(_SmoothnessMask); + float _Metallic; + float _InvertSmoothness; + float _Smoothness; + float _EnableMetallic; + float3 _MetalReflectionTint; + POI_TEXTURE_NOSAMPLER(_MetallicTintMap); + + float3 finalreflections; + float metalicMap; + float3 reflection; + float roughness; + float lighty_boy_uwu_var; + + bool shouldMetalHappenBeforeLighting() + { + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool probeExists = !(unity_SpecCube0_HDR.a == 0 && envSample.a == 0); + return probeExists && !float(0); + } + + float3 fresnelRelflection(in float4 albedo) + { + half3 dotNV = 1 - abs(poiLight.nDotV); + half f = dotNV * dotNV * dotNV * dotNV; + //f *= i_sold.fresnel; + return lerp(lerp(DielectricSpec.rgb, albedo.rgb, metalicMap), saturate(1 - roughness + metalicMap), f); + } + + void calculateMetallicness() + { + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + } + + void ApplyMetallics(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflection = lerp(probe1, probe0, interpolator); + } + else + { + reflection = probe0; + } + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } + + void ApplyMetallicsFake(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + reflection = texCUBElod(_CubeMap, float4(poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta new file mode 100644 index 00000000..d61a1ca1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 276a29606fd84954bb4b6bc5def61948 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc new file mode 100644 index 00000000..8bb16398 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc @@ -0,0 +1,77 @@ +#ifndef POI_MIRROR + #define POI_MIRROR + + float _Mirror; + float _EnableMirrorTexture; + POI_TEXTURE_NOSAMPLER(_MirrorTexture); + + + void applyMirrorRenderVert(inout float4 vertex) + { + + if (float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + void applyMirrorRenderFrag() + { + + if(float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + void applyMirrorTexture(inout float4 mainTexture) + { + + if(float(0)) + { + if(IsInMirror()) + { + mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + } + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta new file mode 100644 index 00000000..08db908b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 73b9025f4341f0e419f177971f434e8b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc new file mode 100644 index 00000000..62e63c91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc @@ -0,0 +1,107 @@ +float _OutlineRimLightBlend; +float _OutlineLit; +float _OutlineTintMix; +float2 _MainTexPan; +float _MainTextureUV; + +float4 frag(v2f i, uint facing: SV_IsFrontFace): COLOR +{ + float4 finalColor = 1; + + if (float(0)) + { + UNITY_SETUP_INSTANCE_ID(i); + + float3 finalEmission = 0; + float4 albedo = 1; + + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + float3 uselessData0; + float3 uselessData1; + initTextureData(albedo, mainTexture, uselessData0, uselessData1, detailMask); + + + fixed4 col = mainTexture; + float alphaMultiplier = smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(getCameraPosition(), i.worldPos)); + float OutlineMask = tex2D(_OutlineMask, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0)).r; + clip(OutlineMask * float(0) - 0.001); + + col = col * 0.00000000001 + tex2D(_OutlineTexture, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineTexture) + _Time.x * float4(0,0,0,0) ); + col.a *= albedo.a; + col.a *= alphaMultiplier; + + #ifdef POI_RANDOM + col.a *= i.angleAlpha; + #endif + + poiCam.screenUV = calcScreenUVs(i.grabPos); + col.a *= float4(1,1,1,1).a; + + + if(float(0) == 1) + { + applyDithering(col); + } + + clip(col.a - float(0.5)); + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + + if(float(0) == 1) + { + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + col.rgb = mainTexture.rgb; + } + else if(float(0) == 2) + { + col.rgb = lerp(col.rgb, poiLight.color, float(0)); + } + col.rgb *= float4(1,1,1,1).rgb; + + if(float(0) == 1) + { + col.rgb = lerp(col.rgb, mainTexture.rgb, float(0)); + } + + finalColor = col; + + #ifdef POI_LIGHTING + + if(float(1)) + { + finalColor.rgb *= calculateFinalLighting(finalColor.rgb, finalColor); + } + #endif + finalColor.rgb += (col.rgb * float(0)); + } + else + { + clip(-1); + } + return finalColor; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta new file mode 100644 index 00000000..9851a562 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a40beeff875b06148a7176c114b67bbf +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc new file mode 100644 index 00000000..900e9e43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc @@ -0,0 +1,105 @@ +#ifndef OutlineVert + #define OutlineVert + + #include "CGI_PoiV2F.cginc" + + float _OutlineMode; + float4 _OutlinePersonaDirection; + float4 _OutlineDropShadowOffset; + float _OutlineUseVertexColors; + float _OutlineFixedSize; + float _commentIfZero_EnableOutlinePass; + + sampler2D _OutlineMask; float4 _OutlineMask_ST; float2 _OutlineMaskPan; float _OutlineMaskUV; + v2f vert(appdata v) + { + + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + + float2 uvArray[4]; + uvArray[0] = o.uv0.xy; + uvArray[1] = o.uv0.zw; + uvArray[2] = o.uv1.xy; + uvArray[3] = o.uv1.zw; + + #ifdef POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + o.uv0.xy = v.uv0 + _OutlineGlobalPan.xy * _Time.y; + float outlineMask = 1; + + outlineMask = poiMax(tex2Dlod(_OutlineMask, float4(TRANSFORM_TEX(uvArray[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0), 0, 0)).rgb); + + if (float(0) == 2) + { + outlineMask *= v.color.r; + } + + + if(float(0) != 1) + { + o.normal = UnityObjectToWorldNormal(v.normal); + } + else + { + o.normal = UnityObjectToWorldNormal(v.color); + } + + + half offsetMultiplier = 1; + half distanceOffset = 1; + + if(float(0)) + { + distanceOffset *= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex).xyz); + } + + float3 offset = o.normal * (float(0) * float(0) / 100) * outlineMask * distanceOffset; + + + if(float(0) == 2) + { + float3 lightDirection = poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + offsetMultiplier = saturate(dot(lightDirection, o.normal)); + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 3) + { + half3 viewNormal = mul((float3x3)UNITY_MATRIX_V, o.normal); + offsetMultiplier = saturate(dot(viewNormal.xy, normalize(float4(1,0,0,0).xy))); + + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 4) + { + offset = mul((float3x3)transpose(UNITY_MATRIX_V), float4(1,0,0,0)); + offset *= distanceOffset; + } + + o.worldPos = mul(unity_ObjectToWorld, v.vertex) + float4(offset, 0); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.pos = UnityWorldToClipPos(o.worldPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0); + UNITY_TRANSFER_FOG(o, o.pos); + return o; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta new file mode 100644 index 00000000..dce3091c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f182533e67feee34bbac956f0b4c6903 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc new file mode 100644 index 00000000..da64a89d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc @@ -0,0 +1,63 @@ +#ifndef PANOSPHERE + #define PANOSPHERE + + sampler2D _PanosphereTexture; float4 _PanosphereTexture_ST; + POI_TEXTURE_NOSAMPLER(_PanoMask); + float _PanoEmission; + float _PanoBlend; + float4 _PanosphereColor; + float3 _PanospherePan; + float _PanoToggle; + float _PanoCubeMapToggle; + float _PanoInfiniteStereoToggle; + samplerCUBE _PanoCubeMap; half4 _PanoCubeMap_HDR; + + float3 panoColor; + float panoMask; + + float2 projectIt(float3 coords) + { + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude + _Time.y * float4(0,0,0,0).x, latitude + _Time.y * float4(0,0,0,0).y) * float2(1.0 / UNITY_PI, 1.0 / UNITY_PI); + sphereCoords = float2(1.0, 1.0) - sphereCoords; + return(sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; + } + + void applyPanosphereColor(inout float4 albedo, inout float3 panosphereEmission) + { + panoMask = POI2D_SAMPLER_PAN(_PanoMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskPanosphere != 4) + { + panoMask *= blackLightMask[_BlackLightMaskPanosphere]; + } + #endif + + + if(float(0)) + { + float3 cubeUV = mul(poiRotationMatrixFromAngles(float4(0,0,0,0).xyz * _Time.y), float4(-poiCam.viewDir, 1)); + half4 cubemap = texCUBE(_PanoCubeMap, cubeUV); + panoColor = DecodeHDR(cubemap, _PanoCubeMap_HDR); + } + else + { + float2 uv = projectIt(normalize(lerp(getCameraPosition().xyz, poiCam.worldPos.xyz, float(0)) - poiMesh.worldPos.xyz) * - 1); + + float2 ddxuv = ddx(uv); + float2 ddyuv = ddy(uv); + if(any(fwidth(uv) > .5)) + { + ddxuv = ddyuv = 0.001; + } + panoColor = tex2D(_PanosphereTexture, TRANSFORM_TEX(uv, _PanosphereTexture), ddxuv, ddyuv).rgb * float4(1,1,1,1).rgb; + } + panosphereEmission = panoColor * float(0) * panoMask * float(0); + albedo.rgb = lerp(albedo.rgb, panoColor, float(0) * panoMask); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta new file mode 100644 index 00000000..550f9147 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 05a4f9bf7eb91fa44a87792a0a0f0ae9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc new file mode 100644 index 00000000..6cd94900 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc @@ -0,0 +1,143 @@ +#ifndef POI_PARALLAX + #define POI_PARALLAX + + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxHeightMap); float4 _ParallaxHeightMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxHeightMapMask); + float2 _ParallaxHeightMapPan; + float _ParallaxStrength; + float _ParallaxHeightMapEnabled; + float _ParallaxUV; + + //Internal + float _ParallaxInternalMapEnabled; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxInternalMap); float4 _ParallaxInternalMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxInternalMapMask); + float _ParallaxInternalIterations; + float _ParallaxInternalMinDepth; + float _ParallaxInternalMaxDepth; + float _ParallaxInternalMinFade; + float _ParallaxInternalMaxFade; + float4 _ParallaxInternalMinColor; + float4 _ParallaxInternalMaxColor; + float4 _ParallaxInternalPanSpeed; + float4 _ParallaxInternalPanDepthSpeed; + float _ParallaxInternalHeightmapMode; + float _ParallaxInternalHeightFromAlpha; + + float GetParallaxHeight(float2 uv) + { + return clamp(UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxHeightMap, _MainTex, TRANSFORM_TEX(uv, _ParallaxHeightMap) + _Time.x * float4(0,0,0,0)).g, 0, .99999); + } + /* + float2 ParallaxOffset(float2 viewDir) + { + float height = GetParallaxHeight(); + height -= 0.5; + height *= float(0); + return viewDir * height; + } + */ + float2 ParallaxRaymarching(float2 viewDir) + { + float2 uvOffset = 0; + float stepSize = 0.1; + float2 uvDelta = viewDir * (stepSize * float(0)); + + float stepHeight = 1; + float surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)]); + + + float2 prevUVOffset = uvOffset; + float prevStepHeight = stepHeight; + float prevSurfaceHeight = surfaceHeight; + + for (int i = 1; i < 10 && stepHeight > surfaceHeight; i ++) + { + prevUVOffset = uvOffset; + prevStepHeight = stepHeight; + prevSurfaceHeight = surfaceHeight; + + uvOffset -= uvDelta; + stepHeight -= stepSize; + surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)] + uvOffset); + } + + float prevDifference = prevStepHeight - prevSurfaceHeight; + float difference = surfaceHeight - stepHeight; + float t = prevDifference / (prevDifference + difference); + uvOffset = prevUVOffset -uvDelta * t; + + return uvOffset *= POI2D_SAMPLER_PAN(_ParallaxHeightMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + + void calculateandApplyParallax() + { + + if (float(0)) + { + float2 parallaxOffset = ParallaxRaymarching(poiCam.tangentViewDir.xy); + + if(float(0) == 0) + { + poiMesh.uv[0] += parallaxOffset; + } + + if(float(0) == 1) + { + poiMesh.uv[1] += parallaxOffset; + } + + if(float(0) == 2) + { + poiMesh.uv[2] += parallaxOffset; + } + + if(float(0) == 3) + { + poiMesh.uv[3] += parallaxOffset; + } + } + } + + void calculateAndApplyInternalParallax(inout float4 finalColor) + { + #if defined(_PARALLAXMAP) + + if(float(0)) + { + float3 parallax = 0; + + for (int j = float(1); j > 0; j --) + { + float ratio = (float)j / float(1); + float2 parallaxOffset = _Time.y * (float4(0,0,0,0) + (1 - ratio) * float4(0,0,0,0)); + float fade = lerp(float(0), float(1), ratio); + float4 parallaxColor = UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxInternalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _ParallaxInternalMap) + lerp(float(0), float(1), ratio) * - poiCam.tangentViewDir.xy + parallaxOffset); + float3 parallaxTint = lerp(float4(1,1,1,1), float4(1,1,1,1), ratio); + float parallaxHeight; + if(float(0)) + { + parallaxTint *= parallaxColor.rgb; + parallaxHeight = parallaxColor.a; + } + else + { + parallaxHeight = parallaxColor.r; + } + //float parallaxColor *= lerp(float4(1,1,1,1), float4(1,1,1,1), 1 - ratio); + + if (float(0) == 1) + { + parallax = lerp(parallax, parallaxTint * fade, parallaxHeight >= 1 - ratio); + } + else + { + parallax += parallaxTint * parallaxHeight * fade; + } + } + //parallax /= float(1); + finalColor.rgb += parallax * POI2D_SAMPLER_PAN(_ParallaxInternalMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta new file mode 100644 index 00000000..2eb5d8a4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ac6d79975f57f4e408119ccf321f2678 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc new file mode 100644 index 00000000..81230e8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc @@ -0,0 +1,233 @@ +/* +USED--------------------------------------------- +"_PARALLAXMAP", +"_REQUIRE_UV2", +"_SUNDISK_NONE", +"_DETAIL_MULX2", +"_GLOSSYREFLECTIONS_OFF", +"_METALLICGLOSSMAP", +"_COLORADDSUBDIFF_ON", +"_SPECGLOSSMAP", +"_TERRAIN_NORMAL_MAP", +"_SUNDISK_SIMPLE", +"_EMISSION", +"_COLORCOLOR_ON", +"_COLOROVERLAY_ON", +"_ALPHAMODULATE_ON", +"_SUNDISK_HIGH_QUALITY", +"_MAPPING_6_FRAMES_LAYOUT", +"_NORMALMAP" +"EFFECT_BUMP", +"BLOOM", +"BLOOM_LOW", +"GRAIN", +"DEPTH_OF_FIELD", +"USER_LUT", +"CHROMATIC_ABERRATION_LOW", +"BLOOM_LENS_DIRT", +"_FADING_ON", +"CHROMATIC_ABERRATION", +"DISTORT", +"GEOM_TYPE_BRANCH", +"_SPECULARHIGHLIGHTS_OFF", +"_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", +"EFFECT_HUE_VARIATION", +"GEOM_TYPE_LEAF", +"GEOM_TYPE_MESH", +"FINALPASS", +"AUTO_EXPOSURE" +"VIGNETTE", +"VIGNETTE_MASKED", +"COLOR_GRADING_HDR", + +UNUSED------------------------------------------- +"_ALPHABLEND_ON", +"_ALPHAPREMULTIPLY_ON", +"_ALPHATEST_ON", +"GEOM_TYPE_BRANCH_DETAIL", +"GEOM_TYPE_FROND", +"PIXELSNAP_ON", +"SOFTPARTICLES_ON", +"DITHERING", +"TONEMAPPING_NEUTRAL", +"TONEMAPPING_FILMIC", +"TONEMAPPING_ACES", +"TONEMAPPING_CUSTOM", +"DEPTH_OF_FIELD_COC_VIEW", +"COLOR_GRADING", +"COLOR_GRADING_LOG_VIEW", +"VIGNETTE_CLASSIC", +"COLOR_GRADING_HDR_3D", + +DO NOT USE ----------------------------------------- +"BILLBOARD_FACE_CAMERA_POS", +*/ + + +#ifndef POI_PASS + #define POI_PASS + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #ifdef POI_META_PASS + #include "UnityMetaPass.cginc" + #endif + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + + #include "CGI_PoiSpawnInVert.cginc" + + #include "CGI_PoiV2F.cginc" + + #ifdef BLOOM_LOW + #include "CGI_PoiBulge.cginc" + #endif + + #include "CGI_PoiVert.cginc" + + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + + #include "CGI_PoiDithering.cginc" + + #ifdef _PARALLAXMAP + #include "CGI_PoiParallax.cginc" + #endif + + #ifdef USER_LUT + #include "CGI_PoiUVDistortion.cginc" + #endif + + #ifdef VIGNETTE + #include "CGI_PoiRGBMask.cginc" + #endif + + #include "CGI_PoiData.cginc" + + #ifdef _SPECULARHIGHLIGHTS_OFF + #include "CGI_PoiBlackLight.cginc" + #endif + + #include "CGI_PoiSpawnInFrag.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + + #ifdef DEPTH_OF_FIELD + #include "CGI_PoiHologram.cginc" + #endif + + #ifdef BLOOM_LENS_DIRT + #include "CGI_PoiIridescence.cginc" + #endif + + + #ifdef FUR + #include "CGI_PoiFur.cginc" + #include "CGI_PoiGeomFur.cginc" + #endif + + #ifdef VIGNETTE_MASKED + #include "CGI_PoiLighting.cginc" + #endif + + #include "CGI_PoiMainTex.cginc" + + #ifdef GEOM_TYPE_BRANCH + #include "CGI_PoiDecal.cginc" + #endif + + #ifdef CHROMATIC_ABERRATION + #include "CGI_PoiVoronoi.cginc" + #endif + + #ifdef _DETAIL_MULX2 + #include "CGI_PoiPanosphere.cginc" + #endif + + #ifdef EFFECT_BUMP + #include "CGI_PoiMSDF.cginc" + #endif + + #ifdef GRAIN + #include "CGI_PoiDepthColor.cginc" + #endif + + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _GLOSSYREFLECTIONS_OFF + #include "CGI_PoiRimLighting.cginc" + #endif + + #ifdef _MAPPING_6_FRAMES_LAYOUT + #include "CGI_PoiEnvironmentalRimLighting.cginc" + #endif + + #ifdef _METALLICGLOSSMAP + #include "CGI_PoiMetal.cginc" + #endif + + #ifdef _COLORADDSUBDIFF_ON + #include "CGI_PoiMatcap.cginc" + #endif + + #ifdef _SPECGLOSSMAP + #include "CGI_PoiSpecular.cginc" + #endif + + #ifdef BLOOM + #include "CGI_PoiVideo.cginc" + #endif + + #ifdef _TERRAIN_NORMAL_MAP + #include "CGI_PoiSubsurfaceScattering.cginc" + #endif + + #include "CGI_PoiBlending.cginc" + #include "CGI_PoiGrab.cginc" + + #ifdef _SUNDISK_SIMPLE + #include "CGI_PoiGlitter.cginc" + #endif + + #ifdef _EMISSION + #include "CGI_PoiEmission.cginc" + #endif + + #ifdef _COLORCOLOR_ON + #include "CGI_PoiClearCoat.cginc" + #endif + + #include "CGI_PoiAlphaToCoverage.cginc" + + #ifdef _COLOROVERLAY_ON + #include "CGI_PoiDebug.cginc" + #endif + #include "CGI_PoiFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta new file mode 100644 index 00000000..6289dae8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cee636d90a5feb5488517a81df69fb47 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc new file mode 100644 index 00000000..5e365972 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc @@ -0,0 +1,26 @@ +#ifndef POI_PASS_OUTLINE + #define POI_PASS_OUTLINE + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "CGI_PoiMacros.cginc" + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiOutlineVert.cginc" + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiLighting.cginc" + #include "CGI_PoiMainTex.cginc" + #include "CGI_PoiData.cginc" + #include "CGI_PoiDithering.cginc" + #include "CGI_PoiOutlineFrag.cginc" +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta new file mode 100644 index 00000000..08ddb6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dd7f551613d2167459e42d2fd84b3e80 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc new file mode 100644 index 00000000..d21a5d4d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc @@ -0,0 +1,44 @@ +#ifndef POI_PASS_SHADOW + #define POI_PASS_SHADOW + + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiShadowIncludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiMirror.cginc" + #include "CGI_PoiSpawnInFrag.cginc" + + #include "CGI_PoiV2F.cginc" + #include "CGI_PoiData.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + #include "CGI_PoiDithering.cginc" + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + #include "CGI_PoiSpawnInVert.cginc" + #include "CGI_PoiShadowVert.cginc" + #include "CGI_PoiShadowFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta new file mode 100644 index 00000000..fe80c991 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 19b1e0b3159a6c84e8acbe206724102d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc new file mode 100644 index 00000000..d4cd1697 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc @@ -0,0 +1,131 @@ +#ifndef POI_RGBMASK + #define POI_RGBMASK + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RGBMask); float4 _RGBMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RedTexure); float4 _RedTexure_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GreenTexture); float4 _GreenTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlueTexture); float4 _BlueTexture_ST; + + #ifdef GEOM_TYPE_MESH + POI_NORMAL_NOSAMPLER(_RgbNormalR); + POI_NORMAL_NOSAMPLER(_RgbNormalG); + POI_NORMAL_NOSAMPLER(_RgbNormalB); + float _RgbNormalsEnabled; + #endif + + float4 _RedColor; + float4 _GreenColor; + float4 _BlueColor; + + float4 _RGBMaskPanning; + float4 _RGBRedPanning; + float4 _RGBGreenPanning; + float4 _RGBBluePanning; + + float _RGBBlendMultiplicative; + + float _RGBMaskUV; + float _RGBRed_UV; + float _RGBGreen_UV; + float _RGBBlue_UV; + float _RGBUseVertexColors; + float _RGBNormalBlend; + + static float3 rgbMask; + + void calculateRGBNormals(inout half3 mainTangentSpaceNormal) + { + #ifdef GEOM_TYPE_MESH + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + + if(float(0)) + { + + if(float(0) == 0) + { + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.r); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.g); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.b); + } + return; + } + else + { + half3 newNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0) * rgbMask.r); + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.g); + normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.b); + mainTangentSpaceNormal = BlendNormals(newNormal, mainTangentSpaceNormal); + return; + } + } + #endif + } + + float3 calculateRGBMask(float3 baseColor) + { + //If RGB normals are in use this data will already exist + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + float4 red = POI2D_SAMPLER_PAN(_RedTexure, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 green = POI2D_SAMPLER_PAN(_GreenTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 blue = POI2D_SAMPLER_PAN(_BlueTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + + if(float(0)) + { + float3 RGBColor = 1; + RGBColor = lerp(RGBColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + baseColor *= RGBColor; + } + else + { + baseColor = lerp(baseColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + } + + return baseColor; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta new file mode 100644 index 00000000..2f593acb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ca1c5a00b4c519442adf54b0383a6c4b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc new file mode 100644 index 00000000..137ef6de --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc @@ -0,0 +1,4 @@ +#ifndef POI_RNG + #define POI_RNG + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta new file mode 100644 index 00000000..4ed3bad7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 98d084b8c7e925e46b8e861c81482a7e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..11f3eea2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,41 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + float _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin; + float _CameraAngleMax; + float _ModelAngleMin; + float _ModelAngleMax; + float _AngleMinAlpha; + float _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = float(45) / 180; + half cameraAngleMax = float(90) / 180; + half modelAngleMin = float(45) / 180; + half modelAngleMax = float(90) / 180; + float3 pos = float(0) == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(float4(0,0,1,0)))); + half cameraLookAtModel = remapClamped(.5 * dot(cameraToModelDirection, getCameraForward()) + .5, cameraAngleMax, cameraAngleMin, 0, 1); + half modelLookAtCamera = remapClamped(.5 * dot(-cameraToModelDirection, modelForwardDirection) + .5, modelAngleMax, modelAngleMin, 0, 1); + if (float(0) == 0) + { + return max(cameraLookAtModel, float(0)); + } + else if(float(0) == 1) + { + return max(modelLookAtCamera, float(0)); + } + else if(float(0) == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, float(0)); + } + return 1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta new file mode 100644 index 00000000..9fe884bd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 56544dbd90aa82344820fdd1299e6d3a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc new file mode 100644 index 00000000..d4571c0c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc @@ -0,0 +1,47 @@ +#ifndef POI_RIM + #define POI_RIM + + float4 _RimLightColor; + float _RimLightingInvert; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float _ShadowMix; + float _ShadowMixThreshold; + float _ShadowMixWidthMod; + float _EnableRimLighting; + float _RimBrighten; + float _RimLightNormal; + + POI_TEXTURE_NOSAMPLER(_RimTex); + POI_TEXTURE_NOSAMPLER(_RimMask); + POI_TEXTURE_NOSAMPLER(_RimWidthNoiseTexture); + + float _RimWidthNoiseStrength; + + float4 rimColor = float4(0, 0, 0, 0); + float rim = 0; + + void applyRimLighting(inout float4 albedo, inout float3 rimLightEmission) + { + float rimNoise = POI2D_SAMPLER_PAN(_RimWidthNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimNoise = (rimNoise - .5) * float(0.1); + + float viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + + if (float(0)) + { + viewDotNormal = 1 - abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + } + float rimWidth = float(0.8); + rimWidth -= rimNoise; + float rimMask = POI2D_SAMPLER_PAN(_RimMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimColor = POI2D_SAMPLER_PAN(_RimTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + rimWidth = max(lerp(rimWidth, rimWidth * lerp(0, 1, poiLight.lightMap - float(0.5)) * float(0.5), float(0)),0); + rim = 1 - smoothstep(min(float(0.25), rimWidth), rimWidth, viewDotNormal); + rim *= float4(1,1,1,1).a * rimColor.a * rimMask; + rimLightEmission = rim * lerp(albedo, rimColor, float(0)) * float(0); + albedo.rgb = lerp(albedo.rgb, lerp(albedo.rgb, rimColor, float(0)) + lerp(albedo.rgb, rimColor, float(0)) * float(0), rim); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta new file mode 100644 index 00000000..f4749333 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 468d0607ecd2c9a47a75518df39f88b5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc new file mode 100644 index 00000000..16701f61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc @@ -0,0 +1,116 @@ +#ifndef SHADOW_FRAG + #define SHADOW_FRAG + + float2 _MainDistanceFade; + float _ForceOpaque; + float _MainShadowClipMod; + float2 _AlphaMaskPan; + float _AlphaMaskUV; + sampler3D _DitherMaskLOD; + float2 _MainTexPan; + float _MainTextureUV; + + half4 fragShadowCaster( + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + V2FShadow i, uint facing: SV_IsFrontFace + #endif + ): SV_Target + { + poiMesh.uv[0] = i.uv; + poiMesh.uv[1] = i.uv1; + poiMesh.uv[2] = i.uv2; + poiMesh.uv[3] = i.uv3; + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + + + //Possible Bug with clip + float clipValue = clamp(float(0.5) + float(0), - .001, 1.001); + + poiMesh.vertexColor = saturate(i.vertexColor); + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + #if defined(UNITY_STANDARD_USE_SHADOW_UVS) + + half4 alpha = mainTexture; + + + if (float(0)) + { + if(IsInMirror()) + { + alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a; + } + } + + + alpha.a *= smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(i.modelPos, _WorldSpaceCameraPos)); + half alphaMask = POI2D_PAN(_AlphaMask, poiMesh.uv[float(0)], float4(0,0,0,0)); + alpha.a *= alphaMask; + alpha.a *= float4(1,1,1,1).a + .0001; + alpha.a += float(0); + alpha.a = saturate(alpha.a); + + + if(float(0) == 0) + { + alpha.a = 1; + } + + + if(float(0) == 1) + { + applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy); + } + + #ifdef POI_DISSOLVE + float3 fakeEmission = 1; + calculateDissolve(alpha, fakeEmission); + #endif + + if(float(0) == 1) + { + clip(alpha.a - 0.001); + } + + /* + return poiMesh.vertexColor.g; + + #ifdef POI_RANDOM + alpha.a *= i.angleAlpha; + #endif + + + if(float(0) >= 1) + { + applySpawnInShadow(uv[0], i.localPos); + + #if defined(POI_FLIPBOOK) + alpha.a *= applyFlipbookAlphaToShadow(uv[float(0)]); + #endif + } + */ + + if (float(0) == 1) + { + clip(alpha.a - clipValue); + } + + + if(float(0) > 1) + { + float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a; + clip(dither - 0.01); + } + + #endif + SHADOW_CASTER_FRAGMENT(i) + } + + #endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta new file mode 100644 index 00000000..ee1ee4a6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 82a172e7c170aee4b9d8caf8127507f0 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc new file mode 100644 index 00000000..fd8f19a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc @@ -0,0 +1,41 @@ +#ifndef SHADOW_INCLUDES + #define SHADOW_INCLUDES + + #define UNITY_STANDARD_USE_SHADOW_UVS 1 + + float4 _Color; + sampler2D _AlphaMask; float4 _AlphaMask_ST; + + struct VertexInputShadow + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + struct V2FShadow + { + V2F_SHADOW_CASTER_NOPOS + float4 pos: SV_POSITION; + float2 uv: TEXCOORD1; + float2 uv1: TEXCOORD2; + float2 uv2: TEXCOORD3; + float2 uv3: TEXCOORD4; + float3 modelPos: TEXCOORD5; + float4 worldPos: TEXCOORD6; + float4 localPos: TEXCOORD7; + float3 angleAlpha: TEXCOORD8; + float4 grabPos: TEXCOORD9; + fixed3 barycentricCoordinates: TEXCOORD10; + float4 vertexColor: TEXCOORD11; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta new file mode 100644 index 00000000..a036a249 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a4d26700f18883f47be693349efa2e2a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc new file mode 100644 index 00000000..f0b7184a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc @@ -0,0 +1,80 @@ +float _EnableTouchGlow; +float _EnableBulge; +float _VertexManipulationHeightUV; + +V2FShadow vertShadowCaster(VertexInputShadow v) +{ + V2FShadow o; + UNITY_SETUP_INSTANCE_ID(v); + + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(V2FShadow, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.uv = v.uv0; + o.uv1 = v.uv1; + o.uv2 = v.uv2; + o.uv3 = v.uv3; + + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, v.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.vertexColor = v.color; + + + if(_EnableTouchGlow || _EnableBulge) + { + o.pos = UnityObjectToClipPos(float3(0, 0, -5)); + o.localPos.xyz = float3(0, 0, -5); + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + } + + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + + o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal); + o.pos = UnityApplyLinearShadowBias(o.pos); + + return o; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta new file mode 100644 index 00000000..b9ed6bf8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c7967752719e5064cb3d95e841069ca9 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc new file mode 100644 index 00000000..0c18d1ad --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc @@ -0,0 +1,58 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + #endif + + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST; + + float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos) + { + + if (_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + spawnInEmission = saturate(inverseGradient + _SpawnInAlpha + _SpawnInEmissionOffset +noise - 1) * _SpawnInEmissionColor; + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } + + void applySpawnInShadow(float2 uv, float3 localPos) + { + + if(_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float alpha = gradient - _SpawnInAlpha - noise + length(_SpawnInVertOffset); + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta new file mode 100644 index 00000000..3876be8b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 56c1b7b7aca7e68428f38b38733d2fd7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc new file mode 100644 index 00000000..fdcc457f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc @@ -0,0 +1,40 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + + #endif + //sampler2D _SpawnInNoiseVert; float4 _SpawnInNoiseVert_ST; + + float calculateGradientValueVert(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv) + { + + if (_EnableScifiSpawnIn) + { + float noise = 0; + float gradient = calculateGradientValueVert(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + worldPos.xyz += saturate(inverseGradient + _SpawnInAlpha + _SpawnInVertOffsetOffset -1) * float3(0, _SpawnInVertOffset, 0); + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + //float noise = tex2Dlod(_SpawnInNoise, float4(TRANSFORM_TEX(uv, _SpawnInNoise))).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta new file mode 100644 index 00000000..37916b5c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1e93b29d64aad304f80fa6bf30f8b85f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc new file mode 100644 index 00000000..f5287465 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc @@ -0,0 +1,488 @@ +#ifndef POI_SPECULAR + #define POI_SPECULAR + float _SpecWhatTangent; + float _SpecularType; + float _SmoothnessFrom; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap); + POI_TEXTURE_NOSAMPLER(_SpecularMap); + fixed _CenterOutSpecColor; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro); + float _SpecularAnisoJitterMirrored; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoFakeUV); + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap); + POI_TEXTURE_NOSAMPLER(_SpecularMask); + float _SpecularAnisoJitterMicroMultiplier; + float _SpecularAnisoJitterMacroMultiplier; + float4 _SpecularTint; + float _SpecularSmoothness; + float _Spec1Offset; + float _Spec1JitterStrength; + float _Spec2Smoothness; + float _Spec2Offset; + float _Spec2JitterStrength; + float _AnisoUseTangentMap; + float _AnisoSpec1Alpha; + float _AnisoSpec2Alpha; + float _SpecularInvertSmoothness; + half _SpecularMetallic; + float _SpecularNormal; + float _SpecularNormal1; + // Toon + fixed _SpecularToonStart; + fixed _SpecularToonEnd; + half4 _SpecularToonInnerOuter; + + float _EnableSpecular1; + float _SpecWhatTangent1; + float _SpecularType1; + float _SmoothnessFrom1; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMap1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro1); + float _SpecularAnisoJitterMirrored1; + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMask1); + float _SpecularAnisoJitterMicroMultiplier1; + float _SpecularAnisoJitterMacroMultiplier1; + float4 _SpecularTint1; + float _SpecularSmoothness1; + float _Spec1Offset1; + float _Spec1JitterStrength1; + float _Spec2Smoothness1; + float _Spec2Offset1; + float _Spec2JitterStrength1; + float _AnisoUseTangentMap1; + float _AnisoSpec1Alpha1; + float _AnisoSpec2Alpha1; + float _SpecularInvertSmoothness1; + half _SpecularMetallic1; + // Toon + half4 _SpecularToonInnerOuter1; + fixed _SpecularToonStart1; + fixed _SpecularToonEnd1; + + UnityIndirect ZeroIndirect() + { + UnityIndirect ind; + ind.diffuse = 0; + ind.specular = 0; + return ind; + } + + // From unity just putting it here in case I want to mod it + half4 poiRealisticSpecular(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, + float3 normal, float3 halfDir, + UnityLight light, UnityIndirect gi) + { + float perceptualRoughness = SmoothnessToPerceptualRoughness(smoothness); + #define UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV 0 + + #if UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV + half shiftAmount = dot(normal, poiCam.viewDir); + normal = shiftAmount < 0.0f ? normal + poiCam.viewDir * (-shiftAmount + 1e-5f): normal; + float nv = saturate(dot(normal, poiCam.viewDir)); + #else + half nv = abs(dot(normal, poiCam.viewDir)); + #endif + + float nl = saturate(dot(normal, light.dir)); + float nh = saturate(dot(normal, halfDir)); + + half lv = saturate(dot(light.dir, poiCam.viewDir)); + half lh = saturate(dot(light.dir, halfDir)); + + half diffuseTerm = DisneyDiffuse(nv, nl, lh, perceptualRoughness) * nl; + + float roughness = PerceptualRoughnessToRoughness(perceptualRoughness); + + roughness = max(roughness, 0.002); + float V = SmithJointGGXVisibilityTerm(nl, nv, roughness); + float D = GGXTerm(nh, roughness); + + float specularTerm = V * D * UNITY_PI; + + #ifdef UNITY_COLORSPACE_GAMMA + specularTerm = sqrt(max(1e-4h, specularTerm)); + #endif + + specularTerm = max(0, specularTerm * nl); + #if defined(_POI_SPECULARHIGHLIGHTS_OFF) + specularTerm = 0.0; + #endif + + half surfaceReduction; + #ifdef UNITY_COLORSPACE_GAMMA + surfaceReduction = 1.0 - 0.28 * roughness * perceptualRoughness; + #else + surfaceReduction = 1.0 / (roughness * roughness + 1.0); + #endif + + specularTerm *= any(specColor) ? 1.0: 0.0; + + half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); + half3 color = diffColor * (gi.diffuse + light.color * diffuseTerm) + + specularTerm * light.color * FresnelTerm(specColor, lh) + + surfaceReduction * gi.specular * FresnelLerp(specColor, grazingTerm, nv); + + return half4(color, 1); + } + + half3 calculateRealisticSpecular(float4 albedo, float2 uv, float4 specularTint, float specularSmoothness, float invertSmoothness, float mixAlbedoWithTint, float4 specularMap, float3 specularLight, float3 normal, float attenuation, float3 lightDirection, float nDotL, float3 halfDir) + { + half oneMinusReflectivity; + half3 finalSpecular; + UnityLight unityLight; + unityLight.color = specularLight; + unityLight.dir = lightDirection; + unityLight.ndotl = nDotL; + + + if (float(1) == 0) + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularMap.rgb * specularTint.rgb, /*out*/ oneMinusReflectivity); + finalSpecular = poiRealisticSpecular(diffColor, specularMap.rgb, oneMinusReflectivity, specularMap.a * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + else + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularTint.rgb, /*out*/ oneMinusReflectivity); + float smoothness = max(max(specularMap.r, specularMap.g), specularMap.b); + finalSpecular = poiRealisticSpecular(diffColor, 1, oneMinusReflectivity, smoothness * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + finalSpecular *= lerp(1, albedo.rgb, mixAlbedoWithTint); + return finalSpecular; + } + + half3 calculateToonSpecular(float4 albedo, float2 uv, float2 specularToonInnerOuter, float specularMixAlbedoIntoTint, float smoothnessFrom, float4 specularMap, float3 specularLight, float3 normal, float3 halfDir, float attenuation) + { + half3 finalSpecular = smoothstep(1 - specularToonInnerOuter.y, 1 - specularToonInnerOuter.x, dot(halfDir, normal)) * specularLight; + + if (smoothnessFrom == 0) + { + finalSpecular.rgb *= specularMap.rgb * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + finalSpecular *= specularMap.a; + } + else + { + finalSpecular *= specularMap.r * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + return finalSpecular; + } + + float3 strandSpecular(float TdotL, float TdotV, float specPower, float nDotL) + { + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + float Specular = saturate(nDotL) * pow(saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV), specPower); + half normalization = sqrt((specPower + 1) * ((specPower) + 1)) / (8 * pi); + Specular *= normalization; + return Specular; + } + + half3 AnisotropicSpecular( + float specWhatTangent, float anisoUseTangentMap, float specularSmoothness, float spec2Smoothness, + float anisoSpec1Alpha, float anisoSpec2Alpha, float4 specularTint, float specularMixAlbedoIntoTint, float4 specularMap, float3 specularLight, float3 lightDirection, float3 halfDir, float nDotL, float jitter, float4 packedTangentMap, in float4 albedo) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + tangentDirectionMap += float(0) +jitter; + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + half specPower = RoughnessToSpecPower(1.0 - specularSmoothness * specularMap.a); + half spec2Power = RoughnessToSpecPower(1.0 - spec2Smoothness * specularMap.a); + half Specular = 0; + + float3 spec = strandSpecular(TdotL, TdotV, specPower, nDotL) * anisoSpec1Alpha; + float3 spec2 = strandSpecular(TdotL, TdotV, spec2Power, nDotL) * anisoSpec2Alpha; + + return max(spec, spec2) * specularMap.rgb * specularTint.a * specularLight * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + + inline float3 toonAnisoSpecular(float specWhatTangent, float anisoUseTangentMap, float3 lightDirection, float halfDir, float4 specularMap, float nDotL, fixed gradientStart, fixed gradientEnd, float4 specColor, float4 finalColor, fixed metallic, float jitter, float mirrored, float4 packedTangentMap) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + if (!mirrored) + { + tangentDirectionMap += jitter; + } + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + + float specular = saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV); + + fixed smoothAlpha = specular; + if(mirrored) + { + smoothAlpha = max(specular - jitter, 0); + } + + specular = smoothstep(gradientStart, gradientEnd, smoothAlpha); + + /* + + if(_CenterOutSpecColor) + { + specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, clamp(float2(specular, specular), 0.01, .99), float4(0,0,0,0)); + } + */ + + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + + return saturate(nDotL) * specular * poiLight.color * specColor * specularMap.rgb * lerp(1, finalColor, metallic) * specularMap.a; + } + + inline float SpecularHQ(half roughness, half dotNH, half dotLH) + { + roughness = saturate(roughness); + roughness = max((roughness * roughness), 0.002); + half roughnessX2 = roughness * roughness; + + half denom = dotNH * dotNH * (roughnessX2 - 1.0) + 1.0f; + half D = roughnessX2 / (3.14159 * denom * denom); + + half k = roughness / 2.0f; + half k2 = k * k; + half invK2 = 1.0f - k2; + + half vis = rcp(dotLH * dotLH * invK2 + k2); + + float specTerm = vis * D; + + return specTerm; + } + + float3 calculateNewSpecular(in float3 specularMap, uint colorFrom, in float4 albedo, in float3 specularTint, in float specularMetallic, in float specularSmoothness, in half dotNH, in half dotLH, in float3 lightColor, in float attenuation) + { + float3 specColor = specularTint; + float metallic = specularMetallic; + float roughness = 1 - specularSmoothness; + float perceptualRoughness = roughness; + //float reflectInverse = DielectricSpec.a - metallic * DielectricSpec.a; + //float reflectivity = 1.0h - reflectInverse; + float3 specMapColor = lerp(specularMap, 1, colorFrom); + float3 specularColor = lerp(DielectricSpec.rgb * specMapColor, lerp(specularMap, albedo.rgb, colorFrom), metallic); + //albedo.rgb *= reflectInverse; + return clamp(specularColor * lightColor * attenuation * specularTint * SpecularHQ(perceptualRoughness, dotNH, dotLH), 0, lightColor * specularTint); + } + + float3 calculateSpecular(in float4 albedo) + { + half3 finalSpecular = 0; + half3 finalSpecular1 = 0; + float4 realisticAlbedo = albedo; + float4 realisticAlbedo1 = albedo; + float4 specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half metallic = POI2D_SAMPLER_PAN(_SpecularMetallicMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + half specularMask = POI2D_SAMPLER_PAN(_SpecularMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float attenuation = saturate(poiLight.nDotL); + #ifdef POI_LIGHTING + + if (float(0) && float(0) == 0 && float(0) == 1) + { + attenuation = poiLight.rampedLightMap; + } + #endif + + + if(float(1) == 1) // Realistic + { + if (float(1) == 1) + { + specularMap.a = specularMap.r; + specularMap.rgb = 1; + } + + if(float(0)) + { + specularMap.a = 1 - specularMap.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, attenuation); + #else + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic, jitter, float(0), packedTangentMap); + finalSpecular *= attenuation; + } + + #ifdef FORWARD_BASE_PASS + + if(float(1) == 2) // Toon + { + finalSpecular += calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic, float(1), specularMap, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += AnisotropicSpecular(float(0), float(0), float(1), float(0), float(1), float(1), float4(1,1,1,1), metallic, specularMap, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular *= float4(1,1,1,1); + finalSpecular *= attenuation; + } + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + + finalSpecular *= float4(1,1,1,1).a; + finalSpecular = finalSpecular.rgb; + finalSpecular *= specularMask; + + + if (float(0)) + { + float4 specularMap1 = POI2D_SAMPLER_PAN(_SpecularMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half specularMask1 = POI2D_SAMPLER_PAN(_SpecularMask1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + half metallic1 = POI2D_SAMPLER_PAN(_SpecularMetallicMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + float attenuation = poiLight.attenuation; + + if(float(1) == 1) // Realistic + { + + if (float(1) == 1) + { + specularMap1.a = specularMap1.r; + specularMap1.rgb = 1; + } + else + { + realisticAlbedo1.rgb = specularMap1.rgb; + } + + + if(float(0)) + { + specularMap1.a = 1 - specularMap1.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, saturate(poiLight.nDotL)); + #else + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap1, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic1, jitter, float(0), packedTangentMap); + finalSpecular1 *= poiLight.attenuation; + } + + + if(float(1) == 2) // Toon + { + finalSpecular1 = calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic1, float(1), specularMap1, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular1 *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 = AnisotropicSpecular(float(0), float(0), float(0.75), float(0), float(1), float(1), float4(1,1,1,1), metallic1, specularMap1, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular1 *= float4(1,1,1,1); + finalSpecular1 *= poiLight.attenuation; + } + + #ifdef FORWARD_BASE_PASS + // Non Important Lights + #ifdef VERTEXLIGHT_ON + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular1 += calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + #endif + + finalSpecular1 *= float4(1,1,1,1).a; + finalSpecular1 = finalSpecular1.rgb; + finalSpecular1 *= specularMask1; + } + return finalSpecular + finalSpecular1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta new file mode 100644 index 00000000..6f4a6e11 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f5501159eeb321d4486db930fa48a9bf +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc new file mode 100644 index 00000000..b7c21c01 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc @@ -0,0 +1,28 @@ +#ifndef SUBSURFACE + #define SUBSURFACE + + float _SSSThicknessMod; + float _SSSSCale; + float _SSSPower; + float _SSSDistortion; + float4 _SSSColor; + float _EnableSSS; + + POI_TEXTURE_NOSAMPLER(_SSSThicknessMap); + + float3 calculateSubsurfaceScattering() + { + float SSS = 1 - POI2D_SAMPLER_PAN(_SSSThicknessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + half3 vLTLight = poiLight.direction + poiMesh.normals[0] * float(1); + half flTDot = pow(saturate(dot(poiCam.viewDir, -vLTLight)), float(5)) * float(0.25); + #ifdef FORWARD_BASE_PASS + half3 fLT = (flTDot) * saturate(SSS + - 1 * float(0)); + #else + half3 fLT = poiLight.attenuation * (flTDot) * saturate(SSS + - 1 * float(0)); + #endif + + return fLT * poiLight.color * float4(1,0,0,1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta new file mode 100644 index 00000000..463d3ccd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 7c864d626137bae41b77b37f7df7811b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc new file mode 100644 index 00000000..4912473d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc @@ -0,0 +1,117 @@ +#ifndef POI_TESSELLATION + #define POI_TESSELLATION + + float _TessellationPhongStrength; + float _TessellationEdgeLength; + float _TessellationExtrusionAmount; + float _TessellationUniform; + + struct TessellationControlPoint + { + float4 vertex: INTERNALTESSPOS; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + }; + + struct TessellationFactors + { + float edge[3]: SV_TessFactor; + float inside: SV_InsideTessFactor; + }; + + TessellationControlPoint poiTessellationVert(appdata v) + { + TessellationControlPoint p; + p.vertex = v.vertex; + p.normal = v.normal; + p.tangent = v.tangent; + p.color = v.color; + p.uv0 = v.uv0; + p.uv1 = v.uv1; + p.uv2 = v.uv2; + p.uv3 = v.uv3; + return p; + } + + float TessellationEdgeFactor(float3 p0, float3 p1) + { + #ifndef _FADING_ON + float edgeLength = distance(p0, p1); + + float3 edgeCenter = (p0 + p1) * 0.5; + float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos); + + return edgeLength * _ScreenParams.y / + (_TessellationEdgeLength * viewDistance); + #else + return _TessellationUniform; + #endif + } + + TessellationFactors poiPatchConst( + InputPatch < TessellationControlPoint, 3 > patch + ) + { + + TessellationFactors f; + float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz; + float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz; + float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz; + f.edge[0] = TessellationEdgeFactor(p1, p2); + f.edge[1] = TessellationEdgeFactor(p2, p0); + f.edge[2] = TessellationEdgeFactor(p0, p1); + f.inside = (TessellationEdgeFactor(p1, p2) + + TessellationEdgeFactor(p2, p0) + + TessellationEdgeFactor(p0, p1)) * (1 / 3.0); + return f; + } + + [UNITY_domain("tri")] + [UNITY_outputcontrolpoints(3)] + [UNITY_outputtopology("triangle_cw")] + [UNITY_partitioning("fractional_odd")] + [UNITY_patchconstantfunc("poiPatchConst")] + TessellationControlPoint poiHull( + InputPatch < TessellationControlPoint, 3 > patch, + uint id: SV_OutputControlPointID + ) + { + return patch[id]; + } + + [UNITY_domain("tri")] + v2f poiDomain( + TessellationFactors factors, + OutputPatch < TessellationControlPoint, 3 > patch, + float3 barycentricCoordinates: SV_DomainLocation + ) + { + appdata data; + + #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z; + + MY_DOMAIN_PROGRAM_INTERPOLATE(vertex) + float3 pp[3]; + for (int i = 0; i < 3; ++ i) + { + pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + } + data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz; + MY_DOMAIN_PROGRAM_INTERPOLATE(normal) + data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount; + MY_DOMAIN_PROGRAM_INTERPOLATE(tangent) + MY_DOMAIN_PROGRAM_INTERPOLATE(color) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv0) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv1) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv2) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv3) + + return vert(data); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta new file mode 100644 index 00000000..d6e0ac0a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d44917b782406ab4ea2af764f230471d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc new file mode 100644 index 00000000..38d5fd75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc @@ -0,0 +1,34 @@ +#ifndef POI_UV_DISTORTION + #define POI_UV_DISTORTION + + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture); float4 _DistortionFlowTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture1); float4 _DistortionFlowTexture1_ST; + POI_TEXTURE_NOSAMPLER(_DistortionMask); + + float _DistortionStrength; + float _DistortionStrength1; + float2 _DistortionSpeed; + float2 _DistortionSpeed1; + + float2 getTorusUv(float2 uv) + { + // translated to hlsl from https://www.shadertoy.com/view/Md3Bz7 + // http://web.cs.ucdavis.edu/~amenta/s12/findnorm.pdf + float phi = 6.28318530718f * uv.x; + float theta = 6.28318530718f * uv.y; + float3 c = cos(float3(phi, phi + 1.57079632679f, theta)); + float2 result = float2(c.x * c.z, -c.y * c.z); + return result * 0.5 + 0.5; + } + + float2 calculateDistortionUV(float2 uv) + { + half distortionMask = POI2D_SAMPLER_PAN(_DistortionMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flowVector = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + float4 flowVector1 = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture1, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture1) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + flowVector *= float(0.5); + flowVector1 *= float(0.5); + return uv + ((flowVector.xy + flowVector1.xy) / 2) * distortionMask; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta new file mode 100644 index 00000000..27c64767 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 853ee2d3b2da17247997ac1eb94bf542 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc new file mode 100644 index 00000000..0e29a179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc @@ -0,0 +1,34 @@ +#ifndef POI_V2F + #define POI_V2F + + struct v2f + { + float4 pos: SV_POSITION; + float4 uv0: TEXCOORD0; + float4 uv1: TEXCOORD1; + float3 normal: TEXCOORD2; + float3 tangentViewDir: TEXCOORD3; + float4 tangent: TEXCOORD4; + float4 worldPos: TEXCOORD5; + float4 localPos: TEXCOORD6; + float4 grabPos: TEXCOORD7; + float3 barycentricCoordinates: TEXCOORD8; + #if defined(GRAIN) + float4 worldDirection: TEXCOORD9; + #endif + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV: TEXCOORD10; + #endif + float3 modelPos: TEXCOORD11; + float angleAlpha: TEXCOORD12; + float4 vertexColor: TEXCOORD14; + #ifdef FUR + float furAlpha: TEXCOORD15; + #endif + UNITY_SHADOW_COORDS(16) + UNITY_FOG_COORDS(17) + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta new file mode 100644 index 00000000..8a59886d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3e8d1e76839ca5848b16ba33c1161e36 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc new file mode 100644 index 00000000..1558e937 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc @@ -0,0 +1,126 @@ +#ifndef POI_VERT + #define POI_VERT + + float _VertexManipulationHeightUV; + float _VertexUnwrap; + + #define PM UNITY_MATRIX_P + + inline float4 CalculateFrustumCorrection() + { + float x1 = -PM._31 / (PM._11 * PM._34); + float x2 = -PM._32 / (PM._22 * PM._34); + return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23); + } + + v2f vert(appdata v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + #ifdef _COLOROVERLAY_ON + v.vertex.xyz = lerp(v.vertex.xyz, float3(v.uv0.x - .5, v.uv0.y - .5, 0), float(0)); + #endif + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.tangent, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + #ifdef _REQUIRE_UV2 //POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.normal = UnityObjectToWorldNormal(v.normal); + //o.localPos.x *= -1; + //o.localPos.xz += sin(o.localPos.y * 100 + _Time.y * 5) * .0025; + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, o.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + o.vertexColor = v.color; + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + + #ifdef POI_BULGE + bulgyWolgy(o); + #endif + + + o.angleAlpha = 1; + #ifdef _SUNDISK_NONE //POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + #if defined(LIGHTMAP_ON) + o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0.xy); + UNITY_TRANSFER_FOG(o, o.pos); + + #if defined(_PARALLAXMAP) // POI_PARALLAX + v.tangent.xyz = normalize(v.tangent.xyz); + v.normal = normalize(v.normal); + float3x3 objectToTangent = float3x3( + v.tangent.xyz, + cross(v.normal, v.tangent.xyz) * v.tangent.w, + v.normal + ); + o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex)); + #endif + + #ifdef POI_META_PASS + o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); + #endif + + #if defined(GRAIN) + float4 worldDirection; + + worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos; + worldDirection.w = dot(o.pos, CalculateFrustumCorrection()); + o.worldDirection = worldDirection; + #endif + + return o; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta new file mode 100644 index 00000000..c0619f60 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 47f1b0e6b6f3ba34b877b462ff0390eb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc new file mode 100644 index 00000000..94c16148 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc @@ -0,0 +1,93 @@ +#ifndef POI_VERTEX_MANIPULATION + #define POI_VERTEX_MANIPULATION + + #include "CGI_PoiMath.cginc" + + float4 _VertexManipulationLocalTranslation; + float4 _VertexManipulationLocalRotation; + float4 _VertexManipulationLocalScale; + float4 _VertexManipulationWorldTranslation; + + float _VertexManipulationHeight; + float _VertexManipulationHeightBias; + sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST; + float2 _VertexManipulationHeightPan; + + + //Vertex Glitching + float _EnableVertexGlitch; + sampler2D _VertexGlitchMap; float4 _VertexGlitchMap_ST; + float _VertexGlitchThreshold; + float _VertexGlitchFrequency; + float _VertexGlitchStrength; + // Rounding + float _VertexRoundingDivision; + float _VertexRoundingEnabled; + + void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyVertexRounding(inout float4 worldPos, inout float4 localPos) + { + + if (float(0)) + { + worldPos.xyz = (ceil(worldPos * float(500)) / float(500)) - 1 / float(500) * .5; + localPos = mul(unity_WorldToObject, worldPos); + } + } + + void applyVertexGlitching(inout float4 worldPos, inout float4 localPos) + { + + if(_EnableVertexGlitch) + { + float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + forward.y = 0; + forward = normalize(forward); + float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward)); + float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1; + /* + float uvl = worldPos.y * _VertexGlitchDensity + _Time.x * _VertexGlitchMapPanSpeed; + float uvr = worldPos.y * _VertexGlitchDensity - _Time.x * _VertexGlitchMapPanSpeed; + float glitchAmountLeft = tex2Dlod(_VertexGlitchMap, float4(uvl, uvl, 0, 0)).r; + float glitchAmountRight = -tex2Dlod(_VertexGlitchMap, float4(uvr, uvr, 0, 0)).r; + float glitchAmount = glitchAmountLeft + glitchAmountRight; + */ + float time = _Time.y * _VertexGlitchFrequency; + float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4; + worldPos.xyz += glitchAmount * glitchDirection * (_VertexGlitchStrength * .01) * step(_VertexGlitchThreshold, randomGlitch); + localPos = mul(unity_WorldToObject, worldPos); + } + } + +#endif +// diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta new file mode 100644 index 00000000..c00391d9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1ef23c375bc04c54e9841e2d761695dd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc new file mode 100644 index 00000000..ec2d37e4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc @@ -0,0 +1,266 @@ +#ifndef POI_VIDEO + #define POI_VIDEO + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoPixelTexture); float4 _VideoPixelTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoMaskTexture); float4 _VideoMaskTexture_ST; + + float _VideoUVNumber; + float _VideoType; + float3 pixels; + float2 _VideoResolution; + sampler2D _VideoGameboyRamp; + half _VideoBacklight; + half _VideoCRTRefreshRate; + half _VideoCRTPixelEnergizedTime; + half _VideoEnableVideoPlayer; + half _VideoRepeatVideoTexture; + half _VideoPixelateToResolution; + float2 _VideoMaskPanning; + // Video Settings + half _VideoSaturation; + half _VideoContrast; + float2 _VideoTiling; + float2 _VideoOffset; + float2 _VideoPanning; + //Debug + half _VideoEnableDebug; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoDebugTexture); float4 _VideoDebugTexture_ST; + + + sampler2D _VRChat_VideoPlayer; + float4 _VRChat_VideoPlayer_TexelSize; + + float4 globalVideoPlayerColor; + float3 globalColorToDisplayOnScreen; + float globalVideoOn; + + float3 applyBacklight(float3 albedo, half backlightStrength) + { + return max(backlightStrength, albedo.rgb); + } + + float3 applyViewAngleTN(float3 albedo) + { + float3 reflectionVector = normalize(reflect(poiCam.viewDir.rgb, poiMesh.normals[1].rgb)); + float upwardShift = dot(reflectionVector, poiMesh.binormal); + upwardShift = pow(upwardShift, 1); + float sideShift = dot(reflectionVector, poiMesh.tangent); + sideShift *= pow(sideShift, 3); + #if !UNITY_COLORSPACE_GAMMA + albedo = LinearToGammaSpace(albedo); + #endif + albedo = saturate(lerp(half3(0.5, 0.5, 0.5), albedo, upwardShift + 1)); + #if !UNITY_COLORSPACE_GAMMA + albedo = GammaToLinearSpace(albedo); + #endif + albedo = (lerp(albedo, albedo.gbr, sideShift)); + return albedo; + } + + float calculateCRTPixelBrightness() + { + float totalPixels = _VideoResolution.x * _VideoResolution.y; + float2 uvPixel = float2((floor((1 - poiMesh.uv[_VideoUVNumber].y) * _VideoResolution.y)) / _VideoResolution.y, (floor(poiMesh.uv[_VideoUVNumber].x * _VideoResolution.x)) / _VideoResolution.x); + float currentPixelNumber = _VideoResolution.x * (_VideoResolution.y * uvPixel.x) + _VideoResolution.y * uvPixel.y; + float currentPixelAlpha = currentPixelNumber / totalPixels; + half electronBeamAlpha = frac(_Time.y * _VideoCRTRefreshRate); + float electronBeamPixelNumber = totalPixels * electronBeamAlpha; + + float DistanceInPixelsFromCurrentElectronBeamPixel = 0; + if (electronBeamPixelNumber >= currentPixelNumber) + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber - currentPixelNumber; + } + else + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber + (totalPixels - currentPixelNumber); + } + float CRTFrameTime = 1 / _VideoCRTRefreshRate; + float timeSincecurrentPixelWasHitByElectronBeam = (DistanceInPixelsFromCurrentElectronBeamPixel / totalPixels); + + return saturate(_VideoCRTPixelEnergizedTime - timeSincecurrentPixelWasHitByElectronBeam); + } + + void applyContrastSettings(inout float3 pixel) + { + #if !UNITY_COLORSPACE_GAMMA + pixel = LinearToGammaSpace(pixel); + #endif + pixel = saturate(lerp(half3(0.5, 0.5, 0.5), pixel, _VideoContrast + 1)); + #if !UNITY_COLORSPACE_GAMMA + pixel = GammaToLinearSpace(pixel); + #endif + } + + void applySaturationSettings(inout float3 pixel) + { + pixel = lerp(pixel.rgb, dot(pixel.rgb, float3(0.3, 0.59, 0.11)), -_VideoSaturation); + } + + void applyVideoSettings(inout float3 pixel) + { + applySaturationSettings(pixel); + applyContrastSettings(pixel); + } + + void calculateLCD(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateTN(inout float4 albedo) + { + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + globalColorToDisplayOnScreen = applyViewAngleTN(globalColorToDisplayOnScreen); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateCRT(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + float brightness = calculateCRTPixelBrightness(); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * brightness * _VideoBacklight; + } + void calculateOLED(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateGameboy(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + half brightness = saturate((globalColorToDisplayOnScreen.r + globalColorToDisplayOnScreen.g + globalColorToDisplayOnScreen.b) * .3333333); + albedo.rgb = tex2D(_VideoGameboyRamp, brightness); + } + void calculateProjector(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + + float3 projectorColor = albedo * globalColorToDisplayOnScreen * _VideoBacklight; + albedo.r = clamp(projectorColor.r, albedo.r, 1000); + albedo.g = clamp(projectorColor.g, albedo.g, 1000); + albedo.b = clamp(projectorColor.b, albedo.b, 1000); + } + + void applyScreenEffect(inout float4 albedo, inout float3 videoEmission) + { + float4 albedoBeforeScreen = albedo; + + pixels = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoPixelTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoPixelTexture) * _VideoResolution); + globalVideoOn = 0; + + if(_VideoEnableVideoPlayer == 1) + { + float4 videoTexture = 0; + + if(_VideoPixelateToResolution) + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, round(TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoResolution + .5) / _VideoResolution); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, round(poiMesh.uv[_VideoUVNumber] * _VideoResolution + .5) / _VideoResolution); + } + } + else + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoTiling + _VideoOffset); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, ((poiMesh.uv[_VideoUVNumber] + _Time.x * _VideoPanning) * _VideoTiling) + _VideoOffset); + } + } + if(videoTexture.a == 1) + { + globalColorToDisplayOnScreen = videoTexture.rgb; + globalVideoOn = 1; + } + } + + + if(_VideoRepeatVideoTexture == 1) + { + if(poiMesh.uv[_VideoUVNumber].x > 1 || poiMesh.uv[_VideoUVNumber].x < 0 || poiMesh.uv[_VideoUVNumber].y > 1 || poiMesh.uv[_VideoUVNumber].y < 0) + { + return; + } + } + + switch(_VideoType) + { + case 0: // LCD + { + calculateLCD(albedo); + break; + } + case 1: // TN + { + calculateTN(albedo); + break; + } + case 2: // CRT + { + calculateCRT(albedo); + break; + } + case 3: // OLED + { + calculateOLED(albedo); + break; + } + case 4: // Gameboy + { + calculateGameboy(albedo); + break; + } + case 5: // Projector + { + calculateProjector(albedo); + break; + } + } + + float screenMask = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoMaskTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoMaskTexture) + _Time.x * _VideoMaskPanning); + albedo = lerp(albedoBeforeScreen, albedo, screenMask); + videoEmission = max(albedo.rgb * screenMask - 1, 0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta new file mode 100644 index 00000000..ef4c226b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 253fd1461e79471489c214caed4474be +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc new file mode 100644 index 00000000..db3d3130 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc @@ -0,0 +1,304 @@ +#ifndef POI_VORONOI + #define POI_VORONOI + + #include "CGI_PoiRNG.cginc" + + float _VoronoiSpace; + float _VoronoiBlend; + float _VoronoiType; + float4 _VoronoiColor0; + float _VoronoiEmission0; + float4 _VoronoiColor1; + float _VoronoiEmission1; + float2 _VoronoiGradient; + float _VoronoiScale; + float3 _VoronoiSpeed; + float _VoronoiEnableRandomCellColor; + float2 _VoronoiRandomMinMaxSaturation; + float2 _VoronoiRandomMinMaxBrightness; + float3 randomPoint; + float _VoronoiEffectsMaterialAlpha; + + POI_TEXTURE_NOSAMPLER(_VoronoiMask); + POI_TEXTURE_NOSAMPLER(_VoronoiNoise); + float _VoronoiNoiseIntensity; + + float2 inoise(float3 P, float jitter) + { + float3 Pi = mod(floor(P), 289.0); + float3 Pf = frac(P); + float3 oi = float3(-1.0, 0.0, 1.0); + float3 of = float3(-0.5, 0.5, 1.5); + float3 px = Permutation(Pi.x + oi); + float3 py = Permutation(Pi.y + oi); + + float3 p, ox, oy, oz, dx, dy, dz; + float2 F = 1e6; + + for (int i = 0; i < 3; i ++) + { + for (int j = 0; j < 3; j ++) + { + p = Permutation(px[i] + py[j] + Pi.z + oi); // pij1, pij2, pij3 + + ox = frac(p * K) - Ko; + oy = mod(floor(p * K), 7.0) * K - Ko; + + p = Permutation(p); + + oz = frac(p * K) - Ko; + + dx = Pf.x - of[i] + jitter * ox; + dy = Pf.y - of[j] + jitter * oy; + dz = Pf.z - of + jitter * oz; + + float3 d = dx * dx + dy * dy + dz * dz; // dij1, dij2 and dij3, squared + + //Find lowest and second lowest distances + for (int n = 0; n < 3; n ++) + { + if (d[n] < F[0]) + { + F[1] = F[0]; + F[0] = d[n]; + randomPoint = p; + } + else if(d[n] < F[1]) + { + F[1] = d[n]; + } + } + } + } + + return F; + } + + float voronoi2D(in float2 x, float scale, float2 speed) + { + x *= scale; + x += speed * _Time.x; + float2 n = floor(x); + float2 f = frac(x); + + // first pass: regular voronoi + float2 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 g = float2(float(i), float(j)); + float2 o = random2(n + g); + float2 currentPoint = o; + + float2 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint.xy = currentPoint; + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + float2 g = mg + float2(float(q), float(r)); + float2 o = random2(n + g); + + float2 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + return md; + } + + float voronoi3D(in float3 x, float scale, float3 speed) + { + x *= scale; + x += speed * _Time.x; + float3 n = floor(x); + float3 f = frac(x); + + // first pass: regular voronoi + float3 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + for (int h = -1; h <= 1; h ++) + { + float3 g = float3(float(h), float(i), float(j)); + float3 o = random3(n + g); + float3 currentPoint = o; + + float3 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint = currentPoint; + } + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + for (int p = -2; p <= 2; p ++) + { + float3 g = mg + float3(float(p), float(q), float(r)); + float3 o = random3(n + g); + + float3 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + } + return md; + } + + + + // fracal sum, range -1.0 - 1.0 + float VoronoiNoise_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + float VoronoiNoiseDiff_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[1]) - sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + void applyVoronoi(inout float4 finalColor, inout float3 VoronoiEmission) + { + float voronoiOctaveNumber = 1; + float voronoiOctaveScale = 1; + float voronoiOctaveAttenuation = 1; + randomPoint = 0; + float4 voronoiColor1 = _VoronoiColor1; + + float voronoi = 0; + + float3 position = 0; + + + if (_VoronoiSpace == 0) + { + position = poiMesh.localPos; + } + + if(_VoronoiSpace == 1) + { + position = poiMesh.worldPos; + } + + if(_VoronoiSpace == 2) + { + position = float3(poiMesh.uv[0].x, poiMesh.uv[0].y, 0); + } + + float mask = POI2D_SAMPLER_PAN(_VoronoiMask, _MainTex, poiMesh.uv[_VoronoiMaskUV], _VoronoiMaskPan).r; + float edgeNoise = POI2D_SAMPLER_PAN(_VoronoiNoise, _MainTex, poiMesh.uv[_VoronoiNoiseUV], _VoronoiNoisePan).r * _VoronoiNoiseIntensity; + + + if(_VoronoiType == 0) // Basic + { + voronoi = voronoi2D(position.xy, _VoronoiScale, _VoronoiSpeed); + } + + if (_VoronoiType == 1) // Diff + { + voronoi = VoronoiNoiseDiff_Octaves(position, _VoronoiScale, _VoronoiSpeed, voronoiOctaveNumber, voronoiOctaveScale, voronoiOctaveAttenuation, 1, _Time.x); + } + + if (_VoronoiType == 2) // Fixed Border + { + voronoi = voronoi3D(position, _VoronoiScale, _VoronoiSpeed); + // isolines + //color = c.x * (0.5 + 0.5 * sin(64.0 * c.x)) * 1.0; + } + + if (_VoronoiEnableRandomCellColor == 1) + { + float3 rando = random3(randomPoint); + fixed hue = rando.x; + fixed saturation = lerp(_VoronoiRandomMinMaxSaturation.x, _VoronoiRandomMinMaxSaturation.y, rando.y); + fixed value = lerp(_VoronoiRandomMinMaxBrightness.x, _VoronoiRandomMinMaxBrightness.y, rando.z); + float3 hsv = float3(hue, saturation, value); + + voronoiColor1.rgb = HSVtoRGB(hsv); + } + + float2 voronoiGradient = _VoronoiGradient; + voronoiGradient.xy += edgeNoise; + float ramp = smoothstep(voronoiGradient.x, voronoiGradient.y, voronoi); + + + if(_VoronoiBlend == 0) + { + float4 voronoiColor = lerp(_VoronoiColor0, voronoiColor1, ramp); + + if(_VoronoiEffectsMaterialAlpha) + { + finalColor.rgba = lerp(finalColor, voronoiColor, mask); + } + else + { + finalColor.rgb = lerp(finalColor.rgb, voronoiColor.rgb, mask * voronoiColor.a); + } + } + float4 voronoiEmissionColor = lerp(_VoronoiColor0 * _VoronoiEmission0, voronoiColor1 * _VoronoiEmission1, ramp); + VoronoiEmission = voronoiEmissionColor.rgb * mask * voronoiEmissionColor.a; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta new file mode 100644 index 00000000..fad5517c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a31deb90e9f57d345a1eacffac4bcb2c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc new file mode 100644 index 00000000..49c602c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc @@ -0,0 +1,111 @@ +#ifndef POI_WIREFRAME + #define POI_WIREFRAME + + UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST; + float2 _WireframeTexturePan; + float _WireframeSmoothing; + float _WireframeThickness; + float4 _WireframeColor; + float _WireframeAlpha; + float _WireframeEnable; + float _WireframeWaveEnabled; + float _WireframeWaveDensity; + float _WireframeWaveSpeed; + float _WireframeEdgeOpacity; + float _WireframeFaceOpacity; + half _WireframeEmissionAlpha; + float _WireframeEmissionStrength; + float _WireframeQuad; + float _WireframeUV; + + #ifndef POI_SHADOW + void applyWireframe(inout float3 wireframeEmission, inout float4 albedo) + { + + if (_WireframeEnable) + { + float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan); + float size = _WireframeThickness; + half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates)); + half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates); + half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1; + + float4 wireframeColor = _WireframeColor * colorMap; + + albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary); + wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a; + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream) + { + + if(_WireframeQuad) + { + float e1 = length(IN[0].localPos - IN[1].localPos); + float e2 = length(IN[1].localPos - IN[2].localPos); + float e3 = length(IN[2].localPos - IN[0].localPos); + + float3 quad = 0; + if(e1 > e2 && e1 > e3) + quad.y = 1.; + else if(e2 > e3 && e2 > e1) + quad.x = 1; + else + quad.z = 1; + + IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad; + IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad; + IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad; + } + else + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + } + + + + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #else + + float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos) + { + + if(_WireframeEnable) + { + float wireframeFadeAlpha = _WireframeAlpha; + float3 finalWireframeColor = 0; + + float3 barys; + barys.xy = barycentricCoordinates; + barys.z = 1 - barys.x - barys.y; + float3 deltas = fwidth(barys); + float3 smoothing = deltas * _WireframeSmoothing; + float wireframeThickness = _WireframeThickness; + float3 thickness = deltas * wireframeThickness; + barys = smoothstep(thickness, thickness + smoothing, barys); + float minBary = min(barys.x, min(barys.y, barys.z)); + + return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream) + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta new file mode 100644 index 00000000..3be40af7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 747b5b6e5ae3acd4ebf6a9ad9b98a2ea +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc new file mode 100644 index 00000000..319de57c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc @@ -0,0 +1,171 @@ +#ifndef POICLUDES + #define POICLUDES + + UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _PoiGrab; + sampler2D _CameraDepthTexture; + float _Cutoff; + float _AlphaMod; + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #ifdef OUTLINE + float _LineWidth; + float _OutlineEmission; + float4 _LineColor; + sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV; + float4 _OutlineFadeDistance; + float4 _OutlineGlobalPan; + #endif + + struct PoiLighting + { + half3 direction; + half3 color; + fixed attenuation; + #ifdef FORWARD_ADD_PASS + fixed additiveShadow; + #endif + half3 directLighting; + half3 indirectLighting; + half lightMap; + half3 rampedLightMap; + half3 finalLighting; + half3 halfDir; + half nDotL; + half nDotH; + half lDotv; + half lDotH; + half nDotV; + half N0DotV; + half diffuseTerm; + + // World normal dot half direction + #ifdef POI_VAR_DOTNH + half dotNH; + #endif + + // Light direction dot half direction + #ifdef POI_VAR_DOTLH + half dotLH; + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + float4 vDotNL; + float3 vColor[4]; + float4 vCorrectedDotNL; + float4 vAttenuation; + float4 vAttenuationDotNL; + float3 vPosition[4]; + float3 vDirection[4]; + float3 vFinalLighting; + float3 vHalfDir[4]; + + #ifdef POI_VAR_DOTLH + half4 vDotLH; + #endif + + #ifdef POI_VAR_DOTNH + half4 vDotNH; + #endif + + #endif + }; + + struct PoiCamera + { + half3 viewDir; + half3 tangentViewDir; + half3 forwardDir; + half3 worldPos; + float viewDotNormal; + float distanceToModel; + float distanceToVert; + float3 reflectionDir; + float3 vertexReflectionDir; + float2 screenUV; + float4 clipPos; + #if defined(GRAIN) + float4 worldDirection; + #endif + float4 grabPos; + }; + + struct PoiMesh + { + float3 normals[2]; + float3 tangent; + float3 binormal; + float3 localPos; + float3 worldPos; + float3 modelPos; + float3 tangentSpaceNormal; + float2 uv[5]; + float4 vertexColor; + fixed3 barycentricCoordinates; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV; + #endif + float isFrontFace; + #ifdef FUR + float furAlpha; + #endif + }; + + struct PoiTangentData + { + float3x3 tangentTransform; + float3x3 tangentToWorld; + }; + + struct FragmentCommonData + { + half3 diffColor, specColor; + // Note: smoothness & oneMinusReflectivity for optimization purposes, mostly for DX9 SM2.0 level. + // Most of the math is being done on these (1-x) values, and that saves a few precious ALU slots. + half oneMinusReflectivity, smoothness; + float3 normalWorld; + float3 eyeVec; + half alpha; + float3 posWorld; + + #if UNITY_STANDARD_SIMPLE + half3 reflUVW; + #endif + + #if UNITY_STANDARD_SIMPLE + half3 tangentSpaceNormal; + #endif + }; + + struct Debug + { + float debug1; + float2 debug2; + float3 debug3; + float4 debug4; + }; + + static Debug debug; + static PoiLighting poiLight; + static PoiCamera poiCam; + static PoiMesh poiMesh; + static UnityGI gi; + static FragmentCommonData s; + static PoiTangentData poiTData; + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta new file mode 100644 index 00000000..c60b48ef --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: abdb30a63723e364589cf794582063ae +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta new file mode 100644 index 00000000..b23841a5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 10c5e125125456c4ba136cf14be17a82 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader new file mode 100644 index 00000000..e99016c8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader @@ -0,0 +1,7648 @@ +Shader "Hidden/.poiyomi/• Poiyomi Toon •/PC_B_Parts_Default_Body_03-cca4c1f7" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 + [HideInInspector] shader_master_label ("Poiyomi Toon V7.0.100", Float) = 0 + [HideInInspector] shader_presets ("poiToonPresets", Float) = 0 + [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0 + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + // Keyword to remind users in the VRChat SDK that this material hasn't been locked. Inelegant but it works. + [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 + [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0 + [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0 + + [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7, Multiplicative Grab Pass, 8)]_Mode("Rendering Preset--{on_value_actions:[ + {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2451}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]}, + {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:RenderType=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]} + }]}]}", Int) = 0 + [HideInInspector] m_LockingInfo ("Locking Info--{button_right:{text:Tutorial,action:{type:URL,data:https://youtu.be/asWeDJb5LAo},hover:YouTube},is_hideable:true}", Float) = 0 + [Helpbox(1)] _HelpBoxLocking ("LOCKING IN THE SHADER WILL DRAMATICALLY INCREASE PERFORMANCE AND DRAMATICALLY LOWER THE FILE SIZE OF AN AVATAR PACKAGE. + + LOCKED IN MATERIALS CANNOT BE ANIMATED WITHOUT SETTING THE SPECIFIC PROPERTY TO DYNAMIC. RIGHT CLICK MATERIAL PROPERTIES YOU WISH TO ANIMATE, A CLOCK ICON WILL APPEAR BESIDE THE PROPERTY SIGNIFYING THAT IT CAN BE ANIMATED. + + FOR MORE INFORMATION ON LOCKING PLEASE WATCH THE LOCKING TUTORIAL IN THE HEADER ABOVE.", Int) = 0 + [Helpbox(2)] _HelpBoxHideLocking ("TO HIDE THIS CATEGORY SELECT CUSTOM UI AT THE TOP AND UNCHECK THE LOCKING INFO CATEGORY", Float) = 0 + // Main + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color & Alpha", Color) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("UV", Int) = 0 + _Saturation ("Saturation", Range(-1, 1)) = 0 + _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _BumpMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _AlphaMask ("Alpha Map", 2D) = "white" { } + [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AlphaMaskUV ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector] m_start_MainHueShift ("Hue Shift", Float) = 0 + [HideInInspector][Toggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0 + [ToggleUI]_MainHueShiftReplace ("Replace?", Float) = 1 + _MainHueShift ("Hue Shift", Range(0, 1)) = 0 + _MainHueShiftSpeed ("Shift Speed", Float) = 0 + _MainHueShiftMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainHueShiftMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainHueShiftMaskUV ("UV", Int) = 0 + [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0 + + // RGB Masking + [HideInInspector] m_start_RGBMask ("RGB Color Masking", Float) = 0 + [HideInInspector][Toggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0 + [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0 + [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0 + _RGBMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBMaskUV ("UV", int) = 0 + _RedColor ("R Color", Color) = (1, 1, 1, 1) + _RedTexure ("R Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBRed_UV ("UV", int) = 0 + _GreenColor ("G Color", Color) = (1, 1, 1, 1) + _GreenTexture ("G Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBGreen_UV ("UV", int) = 0 + _BlueColor ("B Color", Color) = (1, 1, 1, 1) + _BlueTexture ("B Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBBlue_UV ("UV", int) = 0 + // RGB MASKED NORMALS + [Toggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0 + [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0 + [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalRUV ("UV", int) = 0 + _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalGUV ("UV", int) = 0 + _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalBUV ("UV", int) = 0 + _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0 + + // Detail Options + [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0 + _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { } + [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailMaskUV ("UV", Int) = 0 + _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1) + _DetailTex ("Detail Texture", 2D) = "gray" { } + [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailTexUV ("UV", Int) = 0 + _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1 + _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1 + [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1 + [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailNormalMapUV ("UV", Int) = 0 + [HideInInspector] m_end_DetailOptions ("Details", Float) = 0 + + // Vertex Colors + [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0 + _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0 + _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0 + + //Vertex Manipulations + [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0 + [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1) + [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1) + _VertexManipulationHeight ("Vertex Height", Float) = 0 + _VertexManipulationHeightMask ("Height Map", 2D) = "while" { } + [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0 + _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0 + [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0 + _VertexRoundingDivision ("Division Amount", Float) = 500 + [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0 + + // Alpha Options + [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0 + _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0 + _DitherGradient ("Dither Gradient", Range(0, 1)) = .1 + [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0 + _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0 + [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0 + [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0 + _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25 + [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0 + _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 + [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 + + // Decal Texture + [HideInInspector] m_start_DecalSection ("Decal", Float) = 0 + [HideInInspector][Toggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0 + _DecalColor ("Color", Color) = (1, 1, 1, 1) + _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _DecalTexture ("Decal", 2D) = "white" { } + [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalTextureUV ("UV", Int) = 0 + _DecalMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalMaskUV ("UV", Int) = 0 + [ToggleUI]_DecalTiled ("Tiled?", Float) = 0 + [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0) + [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0) + _DecalRotation ("Rotation", Range(0, 360)) = 0 + _DecalRotationSpeed ("Rotation Speed", Float) = 0 + _DecalBlendAdd ("Add", Range(0, 1)) = 0 + _DecalBlendMultiply ("Multiply", Range(0, 1)) = 0 + _DecalBlendReplace ("Replace", Range(0, 1)) = 0 + [HideInInspector] m_end_DecalSection ("Decal", Float) = 0 + + // Back Face Textures and Emission + [HideInInspector] m_start_backFace ("Back Face", Float) = 0 + [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0 + _BackFaceColor ("Color", Color) = (1, 1, 1, 1) + _BackFaceTexture ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_BackFaceTextureUV ("UV#", Int) = 0 + _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1 + _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0 + _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [HideInInspector] m_end_backFace ("Back Face", Float) = 0 + + // Lighting + [HideInInspector] m_lightingOptions ("Lighting", Float) = 0 + [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0 + [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1 + [Enum(Toon, 0, Realistic, 1)] _LightingMode ("Lighting Type", Int) = 0 + _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0 + [ToggleUI]_LightingShadingEnabled ("Enable Shading--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0 + [Enum(Ramp Texture, 0, Math Gradient, 1)] _LightingRampType ("Ramp Type--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Int) = 0 + [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", 2D) = "white" { } + _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowMaskUV ("UV", Int) = 0 + _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0 + _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = 0 + _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = .5 + _LightingShadowColor ("Shadow Tint--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Color) = (1, 1, 1, 1) + _ShadowStrength ("Shadow Strength--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 1 + _AttenuationMultiplier ("Unity Shadows--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==1},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 0 + [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + + [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0 + [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0 + [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0 + [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0 + [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0 + _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0 + _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 + _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0 + [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0 + + [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled}", Float) = 0 + [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0 + _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingDetailShadowsUV ("UV", Int) = 0 + _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0 + + [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0 + _LightingAOTex ("AO Map", 2D) = "white" { } + [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingAOTexUV ("UV", Int) = 0 + _AOStrength ("AO Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0 + + [HideInInspector] m_start_shadowTexture ("Shadow Texture--{reference_property:_UseShadowTexture, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + [HideInInspector][ToggleUI]_UseShadowTexture ("EnableShadowTexture--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + _LightingShadowTexture ("Shadow Texture--{reference_properties:[_LightingShadowTexturePan, _LightingShadowTextureUV], condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_shadowTexture ("Shadow Texture", Float) = 0 + + // HSL Lighting + [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0 + _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1 + _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5 + _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5 + _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5 + [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0 + + // point/spot Light Settings + [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_commentIfZero_LightingAdditiveEnable,button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0 + [HideInInspector][ToggleUI]_commentIfZero_LightingAdditiveEnable ("Enable Additive", Float) = 1 + [Enum(Realistic, 0, Toon, 1)] _LightingAdditiveType ("Lighting Type", Int) = 1 + _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0 + _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5 + _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5 + _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1 + [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0 + _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1 + [Toggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1 + [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0 + [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0 + + // Subsurface Scattering + [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0 + [Toggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0 + _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1) + _SSSThicknessMap ("Thickness Map", 2D) = "black" { } + [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SSSThicknessMapUV ("UV", Int) = 0 + _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0 + _SSSSCale ("Light Strength", Range(0, 1)) = 0.25 + _SSSPower ("Light Spread", Range(1, 100)) = 5 + _SSSDistortion ("Light Distortion", Range(0, 1)) = 1 + [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0 + + // Rim Lighting + [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0 + [Toggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0 + [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1 + [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimTexUV ("UV", Int) = 0 + _RimMask ("Rim Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimMaskUV ("UV", Int) = 0 + + // Rim Noise + [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0 + _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { } + [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0 + _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1 + [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0 + + // Rim Shadow Mix + [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0 + _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0 + _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5 + _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5 + [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0 + [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0 + + // Environmental Rim Lighting + [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0 + [Toggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0 + _RimEnviroMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimEnviroMaskUV ("UV", Int) = 0 + _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7 + _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45 + _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0 + _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0 + _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1 + [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0 + + // Baked Lighting + [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0 + _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1 + [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown + [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown + [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0 + + // Metallics + [HideInInspector] m_start_Metallic ("Metallics", Float) = 0 + [Toggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1) + _MetallicTintMap ("Tint Map", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicTintMapUV ("UV", Int) = 0 + _MetallicMask ("Metallic Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicMaskUV ("UV", Int) = 0 + _Metallic ("Metallic", Range(0, 1)) = 0 + _SmoothnessMask ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SmoothnessMaskUV ("UV", Int) = 0 + [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _Smoothness ("Smoothness", Range(0, 1)) = 0 + [HideInInspector] m_end_Metallic ("Metallics", Float) = 0 + + // Clearcoat + [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0 + [Toggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0 + [Enum(Vertex, 0, Pixel, 1)] _ClearCoatNormalToUse ("What Normal?", Int) = 0 + _ClearCoatCubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_ClearCoatSampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _ClearCoatTint ("Reflection Tint", Color) = (1, 1, 1) + _ClearCoatMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatMaskUV ("UV", Int) = 0 + _ClearCoat ("Clear Coat", Range(0, 1)) = 1 + _ClearCoatSmoothnessMap ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatSmoothnessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatSmoothnessMapUV ("UV", Int) = 0 + [ToggleUI]_ClearCoatInvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _ClearCoatSmoothness ("Smoothness", Range(0, 1)) = 0 + [ToggleUI]_ClearCoatForceLighting ("Force Lighting", Float) = 0 + [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0 + + // First Matcap + [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0 + [Toggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0 + _MatcapColor ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { } + _MatcapBorder ("Border", Range(0, .5)) = 0.43 + _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MatcapMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0 + _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _MatcapIntensity ("Intensity", Range(0, 5)) = 1 + _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 + _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1 + _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0 + _MatcapAdd ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1 + [HideInInspector] m_end_matcap ("Matcap", Float) = 0 + + // Second Matcap + [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0 + [ToggleUI]_Matcap2Enable ("Enable Matcap 2", Float) = 0 + _Matcap2Color ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { } + _Matcap2Border ("Border", Range(0, .5)) = 0.43 + _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _Matcap2MaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0 + _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _Matcap2Intensity ("Intensity", Range(0, 5)) = 1 + _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0 + _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0 + _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0 + _Matcap2Add ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1 + [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0 + + // Specular + [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0 + [Toggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1 + _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMapUV ("UV", Int) = 0 + _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1 + [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMapUV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0 + _SpecularMask ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMaskUV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1 + // Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0 + _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0 + _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMapUV ("UV", Int) = 0 + //toon aniso + _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95 + _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0 + // Toon Specular + [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0 + + // Second Specular + [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0 + [ToggleUI]_EnableSpecular1 ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1 + _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0 + _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75 + _SpecularMap1 ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMap1UV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0 + _SpecularMask1 ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMask1UV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1 + // Second Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0 + _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0 + _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMap1UV ("UV", Int) = 0 + // Second toon aniso + _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95 + _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor1 ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0 + // Second Toon Specular + [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0 + + // First Emission + [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0 + [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0 + [Toggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0 + [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMapUV ("UV", Int) = 0 + _EmissionMask ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMaskUV ("UV", Int) = 0 + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0 + _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 + + // Center out emission + [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0 + + // Glow in the dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + // Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + _EmissionScrollingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0 + + // Second Enission + [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0 + [Toggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0 + [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMap1UV ("UV", Int) = 0 + _EmissionMask1 ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMask1UV ("UV", Int) = 0 + _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0 + _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0 + + // Second Center Out Enission + [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0 + + // Second Glow In The Dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Second Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + + // Scrolling Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0 + _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width1 ("Width", Float) = 10 + _EmissiveScroll_Velocity1 ("Velocity", Float) = 10 + _EmissiveScroll_Interval1 ("Interval", Float) = 20 + _EmissionScrollingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0 + + // Flipbook + [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0 + [Toggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0 + [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0 + [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookTexArrayUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookMask ("Mask", 2D) = "white" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookMaskUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1) + _FlipbookTotalFrames ("Total Frames", Int) = 1 + _FlipbookFPS ("FPS", Float) = 30.0 + _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0) + [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0 + _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _FlipbookRotation ("Rotation", Range(0, 360)) = 0 + _FlipbookRotationSpeed ("Rotation Speed", Float) = 0 + _FlipbookReplace ("Replace", Range(0, 1)) = 1 + _FlipbookMultiply ("Multiply", Range(0, 1)) = 0 + _FlipbookAdd ("Add", Range(0, 1)) = 0 + + // Flipbook Manual Control + [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0 + _FlipbookCurrentFrame ("Current Frame", Float) = -1 + [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0 + [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0 + + // Dissolve + [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0 + [Toggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0 + [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1 + _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025 + _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5 + _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1) + [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { } + _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0 + _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1) + _DissolveToTexture ("Dissolved Texture", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveToTextureUV ("UV", Int) = 0 + _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0 + _DissolveNoiseTexture ("Dissolve Noise", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0 + _DissolveDetailNoise ("Dissolve Detail Noise", 2D) = "black" { } + [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0 + _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1 + _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0 + _DissolveMask ("Dissolve Mask", 2D) = "white" { } + [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0 + [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0 + _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0 + [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2 + [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0 + + // Point to Point Dissolve + [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0 + [Enum(Local, 0, World, 1)] _DissolveP2PWorldLocal ("World/Local", Int) = 0 + _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1 + [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0) + [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0) + [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0 + + // Locked in anim sldiers + [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0 + _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0 + _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0 + _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0 + _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0 + _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0 + _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0 + _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0 + _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0 + _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0 + _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0 + [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0 + [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0 + + // Panosphere + [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + [Toggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0 + [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0 + _PanosphereColor ("Color", Color) = (1, 1, 1, 1) + _PanosphereTexture ("Texture", 2D) = "white" { } + _PanoMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _PanoMaskUV ("UV", Int) = 0 + _PanoEmission ("Emission Strength", Range(0, 10)) = 0 + _PanoBlend ("Alpha", Range(0, 1)) = 0 + [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0) + [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0 + [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { } + [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + + // Glitter + [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0 + [Toggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0 + [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0 + [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0 + [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0 + [HDR]_GlitterColor ("Color", Color) = (1, 1, 1) + _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0 + _GlitterColorMap ("Glitter Color Map", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterColorMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterMask ("Glitter Mask", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterMaskUV ("UV", Int) = 0 + _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterTextureRotation ("Rotation Speed", Float) = 0 + _GlitterFrequency ("Glitter Density", Float) = 300.0 + _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0 + _GlitterSpeed ("Glitter Speed", Float) = 10.0 + _GlitterSize ("Glitter Size", Range(0, 1)) = .3 + _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300 + _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90 + _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0 + _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3 + _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8 + _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08 + _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20 + _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0 + + // Glitter Random Colors + [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0 + [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0 + [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1) + [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1) + [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0 + [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1) + [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0 + [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0 + [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0 + + // MSDF OVERLAY + [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0 + _TextGlyphs ("Font Array", 2D) = "black" { } + _TextPixelRange ("Pixel Range", Float) = 4.0 + [Toggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0 + + // FPS + [HideInInspector] m_start_TextFPS ("FPS", Float) = 0 + [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextFPSUV ("FPS UV", Int) = 0 + _TextFPSColor ("Color", Color) = (1, 1, 1, 1) + _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextFPSRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1) + _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextFPS ("FPS", Float) = 0 + + // POSITION + [HideInInspector] m_start_TextPosition ("Position", Float) = 0 + [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextPositionUV ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVertical ("Vertical?", Float) = 0 + _TextPositionColor ("Color", Color) = (1, 0, 1, 1) + _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextPositionRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1) + _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextPosition ("Position", Float) = 0 + + // INSTANCE TIME + [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0 + [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextTimeUV ("Time UV", Int) = 0 + _TextTimeColor ("Color", Color) = (1, 0, 1, 1) + _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextTimeRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1) + _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0 + [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0 + + // Mirror Rendering + [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0 + [Toggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0 + [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0 + [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0 + _MirrorTexture ("Mirror Tex", 2D) = "white" { } + [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MirrorTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0 + + // Distance Fade + [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0 + _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0 + _MainFadeTexture ("Fade Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainFadeTextureUV ("UV", Int) = 0 + [Vector2]_MainDistanceFade ("Distance Fade X to Y", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0 + + // Angular Fade + [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0 + [Toggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0 + [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0 + [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0 + [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0) + _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45 + _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90 + _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45 + _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90 + _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0 + + // UV Distortion + [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0 + [Toggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0 + _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0 + _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { } + _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { } + _DistortionStrength ("Strength1", Float) = 0.5 + _DistortionStrength1 ("Strength2", Float) = 0.5 + [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0) + [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0) + [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0 + + // Outline Options + [HideInInspector] m_outlineOptions ("Outlines", Float) = 0 + [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0 + [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0 + _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0 + _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0 + _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0) + _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0) + [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0 + [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0 + [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1 + _LineWidth ("Width", Float) = 0 + _LineColor ("Color", Color) = (1, 1, 1, 1) + _OutlineEmission ("Outline Emission", Float) = 0 + _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineTextureUV ("UV", Int) = 0 + _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineMaskUV ("UV", Int) = 0 + _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0 + [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0) + [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1 + _OutlineOffsetFactor("Offset Factor", Float) = 0 + _OutlineOffsetUnits("Offset Units", Float) = 0 + [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0 + + // Parallax Mapping + [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0 + [Toggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0 + [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0 + [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0 + [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0 + [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0) + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0 + _ParallaxHeightMap ("Height Map", 2D) = "black" { } + _ParallaxHeightMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0 + _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0 + [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0 + [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0 + [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0 + [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0 + _ParallaxInternalMap ("Internal Map", 2D) = "black" { } + _ParallaxInternalMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0 + _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1 + _ParallaxInternalMinDepth ("Min Depth", Float) = 0 + _ParallaxInternalMaxDepth ("Max Depth", Float) = 1 + _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0 + _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1 + _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1) + _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1) + [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0) + [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0 + [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0 + _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42 + [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0 + + // Rendering Options + [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1 + [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15 + _OffsetFactor ("Offset Factor", Float) = 0.0 + _OffsetUnits ("Offset Units", Float) = 0.0 + [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 + [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown + + // Blending Options + [HideInInspector] m_start_blending ("Blending", Float) = 0 + [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 + [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1 + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0 + [HideInInspector] m_end_blending ("Blending", Float) = 0 + + // Stencils + [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 + + // Outline Stencil + [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{is_hideable:true, condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + // Debug Options + [HideInInspector] m_start_debugOptions ("Debug", Float) = 0 + [HideInInspector][Toggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0 + _VertexUnwrap ("Unwrap", Range(0, 1)) = 0 + [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0 + [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0 + [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0 + [HideInInspector] m_end_debugOptions ("Debug", Float) = 0 + + //[HideInInspector] m_animationToggles ("Animation Support Toggles", Float) = 0 + //[HelpBox(1)] _AnimationToggleHelp ("You don't need to search through this list. You can enable animation support on any property by right clicking it", Int) = 0 + + // Main + [HideInInspector]_ColorAnimated ("Color & Alpha", Int) = 0 + [HideInInspector]_MainTexAnimated ("Texture", Int) = 0 + [HideInInspector]_MainTex_STAnimated ("Texture Offset/Scale", Int) = 0 + [HideInInspector]_MainTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_SaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_MainVertexColoringAnimated ("Use Vertex Color", Int) = 0 + [HideInInspector]_MainUseVertexColorAlphaAnimated ("Use Vertex Alpha", Int) = 0 + [HideInInspector]_MainEmissionStrengthAnimated ("Basic Emission", Int) = 0 + [HideInInspector]_BumpMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_BumpMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_BumpMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_BumpScaleAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_AlphaMaskAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_AlphaMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AlphaMaskUVAnimated ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector]_MainHueShiftToggleAnimated ("Toggle Hueshift", Int) = 0 + [HideInInspector]_MainHueShiftReplaceAnimated ("Replace?", Int) = 0 + [HideInInspector]_MainHueShiftAnimated ("Hue Shift", Int) = 0 + [HideInInspector]_MainHueShiftSpeedAnimated ("Shift Speed", Int) = 0 + [HideInInspector]_MainHueShiftMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MainHueShiftMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainHueShiftMaskUVAnimated ("UV", Int) = 0 + + // RGB Masking + [HideInInspector]_RGBMaskEnabledAnimated ("RGB Mask Enabled", Int) = 0 + [HideInInspector]_RGBUseVertexColorsAnimated ("Use Vertex Colors", Int) = 0 + [HideInInspector]_RGBBlendMultiplicativeAnimated ("Multiplicative?", Int) = 0 + [HideInInspector]_RGBMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RGBMaskPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RedColorAnimated ("R Color", Int) = 0 + [HideInInspector]_RedTexureAnimated ("R Texture", Int) = 0 + [HideInInspector]_RGBRedPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBRed_UVAnimated ("UV", Int) = 0 + [HideInInspector]_GreenColorAnimated ("G Color", Int) = 0 + [HideInInspector]_GreenTextureAnimated ("G Texture", Int) = 0 + [HideInInspector]_RGBGreenPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBGreen_UVAnimated ("UV", Int) = 0 + [HideInInspector]_BlueColorAnimated ("B Color", Int) = 0 + [HideInInspector]_BlueTextureAnimated ("B Texture", Int) = 0 + [HideInInspector]_RGBBluePanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBBlue_UVAnimated ("UV", Int) = 0 + [HideInInspector]_RGBNormalBlendAnimated ("UV", Int) = 0 + + // Detail Options + [HideInInspector]_DetailMaskAnimated ("Detail Mask (R:Texture, G:Normal)", Int) = 0 + [HideInInspector]_DetailMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTintAnimated ("Detail Texture Tint", Int) = 0 + [HideInInspector]_DetailTexAnimated ("Detail Texture", Int) = 0 + [HideInInspector]_DetailTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTexIntensityAnimated ("Detail Tex Intensity", Int) = 0 + [HideInInspector]_DetailBrightnessAnimated ("Detail Brightness:", Int) = 0 + [HideInInspector]_DetailNormalMapAnimated ("Detail Normal", Int) = 0 + [HideInInspector]_DetailNormalMapScaleAnimated ("Detail Normal Intensity", Int) = 0 + [HideInInspector]_DetailNormalMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailNormalMapUVAnimated ("UV", Int) = 0 + + //Vertex Manipulations + [HideInInspector]_VertexManipulationLocalTranslationAnimated ("Local Translation", Int) = 0 + [HideInInspector]_VertexManipulationLocalRotationAnimated ("Local Rotation", Int) = 0 + [HideInInspector]_VertexManipulationLocalScaleAnimated ("Local Scale", Int) = 0 + [HideInInspector]_VertexManipulationWorldTranslationAnimated ("World Translation", Int) = 0 + [HideInInspector]_VertexManipulationHeightAnimated ("Vertex Height", Int) = 0 + [HideInInspector]_VertexManipulationHeightMaskAnimated ("Height Map", Int) = 0 + [HideInInspector]_VertexManipulationHeightPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VertexManipulationHeightUVAnimated ("UV", Int) = 0 + [HideInInspector]_VertexManipulationHeightBiasAnimated ("Mask Bias", Int) = 0 + [HideInInspector]_VertexRoundingEnabledAnimated ("Rounding Enabled", Int) = 0 + [HideInInspector]_VertexRoundingDivisionAnimated ("Division Amount", Int) = 0 + + // Alpha Options + [HideInInspector]_AlphaModAnimated ("Alpha Mod", Int) = 0 + [HideInInspector]_CutoffAnimated ("Alpha Cuttoff", Int) = 0 + [HideInInspector]_DitheringEnabledAnimated ("Enable Dithering", Int) = 0 + [HideInInspector]_DitherGradientAnimated ("Dither Gradient", Int) = 0 + [HideInInspector]_ForceOpaqueAnimated ("Force Opaque", Int) = 0 + [HideInInspector]_MainShadowClipModAnimated ("Shadow Clip Mod", Int) = 0 + [HideInInspector]_AlphaToMaskAnimated ("Alpha To Coverage", Int) = 0 + [HideInInspector]_MainAlphaToCoverageAnimated ("Sharpenned A2C", Int) = 0 + [HideInInspector]_AlphaPremultiplyAnimated ("Alpha Premultiply", Int) = 0 + [HideInInspector]_MainMipScaleAnimated ("Mip Level Alpha Scale", Int) = 0 + + // Decal Texture + [HideInInspector]_DecalEnabledAnimated ("Enable", Int) = 0 + [HideInInspector]_DecalColorAnimated ("Color", Int) = 0 + [HideInInspector]_DecalEmissionStrengthAnimated ("Color", Int) = 0 + [HideInInspector]_DecalTextureAnimated ("Decal", Int) = 0 + [HideInInspector]_DecalTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DecalMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_DecalScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_DecalPositionAnimated ("Position", Int) = 0 + [HideInInspector]_DecalRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_DecalRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_DecalBlendAddAnimated ("Add", Int) = 0 + [HideInInspector]_DecalBlendMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_DecalBlendReplaceAnimated ("Replace", Int) = 0 + + // Lighting + [HideInInspector]_EnableLightingAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LightingModeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingStandardSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_LightingShadingEnabledAnimated ("Enable Shading-",Int) = 0 + [HideInInspector]_LightingRampTypeAnimated ("Ramp Type", Int) = 0 + [HideInInspector]_ToonRampAnimated ("Lighting Ramp", Int) = 0 + [HideInInspector]_LightingShadowMaskAnimated ("Ramp Mask", Int) = 0 + [HideInInspector]_LightingShadowMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ShadowOffsetAnimated ("Ramp Offset", Int) = 0 + [HideInInspector]_LightingGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingShadowColorAnimated ("Shadow Tint", Int) = 0 + [HideInInspector]_ShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_AttenuationMultiplierAnimated ("Unity Shadows", Int) = 0 + [HideInInspector]_LightingIgnoreAmbientColorAnimated ("Ignore Ambient Color", Int) = 0 + + [HideInInspector]_LightingDirectColorModeAnimated ("D Color", Int) = 0 + [HideInInspector]_LightingIndirectColorModeAnimated ("I Color?", Int) = 0 + [HideInInspector]_LightingMonochromaticAnimated ("Monochromatic Lighting?", Int) = 0 + [HideInInspector]_LightingUncappedAnimated ("Uncapped Lighting", Int) = 0 + [HideInInspector]_LightingOnlyUnityShadowsAnimated ("Only Unity Shadows", Int) = 0 + [HideInInspector]_LightingMinLightBrightnessAnimated ("Min Brightnes", Int) = 0 + [HideInInspector]_LightingMinShadowBrightnessRatioAnimated ("Shadow:Light min Ratio", Int) = 0 + + [HideInInspector]_LightingDetailShadowsEnabledAnimated ("Enabled Detail Shadows?", Int) = 0 + [HideInInspector]_LightingDetailShadowsAnimated ("Detail Shadows", Int) = 0 + [HideInInspector]_LightingDetailShadowsPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingDetailShadowsUVAnimated ("UV", Int) = 0 + [HideInInspector]_LightingDetailStrengthAnimated ("Detail Strength", Int) = 0 + + [HideInInspector]_LightingEnableAOAnimated ("Enable AO", Int) = 0 + [HideInInspector]_LightingAOTexAnimated ("AO Map", Int) = 0 + [HideInInspector]_LightingAOTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingAOTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_AOStrengthAnimated ("AO Strength", Range(0, 1)) = 0 + + [HideInInspector]_UseShadowTextureAnimated ("EnableShadowTexture", Int) = 0 + [HideInInspector]_LightingShadowTextureAnimated ("Shadow Texture", Int) = 0 + [HideInInspector]_LightingShadowTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowTextureUVAnimated ("UV", Int) = 0 + + [HideInInspector]_LightingEnableHSLAnimated ("Enabled HSL Lighting", Int) = 0 + [HideInInspector]_LightingHSLIntensityAnimated ("Shadow HSL Intensity", Int) = 0 + [HideInInspector]_LightingShadowHueAnimated ("Shadow Hue Change", Int) = 0 + [HideInInspector]_LightingShadowSaturationAnimated ("Shadow Saturation Change", Int) = 0 + [HideInInspector]_LightingShadowLightnessAnimated ("Shadow Lightness Change", Int) = 0 + + // point/spot Light Settings + [HideInInspector]_commentIfZero_LightingAdditiveEnableAnimated ("Enable Additive", Int) = 0 + [HideInInspector]_LightingAdditiveTypeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingAdditiveGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingAdditiveGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingAdditivePassthroughAnimated ("Point Light Passthrough", Int) = 0 + [HideInInspector]_LightingAdditiveDetailStrengthAnimated ("Detail Shadow Strength", Int) = 0 + [HideInInspector]_LightingAdditiveLimitIntensityAnimated ("Limit Intensity", Int) = 0 + [HideInInspector]_LightingAdditiveMaxIntensityAnimated ("Max Intensity", Int) = 0 + + // Subsurface Scattering + [HideInInspector]_EnableSSSAnimated ("Enable Subsurface Scattering", Int) = 0 + [HideInInspector]_SSSColorAnimated ("Subsurface Color", Int) = 0 + [HideInInspector]_SSSThicknessMapAnimated ("Thickness Map", Int) = 0 + [HideInInspector]_SSSThicknessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SSSThicknessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SSSThicknessModAnimated ("Thickness mod", Int) = 0 + [HideInInspector]_SSSSCaleAnimated ("Light Strength", Int) = 0 + [HideInInspector]_SSSPowerAnimated ("Light Spread", Int) = 0 + [HideInInspector]_SSSDistortionAnimated ("Light Distortion", Int) = 0 + + // Rim Lighting + [HideInInspector]_EnableRimLightingAnimated ("Enable Rim Lighting", Int) = 0 + [HideInInspector]_RimLightNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_RimLightingInvertAnimated ("Invert Rim Lighting", Int) = 0 + [HideInInspector]_RimLightColorAnimated ("Rim Color", Int) = 0 + [HideInInspector]_RimWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimStrengthAnimated ("Rim Emission", Int) = 0 + [HideInInspector]_RimBrightenAnimated ("Rim Color Brighten", Int) = 0 + [HideInInspector]_RimLightColorBiasAnimated ("Rim Color Bias", Int) = 0 + [HideInInspector]_RimTexAnimated ("Rim Texture", Int) = 0 + [HideInInspector]_RimTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimMaskAnimated ("Rim Mask", Int) = 0 + [HideInInspector]_RimMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimMaskUVAnimated ("UV", Int) = 0 + + // Rim Noise + [HideInInspector]_RimWidthNoiseTextureAnimated ("Rim Width Noise", Int) = 0 + [HideInInspector]_RimWidthNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimWidthNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimWidthNoiseStrengthAnimated ("Intensity", Int) = 0 + + // Rim Shadow Mix + [HideInInspector]_ShadowMixAnimated ("Shadow Mix In", Int) = 0 + [HideInInspector]_ShadowMixThresholdAnimated ("Shadow Mix Threshold", Int) = 0 + [HideInInspector]_ShadowMixWidthModAnimated ("Shadow Mix Width Mod", Int) = 0 + + // Environmental Rim Lighting + [HideInInspector]_EnableEnvironmentalRimAnimated ("Enable Environmental Rim", Int) = 0 + [HideInInspector]_RimEnviroMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RimEnviroMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimEnviroMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimEnviroBlurAnimated ("Blur", Int) = 0 + [HideInInspector]_RimEnviroWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimEnviroSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimEnviroMinBrightnessAnimated ("Min Brightness Threshold", Int) = 0 + [HideInInspector]_RimEnviroIntensityAnimated ("Intensity", Int) = 0 + + // Metallics + [HideInInspector]_EnableMetallicAnimated ("Enable Metallics", Int) = 0 + [HideInInspector]_CubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_SampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_MetalReflectionTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_MetallicTintMapAnimated ("Tint Map", Int) = 0 + [HideInInspector]_MetallicTintMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicTintMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicMaskAnimated ("Metallic Mask", Int) = 0 + [HideInInspector]_MetallicMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SmoothnessMaskAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SmoothnessMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_InvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessAnimated ("Smoothness", Int) = 0 + + // Clearcoat + [HideInInspector]_EnableClearCoatAnimated ("Enable Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatNormalToUseAnimated ("What Normal?", Int) = 0 + [HideInInspector]_ClearCoatCubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_ClearCoatSampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_ClearCoatTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_ClearCoatMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ClearCoatMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatInvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_ClearCoatForceLightingAnimated ("Force Lighting", Int) = 0 + + // First Matcap + [HideInInspector]_MatcapEnableAnimated ("Enable Matcap", Int) = 0 + [HideInInspector]_MatcapColorAnimated ("Color", Int) = 0 + [HideInInspector]_MatcapAnimated ("Matcap", Int) = 0 + [HideInInspector]_MatcapBorderAnimated ("Border", Int) = 0 + [HideInInspector]_MatcapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MatcapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MatcapMaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_MatcapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MatcapEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_MatcapIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_MatcapLightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_MatcapReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_MatcapMultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_MatcapAddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_MatcapNormalAnimated ("Normal to use", Int) = 0 + + // Second Matcap + [HideInInspector]_Matcap2EnableAnimated ("Enable Matcap 2", Int) = 0 + [HideInInspector]_Matcap2ColorAnimated ("Color", Int) = 0 + [HideInInspector]_Matcap2Animated ("Matcap", Int) = 0 + [HideInInspector]_Matcap2BorderAnimated ("Border", Int) = 0 + [HideInInspector]_Matcap2MaskAnimated ("Mask", Int) = 0 + [HideInInspector]_Matcap2MaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_Matcap2MaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_Matcap2MaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_Matcap2EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_Matcap2IntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_Matcap2LightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_Matcap2ReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_Matcap2MultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_Matcap2AddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_Matcap2NormalAnimated ("Normal to use", Int) = 0 + + // Specular + [HideInInspector]_EnableSpecularAnimated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularTypeAnimated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTintAnimated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMapAnimated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothnessAnimated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMaskAnimated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFromAnimated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangentAnimated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1AlphaAnimated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2AlphaAnimated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1OffsetAnimated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2SmoothnessAnimated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMapAnimated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMapAnimated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStartAnimated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEndAnimated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColorAnimated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirroredAnimated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroAnimated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplierAnimated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroAnimated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplierAnimated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuterAnimated ("Inner/Outer Edge", Int) = 0 + + // Second Specular + [HideInInspector]_EnableSpecular1Animated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularType1Animated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormal1Animated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTint1Animated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallic1Animated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothness1Animated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMap1Animated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothness1Animated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMask1Animated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFrom1Animated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangent1Animated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1Alpha1Animated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2Alpha1Animated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1Offset1Animated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2Smoothness1Animated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMap1Animated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMap1Animated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStart1Animated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEnd1Animated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColor1Animated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirrored1Animated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1Animated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplier1Animated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1Animated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplier1Animated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuter1Animated ("Inner/Outer Edge", Int) = 0 + + // First Emission + [HideInInspector]_EnableEmissionAnimated ("Enable Emission", Int) = 0 + [HideInInspector]_EmissionReplaceAnimated ("Replace Base Color", Int) = 0 + [HideInInspector]_EmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMapAnimated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMapAnimated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMaskAnimated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabledAnimated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShiftAnimated ("Hue Shift", Int) = 0 + + // Center out emission + [HideInInspector]_EmissionCenterOutEnabledAnimated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeedAnimated ("Flow Speed", Int) = 0 + + // Glow in the dark Emission + [HideInInspector]_EnableGITDEmissionAnimated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMeshAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplierAnimated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplierAnimated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLightAnimated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLightAnimated ("Max Lighting", Int) = 0 + + // Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_MinAnimated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_MaxAnimated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_VelocityAnimated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffsetAnimated ("Offset", Int) = 0 + + // Scrolling Emission + [HideInInspector]_ScrollingEmissionAnimated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurveAnimated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurveAnimated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColorAnimated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_DirectionAnimated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_WidthAnimated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_VelocityAnimated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_IntervalAnimated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffsetAnimated ("Offset", Int) = 0 + + // Second Enission + [HideInInspector]_EnableEmission1Animated ("Enable Emission 2", Int) = 0 + [HideInInspector]_EmissionColor1Animated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMap1Animated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMap1Animated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMask1Animated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrength1Animated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabled1Animated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShift1Animated ("Hue Shift", Int) = 0 + + // Second Center Out Enission + [HideInInspector]_EmissionCenterOutEnabled1Animated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeed1Animated ("Flow Speed", Int) = 0 + + // Second Glow In The Dark Emission + [HideInInspector]_EnableGITDEmission1Animated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMesh1Animated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplier1Animated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplier1Animated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLight1Animated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLight1Animated ("Max Lighting", Int) = 0 + + // Second Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_Min1Animated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_Max1Animated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_Velocity1Animated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffset1Animated ("Offset", Int) = 0 + + // Scrolling Scrolling Emission + [HideInInspector]_ScrollingEmission1Animated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurve1Animated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurve1Animated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColor1Animated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_Direction1Animated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_Width1Animated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_Velocity1Animated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_Interval1Animated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffset1Animated ("Offset", Int) = 0 + + // Flipbook + [HideInInspector]_EnableFlipbookAnimated ("Enable Flipbook", Int) = 0 + [HideInInspector]_FlipbookAlphaControlsFinalAlphaAnimated ("Flipbook Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookIntensityControlsAlphaAnimated ("Intensity Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookColorReplacesAnimated ("Color Replaces Flipbook", Int) = 0 + [HideInInspector]_FlipbookTexArrayAnimated ("Texture Array", Int) = 0 + [HideInInspector]_FlipbookTexArrayUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookTexArrayPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_FlipbookMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookColorAnimated ("Color & alpha", Int) = 0 + [HideInInspector]_FlipbookTotalFramesAnimated ("Total Frames", Int) = 0 + [HideInInspector]_FlipbookFPSAnimated ("FPS", Int) = 0 + [HideInInspector]_FlipbookScaleOffsetAnimated ("Scale | Offset", Int) = 0 + [HideInInspector]_FlipbookTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_FlipbookEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_FlipbookRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_FlipbookRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_FlipbookReplaceAnimated ("Replace", Int) = 0 + [HideInInspector]_FlipbookMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_FlipbookAddAnimated ("Add", Int) = 0 + [HideInInspector]_FlipbookCurrentFrameAnimated ("Current Frame", Int) = 0 + + // Dissolve + [HideInInspector]_EnableDissolveAnimated ("Enable Dissolve", Int) = 0 + [HideInInspector]_DissolveTypeAnimated ("Dissolve Type", Int) = 0 + [HideInInspector]_DissolveEdgeWidthAnimated ("Edge Width", Int) = 0 + [HideInInspector]_DissolveEdgeHardnessAnimated ("Edge Hardness", Int) = 0 + [HideInInspector]_DissolveEdgeColorAnimated ("Edge Color", Int) = 0 + [HideInInspector]_DissolveEdgeGradientAnimated ("Edge Gradient", Int) = 0 + [HideInInspector]_DissolveEdgeEmissionAnimated ("Edge Emission", Int) = 0 + [HideInInspector]_DissolveTextureColorAnimated ("Dissolved Color", Int) = 0 + [HideInInspector]_DissolveToTextureAnimated ("Dissolved Texture", Int) = 0 + [HideInInspector]_DissolveToTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveToTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveToEmissionStrengthAnimated ("Dissolved Emission Strength", Int) = 0 + [HideInInspector]_DissolveNoiseTextureAnimated ("Dissolve Noise", Int) = 0 + [HideInInspector]_DissolveNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailNoiseAnimated ("Dissolve Detail Noise", Int) = 0 + [HideInInspector]_DissolveDetailNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveDetailNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertDetailNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailStrengthAnimated ("Dissolve Detail Strength", Int) = 0 + [HideInInspector]_DissolveAlphaAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveUseVertexColorsAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveMaskAnimated ("Dissolve Mask", Int) = 0 + [HideInInspector]_DissolveMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveMaskInvertAnimated ("Invert?", Int) = 0 + [HideInInspector]_ContinuousDissolveAnimated ("Continuous Dissolve Speed", Int) = 0 + [HideInInspector]_DissolveEmissionSideAnimated ("Emission 1", Int) = 0 + [HideInInspector]_DissolveEmission1SideAnimated ("Emission 2", Int) = 0 + + // Point to Point Dissolve + [HideInInspector]_DissolveP2PWorldLocalAnimated ("World/Local", Int) = 0 + [HideInInspector]_DissolveP2PEdgeLengthAnimated ("Edge Length", Int) = 0 + [HideInInspector]_DissolveStartPointAnimated ("Start Point", Int) = 0 + [HideInInspector]_DissolveEndPointAnimated ("End Point", Int) = 0 + + [HideInInspector]_DissolveAlpha0Animated ("_DissolveAlpha0", Int) = 0 + [HideInInspector]_DissolveAlpha1Animated ("_DissolveAlpha1", Int) = 0 + [HideInInspector]_DissolveAlpha2Animated ("_DissolveAlpha2", Int) = 0 + [HideInInspector]_DissolveAlpha3Animated ("_DissolveAlpha3", Int) = 0 + [HideInInspector]_DissolveAlpha4Animated ("_DissolveAlpha4", Int) = 0 + [HideInInspector]_DissolveAlpha5Animated ("_DissolveAlpha5", Int) = 0 + [HideInInspector]_DissolveAlpha6Animated ("_DissolveAlpha6", Int) = 0 + [HideInInspector]_DissolveAlpha7Animated ("_DissolveAlpha7", Int) = 0 + [HideInInspector]_DissolveAlpha8Animated ("_DissolveAlpha8", Int) = 0 + [HideInInspector]_DissolveAlpha9Animated ("_DissolveAlpha9", Int) = 0 + + // Panosphere + [HideInInspector]_PanoToggleAnimated ("Enable Panosphere", Int) = 0 + [HideInInspector]_PanoInfiniteStereoToggleAnimated ("Infinite Stereo", Int) = 0 + [HideInInspector]_PanosphereColorAnimated ("Color", Int) = 0 + [HideInInspector]_PanosphereTextureAnimated ("Texture", Int) = 0 + [HideInInspector]_PanoMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_PanoMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_PanoMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_PanoEmissionAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_PanoBlendAnimated ("Alpha", Int) = 0 + [HideInInspector]_PanospherePanAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_PanoCubeMapToggleAnimated ("Use Cubemap", Int) = 0 + [HideInInspector]_PanoCubeMapAnimated ("CubeMap", Int) = 0 + + // Glitter + [HideInInspector]_GlitterEnableAnimated ("Enable Glitter?", Int) = 0 + [HideInInspector]_GlitterModeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterShapeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterBlendTypeAnimated ("Blend Mode", Int) = 0 + [HideInInspector]_GlitterColorAnimated ("Color", Int) = 0 + [HideInInspector]_GlitterUseSurfaceColorAnimated ("Use Surface Color", Int) = 0 + [HideInInspector]_GlitterColorMapAnimated ("Glitter Color Map", Int) = 0 + [HideInInspector]_GlitterColorMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterColorMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterTextureAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterRandomRotationAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterFrequencyAnimated ("Glitter Density", Int) = 0 + [HideInInspector]_GlitterJitterAnimated ("Glitter Jitter", Int) = 0 + [HideInInspector]_GlitterSpeedAnimated ("Glitter Wobble Speed", Int) = 0 + [HideInInspector]_GlitterSizeAnimated ("Glitter Size", Int) = 0 + [HideInInspector]_GlitterContrastAnimated ("Glitter Contrast", Int) = 0 + [HideInInspector]_GlitterAngleRangeAnimated ("Glitter Angle Range", Int) = 0 + [HideInInspector]_GlitterMinBrightnessAnimated ("Glitter Min Brightness", Int) = 0 + [HideInInspector]_GlitterBrightnessAnimated ("Glitter Max Brightness", Int) = 0 + [HideInInspector]_GlitterBiasAnimated ("Glitter Bias", Int) = 0 + [HideInInspector]_GlitterCenterSizeAnimated ("center size", Int) = 0 + [HideInInspector]_GlitterTextureRotationAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_glitterFrequencyLinearEmissiveAnimated ("Frequency", Int) = 0 + [HideInInspector]_GlitterJaggyFixAnimated ("Jaggy Fix", Int) = 0 + + // Glitter Random Colors + [HideInInspector]_GlitterRandomColorsAnimated ("Enable", Int) = 0 + [HideInInspector]_GlitterMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_GlitterMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + [HideInInspector]_GlitterRandomSizeAnimated ("random Size Toggle", Int) = 0 + [HideInInspector]_GlitterMinMaxSizeAnimated ("Min Max Random Size", Int) = 0 + + // MSDF OVERLAY + [HideInInspector]_TextGlyphsAnimated ("Font Array", Int) = 0 + [HideInInspector]_TextPixelRangeAnimated ("Pixel Range", Int) = 0 + [HideInInspector]_TextEnabledAnimated ("Text?", Int) = 0 + + // FPS + [HideInInspector]_TextFPSEnabledAnimated ("FPS Text?", Int) = 0 + [HideInInspector]_TextFPSUVAnimated ("FPS UV", Int) = 0 + [HideInInspector]_TextFPSColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextFPSEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextFPSOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextFPSRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextFPSScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextFPSPaddingAnimated ("Padding Reduction", Int) = 0 + + // POSITION + [HideInInspector]_TextPositionEnabledAnimated ("Position Text?", Int) = 0 + [HideInInspector]_TextPositionUVAnimated ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVerticalAnimated ("Vertical?", Int) = 0 + [HideInInspector]_TextPositionColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextPositionEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextPositionOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextPositionRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextPositionScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextPositionPaddingAnimated ("Padding Reduction", Int) = 0 + + // INSTANCE TIME + [HideInInspector]_TextTimeEnabledAnimated ("Time Text?", Int) = 0 + [HideInInspector]_TextTimeUVAnimated ("Time UV", Int) = 0 + [HideInInspector]_TextTimeColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextTimeEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextTimeOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextTimeRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextTimeScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextTimePaddingAnimated ("Padding Reduction", Int) = 0 + + // Mirror Rendering + [HideInInspector]_EnableMirrorOptionsAnimated ("Enable Mirror Options", Int) = 0 + [HideInInspector]_MirrorAnimated ("Show in mirror", Int) = 0 + [HideInInspector]_EnableMirrorTextureAnimated ("Enable Mirror Texture", Int) = 0 + [HideInInspector]_MirrorTextureAnimated ("Mirror Tex", Int) = 0 + [HideInInspector]_MirrorTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MirrorTextureUVAnimated ("UV", Int) = 0 + + // Distance Fade + [HideInInspector]_MainMinAlphaAnimated ("Minimum Alpha", Int) = 0 + [HideInInspector]_MainFadeTextureAnimated ("Fade Mask", Int) = 0 + [HideInInspector]_MainFadeTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainFadeTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_MainDistanceFadeAnimated ("Distance Fade X to Y", Int) = 0 + + // Angular Fade + [HideInInspector]_EnableRandomAnimated ("Enable Angular Fade", Int) = 0 + [HideInInspector]_AngleTypeAnimated ("Angle Type", Int) = 0 + [HideInInspector]_AngleCompareToAnimated ("Model or Vert Positon", Int) = 0 + [HideInInspector]_AngleForwardDirectionAnimated ("Forward Direction", Int) = 0 + [HideInInspector]_CameraAngleMinAnimated ("Camera Angle Min", Int) = 0 + [HideInInspector]_CameraAngleMaxAnimated ("Camera Angle Max", Int) = 0 + [HideInInspector]_ModelAngleMinAnimated ("Model Angle Min", Int) = 0 + [HideInInspector]_ModelAngleMaxAnimated ("Model Angle Max", Int) = 0 + [HideInInspector]_AngleMinAlphaAnimated ("Min Alpha", Int) = 0 + + // UV Distortion + [HideInInspector]_EnableDistortionAnimated ("Enabled?", Int) = 0 + [HideInInspector]_DistortionMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DistortionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DistortionMaskUVAnimated ("Distortion Mask UV", Int) = 0 + [HideInInspector]_DistortionFlowTextureAnimated ("Distortion Texture 1", Int) = 0 + [HideInInspector]_DistortionFlowTexture1Animated ("Distortion Texture 2", Int) = 0 + [HideInInspector]_DistortionStrengthAnimated ("Strength1", Int) = 0 + [HideInInspector]_DistortionStrength1Animated ("Strength2", Int) = 0 + [HideInInspector]_DistortionSpeedAnimated ("Speed1", Int) = 0 + [HideInInspector]_DistortionSpeed1Animated ("Speed2", Int) = 0 + + // Video Options + [HideInInspector]_EnableVideoAnimated ("Enable Video", Int) = 0 + [HideInInspector]_VideoUVNumberAnimated ("Screen UV#", Int) = 0 + [HideInInspector]_VideoTypeAnimated ("Screen Type", Int) = 0 + [HideInInspector]_VideoBacklightAnimated ("Brightness", Int) = 0 + [HideInInspector]_VideoPixelTextureAnimated ("Pixel Texture", Int) = 0 + [HideInInspector]_VideoResolutionAnimated ("Resolution", Int) = 0 + [HideInInspector]_VideoMaskTextureAnimated ("Mask", Int) = 0 + [HideInInspector]_VideoMaskPanningAnimated ("Mask Pan Speed", Int) = 0 + [HideInInspector]_VideoEnableVideoPlayerAnimated ("Enable Video Player", Int) = 0 + [HideInInspector]_VideoPixelateToResolutionAnimated ("Pixelate To Resolution", Int) = 0 + [HideInInspector]_VideoRepeatVideoTextureAnimated ("Clamp To UV", Int) = 0 + [HideInInspector]_VideoPanningAnimated ("Panning Speed", Int) = 0 + [HideInInspector]_VideoTilingAnimated ("Tiling", Int) = 0 + [HideInInspector]_VideoOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_VideoSaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_VideoContrastAnimated ("Contrast boost", Int) = 0 + [HideInInspector]_VideoEnableDebugAnimated ("Enable Debug", Int) = 0 + [HideInInspector]_VideoDebugTextureAnimated ("Video Debug Tex", Int) = 0 + [HideInInspector]_VideoCRTRefreshRateAnimated ("Refresh Rate", Int) = 0 + [HideInInspector]_VideoCRTPixelEnergizedTimeAnimated ("Pixel Fade Time", Int) = 0 + [HideInInspector]_VideoGameboyRampAnimated ("Color Ramp", Int) = 0 + + // TouchFX + [HideInInspector]_EnableBulgeAnimated ("Bulge", Int) = 0 + [HideInInspector]_BulgeMaskAnimated ("Bulge Mask", Int) = 0 + [HideInInspector]_BuldgeFadeLengthAnimated ("Touch Distance", Int) = 0 + [HideInInspector]_BuldgeHeightAnimated ("Bulge Height", Int) = 0 + + [HideInInspector]_EnableTouchGlowAnimated ("Enable Touch Glow", Int) = 0 + [HideInInspector]_DepthGradientTextureUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientBlendAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientPanAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientUVAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskPanAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGlowColorAnimated ("Depth Glow Color", Int) = 0 + [HideInInspector]_DepthGradientAnimated ("Depth Gradient", Int) = 0 + [HideInInspector]_DepthMaskAnimated ("Depth Mask", Int) = 0 + [HideInInspector]_DepthGlowEmissionAnimated ("Depth Glow Emission", Int) = 0 + [HideInInspector]_FadeLengthAnimated ("Fade Length", Int) = 0 + [HideInInspector]_DepthAlphaMinAnimated ("Alpha Min", Int) = 0 + [HideInInspector]_DepthAlphaMaxAnimated ("Alpha Max", Int) = 0 + + // Hologram + [HideInInspector]_EnableHoloAnimated ("Enable Hologram Alpha", Int) = 0 + [HideInInspector]_HoloAlphaMapAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_HoloCoordinateSpaceAnimated ("Coordinate Space", Int) = 0 + [HideInInspector]_HoloDirectionAnimated ("Scroll Direction", Int) = 0 + [HideInInspector]_HoloLineDensityAnimated ("Line Density", Int) = 0 + [HideInInspector]_HoloScrollSpeedAnimated ("Scroll Speed", Int) = 0 + [HideInInspector]_HoloFresnelAlphaAnimated ("Intensity", Int) = 0 + [HideInInspector]_HoloRimSharpnessAnimated ("Sharpness", Int) = 0 + [HideInInspector]_HoloRimWidthAnimated ("Width", Int) = 0 + + // GrabPass + [HideInInspector]_GrabPassUseAlphaAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabPassBlendFactorAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabSrcBlendAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabDstBlendAnimated ("Destination Blend", Int) = 0 + [HideInInspector]_RefractionEnabledAnimated ("Enable Refraction,", Int) = 0 + [HideInInspector]_RefractionIndexAnimated ("Refraction", Int) = 0 + [HideInInspector]_RefractionChromaticAberattionAnimated ("Chromatic Aberration", Int) = 0 + [HideInInspector]_EnableBlurAnimated ("Enable Blur", Int) = 0 + [HideInInspector]_GrabBlurDistanceAnimated ("Blur Distance", Int) = 0 + [HideInInspector]_GrabBlurQualityAnimated ("Blur Quality", Int) = 0 + [HideInInspector]_GrabBlurDirectionsAnimated ("Blur Direction", Int) = 0 + + // Iridescence + [HideInInspector]_EnableIridescenceAnimated ("Enable Iridescence", Int) = 0 + [HideInInspector]_IridescenceRampAnimated ("Ramp", Int) = 0 + [HideInInspector]_IridescenceNormalToggleAnimated ("Custom Normals?", Int) = 0 + [HideInInspector]_IridescenceNormalMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_IridescenceMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_IridescenceNormalIntensityAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_IridescenceNormalUVAnimated ("Normal UV", Int) = 0 + [HideInInspector]_IridescenceMaskUVAnimated ("Mask UV", Int) = 0 + [HideInInspector]_IridescenceNormalSelectionAnimated ("Normal Select", Int) = 0 + [HideInInspector]_IridescenceIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_IridescenceAddBlendAnimated ("Blend Add", Int) = 0 + [HideInInspector]_IridescenceReplaceBlendAnimated ("Blend Replace", Int) = 0 + [HideInInspector]_IridescenceMultiplyBlendAnimated ("Blend Multiply", Int) = 0 + [HideInInspector]_IridescenceEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_IridescenceTimeAnimated ("When To Run", Int) = 0 + + // Vertex Glitching + [HideInInspector]_EnableVertexGlitchAnimated ("Enable Vertex Glitching", Int) = 0 + [HideInInspector]_VertexGlitchFrequencyAnimated ("Glitch Interval", Int) = 0 + [HideInInspector]_VertexGlitchThresholdAnimated ("Glitch Threshold", Int) = 0 + [HideInInspector]_VertexGlitchStrengthAnimated ("Glitch Strength", Int) = 0 + + // Spawn In Effects + [HideInInspector]_EnableScifiSpawnInAnimated ("Enable Sci Fi Spawn", Int) = 0 + [HideInInspector]_SpawnInNoiseAnimated ("Spawn Noise", Int) = 0 + [HideInInspector]_SpawnInNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_SpawnInAlphaAnimated ("Spawn Alpha", Int) = 0 + [HideInInspector]_SpawnInGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_SpawnInGradientFinishAnimated ("Gradient End", Int) = 0 + [HideInInspector]_SpawnInEmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_SpawnInEmissionOffsetAnimated ("Emission Width", Int) = 0 + [HideInInspector]_SpawnInVertOffsetAnimated ("Vertex Offset Speed", Int) = 0 + [HideInInspector]_SpawnInVertOffsetOffsetAnimated ("vert width", Int) = 0 + + // Voronoi + [HideInInspector]_VoronoiTypeAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiSpaceAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiBlendAnimated ("Blend", Int) = 0 + [HideInInspector]_EnableVoronoiAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiEffectsMaterialAlphaAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_VoronoiMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseAnimated ("Edge Noise", Int) = 0 + [HideInInspector]_VoronoiNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_VoronoiColor0Animated ("Color 0", Int) = 0 + [HideInInspector]_VoronoiEmission0Animated ("Emission 0", Int) = 0 + [HideInInspector]_VoronoiColor1Animated ("Color 1", Int) = 0 + [HideInInspector]_VoronoiEmission1Animated ("Emission 1", Int) = 0 + [HideInInspector]_VoronoiGradientAnimated ("Gradient", Int) = 0 + [HideInInspector]_VoronoiScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_VoronoiSpeedAnimated ("Speed", Int) = 0 + [HideInInspector]_VoronoiEnableRandomCellColorAnimated ("Rando Cell Col", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + + // Blacklight mask + [HideInInspector]_BlackLightMaskEnabledAnimated ("Black Light Mask Enabled", Int) = 0 + [HideInInspector]_BlackLightMaskKeysAnimated ("Mask Keys", Int) = 0 + [HideInInspector]_BlackLightMaskStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_BlackLightMaskEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_BlackLightMaskDebugAnimated ("Visualize", Int) = 0 + [HideInInspector]_BlackLightMaskMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_BlackLightMaskClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_BlackLightMaskMatcapAnimated ("Matcap 1", Int) = 0 + [HideInInspector]_BlackLightMaskMatcap2Animated ("Matcap 2", Int) = 0 + [HideInInspector]_BlackLightMaskEmissionAnimated ("Emission 1", Int) = 0 + [HideInInspector]_BlackLightMaskEmission2Animated ("Emission 2", Int) = 0 + [HideInInspector]_BlackLightMaskFlipbookAnimated ("Flipbook", Int) = 0 + [HideInInspector]_BlackLightMaskDissolveAnimated ("Dissolve", Int) = 0 + [HideInInspector]_BlackLightMaskPanosphereAnimated ("Panosphere", Int) = 0 + [HideInInspector]_BlackLightMaskGlitterAnimated ("Glitter", Int) = 0 + [HideInInspector]_BlackLightMaskIridescenceAnimated ("Iridescence", Int) = 0 + + // Outline Options + [HideInInspector]_OutlineModeAnimated ("Mode", Int) = 0 + [HideInInspector]_OutlineFixedSizeAnimated ("Fixed Size?", Int) = 0 + [HideInInspector]_OutlineUseVertexColorsAnimated ("V Color", Int) = 0 + [HideInInspector]_OutlineLitAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LineWidthAnimated ("Width", Int) = 0 + [HideInInspector]_LineColorAnimated ("Color", Int) = 0 + [HideInInspector]_OutlineTintMixAnimated ("Tint Mix", Int) = 0 + [HideInInspector]_OutlineEmissionAnimated ("Outline Emission", Int) = 0 + [HideInInspector]_OutlineTextureAnimated ("Outline Texture", Int) = 0 + [HideInInspector]_OutlineMaskAnimated ("Outline Mask", Int) = 0 + [HideInInspector]_OutlineTexturePanAnimated ("Outline Texture Pan", Int) = 0 + [HideInInspector]_OutlineShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_OutlineRimLightBlendAnimated ("Rim Light Blend", Int) = 0 + [HideInInspector]_OutlinePersonaDirectionAnimated ("directional Offset XY", Int) = 0 + [HideInInspector]_OutlineDropShadowOffsetAnimated ("Drop Direction XY", Int) = 0 + [HideInInspector]_OutlineFadeDistanceAnimated ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetFactor ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetUnits ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineCullAnimated ("Cull", Int) = 0 + + // Parallax Mapping + [HideInInspector]_ParallaxMapAnimated ("Enable Parallax FX", Int) = 0 + [HideInInspector]_ParallaxHeightMapEnabledAnimated ("Enable Parallax Height", Int) = 0 + [HideInInspector]_ParallaxInternalMapEnabledAnimated ("Enable Parallax Internal", Int) = 0 + [HideInInspector]_ParallaxHeightMapPanAnimated ("Pan", Int) = 0 + [HideInInspector]_ParallaxUVAnimated ("Parallax UV", Int) = 0 + [HideInInspector]_ParallaxHeightMapAnimated ("Height Map", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxStrengthAnimated ("Parallax Strength", Int) = 0 + [HideInInspector]_ParallaxInternalHeightmapModeAnimated ("Parallax Mode", Int) = 0 + [HideInInspector]_ParallaxInternalHeightFromAlphaAnimated ("HeightFromAlpha", Int) = 0 + [HideInInspector]_ParallaxInternalMapAnimated ("Internal Map", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxInternalIterationsAnimated ("Parallax Internal Iterations", Int) = 0 + [HideInInspector]_ParallaxInternalMinDepthAnimated ("Min Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMaxDepthAnimated ("Max Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMinFadeAnimated ("Min Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMaxFadeAnimated ("Max Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMinColorAnimated ("Min Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalMaxColorAnimated ("Max Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalPanSpeedAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_ParallaxInternalPanDepthSpeedAnimated ("Per Level Speed Multiplier", Int) = 0 + [HideInInspector]_ParallaxBiasAnimated ("Parallax Bias (0.42)", Int) = 0 + + // Rendering Options + [HideInInspector]_CullAnimated ("Cull", Int) = 0 + [HideInInspector]_ZTestAnimated ("ZTest", Int) = 0 + [HideInInspector]_ZWriteAnimated ("ZWrite", Int) = 0 + [HideInInspector]_ColorMaskAnimated ("Color Mask", Int) = 0 + [HideInInspector]_OffsetFactorAnimated ("Offset Factor", Int) = 0 + [HideInInspector]_OffsetUnitsAnimated ("Offset Units", Int) = 0 + [HideInInspector]_IgnoreFogAnimated ("Ignore Fog", Int) = 0 + + // Blending Options + [HideInInspector]_BlendOpAnimated ("RGB Blend Op", Int) = 0 + [HideInInspector]_BlendOpAlphaAnimated ("Alpha Blend Op", Int) = 0 + [HideInInspector]_SrcBlendAnimated ("RGB Source Blend", Int) = 0 + [HideInInspector]_DstBlendAnimated ("RGB Destination Blend", Int) = 0 + + // Stencils + [HideInInspector]_StencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_StencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_StencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_StencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_StencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_StencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_StencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Outline Stencil + [HideInInspector]_OutlineStencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_OutlineStencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_OutlineStencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_OutlineStencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_OutlineStencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_OutlineStencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_OutlineStencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Debug Options + [HideInInspector]_VertexUnwrapAnimated ("Unwrap", Range(0, 1)) = 0 + [HideInInspector]_DebugMeshDataAnimated ("Mesh Data", Int) = 0 + [HideInInspector]_DebugLightingDataAnimated ("Lighting Data", Int) = 0 + [HideInInspector]_DebugCameraDataAnimated ("Camera Data", Int) = 0 + } + + + //originalEditorCustomEditor "PoiToon" + CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "Opaque" "Queue" = "Geometry" } + +// //EnableOutlinePass +// Pass +// { +// Name "Outline" +// Tags { "LightMode" = "ForwardBase" } +// Stencil +// { +// Ref [_OutlineStencilRef] +// ReadMask [_OutlineStencilReadMask] +// WriteMask [_OutlineStencilWriteMask] +// Comp [_OutlineStencilCompareFunction] +// Pass [_OutlineStencilPassOp] +// Fail [_OutlineStencilFailOp] +// ZFail [_OutlineStencilZFailOp] +// } +// ZTest [_ZTest] +// ColorMask [_ColorMask] +// Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits] +// BlendOp [_BlendOp], [_BlendOpAlpha] +// Blend [_SrcBlend] [_DstBlend] +// ZWrite [_ZWrite] +// AlphaToMask [_AlphaToMask] +// Cull [_OutlineCull] +// CGPROGRAM +// +// #pragma target 5.0 +// #define FORWARD_BASE_PASS +// #define OUTLINE +// float _Mode; +// // patreon Additive +// // Black Light Mask +//// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF +// // voronoi +//// #pragma shader_feature CHROMATIC_ABERRATION +// // UV Distortion +//// #pragma shader_feature USER_LUT +// // Vertex Offsets +//// #pragma shader_feature AUTO_EXPOSURE +// // Mirror +//// #pragma shader_feature _REQUIRE_UV2 +// // Random +//// #pragma shader_feature _SUNDISK_NONE +// // Dissolve +//// #pragma shader_feature DISTORT +// // Lighting +//// #pragma shader_feature VIGNETTE_MASKED +// #pragma multi_compile_fwdbase +// #pragma fragmentoption ARB_precision_hint_fastest +// #pragma multi_compile_fog +// #pragma multi_compile_instancing +// #pragma vertex vert +// #pragma fragment frag +// #include "../Includes/CGI_PoiPassOutline.cginc" +// ENDCG +// +// } + //EnableOutlinePass + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + + ZWrite [_ZWrite] + Cull [_Cull] + AlphaToMask [_AlphaToMask] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend] + + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_BASE_PASS + float _Mode; + // Base Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + #pragma multi_compile _ VERTEXLIGHT_ON + // patreon Base + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Grab Pass Blur +// #pragma shader_feature CHROMATIC_ABERRATION_LOW + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Touch Color +// #pragma shader_feature GRAIN + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma multi_compile_instancing + #pragma multi_compile_fwdbase + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile_fog + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + + //LightingAdditiveEnable + Pass + { + Name "ForwardAddPass" + Tags { "LightMode" = "ForwardAdd" } + + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend One One + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_ADD_PASS + float _Mode; + // Add Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + // patreon Additive + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW +// #pragma shader_feature _PARALLAX_MAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Disable Directionals +// #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + + #pragma multi_compile_instancing + #pragma multi_compile_fwdadd_fullshadows + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + //LightingAdditiveEnable + + //LightingCastShadows + Pass + { + Name "ShadowCasterPass" + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + AlphaToMask Off + ZWrite [_ZWrite] + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_SHADOW + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Dissolve +// #pragma shader_feature DISTORT + #pragma multi_compile_instancing + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + #include "../Includes/CGI_PoiPassShadow.cginc" + ENDCG + + } + //LightingCastShadows + + Pass + { + Tags { "LightMode" = "Meta" } + Cull Off + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_META_PASS + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta new file mode 100644 index 00000000..5e50d6bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/PC_B_Parts_Default_Body_03-cca4c1f7/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: be4180d9dc11a3b4d80273fa87c8f23d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de.meta new file mode 100644 index 00000000..4c7b663c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 16381cc026073d14194e6e2706d71933 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets.meta new file mode 100644 index 00000000..ffed1c99 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b04533cced41254b9e55f9886daea06 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources.meta new file mode 100644 index 00000000..39fa1029 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 1d6da42a16a19634585212369e5f4dda +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi.meta new file mode 100644 index 00000000..0f85cc69 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: aa1d08018a7f12647aa52ab72c8e5de2 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders.meta new file mode 100644 index 00000000..30410356 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cbf6b1a144f15b946b44144e265ef41a +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon.meta new file mode 100644 index 00000000..fc5aedbd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: df2e16ee7dd840349b4ec883c950c05e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta new file mode 100644 index 00000000..4ab71d12 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ca64cccfe7ac27f45b0eadb66a77fbc0 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc new file mode 100644 index 00000000..265b1799 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc @@ -0,0 +1,32 @@ +#ifndef POI_ALPHA_TO_COVERAGE + #define POI_ALPHA_TO_COVERAGE + + half _MainMipScale; + float _MainAlphaToCoverage; + + float CalcMipLevel(float2 texture_coord) + { + float2 dx = ddx(texture_coord); + float2 dy = ddy(texture_coord); + float delta_max_sqr = max(dot(dx, dx), dot(dy, dy)); + + return 0.5 * log2(delta_max_sqr); + } + + void ApplyAlphaToCoverage(inout float4 finalColor) + { + // Force Model Opacity to 1 if desired + + if (float(0) == 1) + { + + if(float(0)) + { + // rescale alpha by mip level + finalColor.a *= 1 + max(0, CalcMipLevel(poiMesh.uv[0] * float4(0.0625,0.0625,16,16).zw)) * float(0.25); + // rescale alpha by partial derivative + finalColor.a = (finalColor.a - float(0.5)) / max(fwidth(finalColor.a), 0.0001) + float(0.5); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta new file mode 100644 index 00000000..cb79f8da --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiAlphaToCoverage.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: c910b76ab0781e747af732ad36d48985 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc new file mode 100644 index 00000000..e529136f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc @@ -0,0 +1,32 @@ +#ifndef POI_BACKFACE + #define POI_BACKFACE + + float _BackFaceEnabled; + float _BackFaceTextureUV; + float _BackFaceDetailIntensity; + float _BackFaceEmissionStrength; + float2 _BackFacePanning; + float _BackFaceHueShift; + float4 _BackFaceColor; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BackFaceTexture); float4 _BackFaceTexture_ST; + + float3 BackFaceColor; + void applyBackFaceTexture(inout float backFaceDetailIntensity, inout float mixedHueShift, inout float4 albedo, inout float3 backFaceEmission) + { + backFaceEmission = 0; + BackFaceColor = 0; + + if (float(0)) + { + if(!poiMesh.isFrontFace) + { + albedo = POI2D_SAMPLER_PAN(_BackFaceTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + backFaceDetailIntensity = float(1); + BackFaceColor = albedo.rgb; + mixedHueShift = float(0); + backFaceEmission = BackFaceColor * float(0); + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta new file mode 100644 index 00000000..3fea1f8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBackFace.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 197064178f230194a8a3da4386c033bc +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc new file mode 100644 index 00000000..750364ae --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc @@ -0,0 +1,54 @@ +#ifndef POI_BLACKLIGHT + #define POI_BLACKLIGHT + + float4 _BlackLightMaskStart; + float4 _BlackLightMaskEnd; + float4 _BlackLightMaskKeys; + float _BlackLightMaskDebug; + float _BlackLightMaskDissolve; + float _BlackLightMaskMetallic; + float _BlackLightMaskClearCoat; + float _BlackLightMaskMatcap; + float _BlackLightMaskMatcap2; + float _BlackLightMaskEmission; + float _BlackLightMaskEmission2; + float _BlackLightMaskFlipbook; + float _BlackLightMaskPanosphere; + float _BlackLightMaskIridescence; + + half _BlackLightMaskGlitter; + + half4 blackLightMask; + + void createBlackLightMask() + { + blackLightMask = 0; + #ifdef VERTEXLIGHT_ON + + for (int lightIndex = 0; lightIndex < 4; lightIndex ++) + { + float3 lightPos = float3(unity_4LightPosX0[lightIndex], unity_4LightPosY0[lightIndex], unity_4LightPosZ0[lightIndex]); + if (!distance(unity_LightColor[lightIndex].rgb, float3(0, 0, 0))) + { + for (int maskIndex = 0; maskIndex < 4; maskIndex ++) + { + float4 comparison = _BlackLightMaskKeys; + if(unity_LightColor[lightIndex].a == comparison[maskIndex]) + { + blackLightMask[maskIndex] = max(blackLightMask[maskIndex], smoothstep(_BlackLightMaskEnd[maskIndex], _BlackLightMaskStart[maskIndex], distance(poiMesh.worldPos, lightPos))); + } + } + } + } + #endif + } +#endif + +/* +#ifdef POI_BLACKLIGHT + if (_BlackLightMaskDissolve != 4) + { + blackLightMask[mask]; + } +#endif +*/ diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta new file mode 100644 index 00000000..6e210711 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlackLight.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a0ef01da692d08642ba2b8d8daa295dd +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc new file mode 100644 index 00000000..f87ae6dc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc @@ -0,0 +1,39 @@ +#ifndef POI_BLENDING + #define POI_BLENDING + + /* + 0: Zero float4(0.0, 0.0, 0.0, 0.0), + 1: One float4(1.0, 1.0, 1.0, 1.0), + 2: DstColor destinationColor, + 3: SrcColor sourceColor, + 4: OneMinusDstColor float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + 5: SrcAlpha sourceColor.aaaa, + 6: OneMinusSrcColor float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + 7: DstAlpha destinationColor.aaaa, + 8: OneMinusDstAlpha float4(1.0, 1.0, 1.0, 1.0) - destinationColor., + 9: SrcAlphaSaturate saturate(sourceColor.aaaa), + 10: OneMinusSrcAlpha float4(1.0, 1.0, 1.0, 1.0) - sourceColor.aaaa, + */ + + float4 poiBlend(const float sourceFactor, const float4 sourceColor, const float destinationFactor, const float4 destinationColor, const float4 blendFactor) + { + float4 sA = 1-blendFactor; + const float4 blendData[11] = { + float4(0.0, 0.0, 0.0, 0.0), + float4(1.0, 1.0, 1.0, 1.0), + destinationColor, + sourceColor, + float4(1.0, 1.0, 1.0, 1.0) - destinationColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sourceColor, + sA, + float4(1.0, 1.0, 1.0, 1.0) - sA, + saturate(sourceColor.aaaa), + 1 - sA, + }; + + return lerp(blendData[sourceFactor] * sourceColor + blendData[destinationFactor] * destinationColor,sourceColor, sA); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta new file mode 100644 index 00000000..0a8ed9f2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBlending.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: fa8d4318a51b3bb4bb645fa121900651 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc new file mode 100644 index 00000000..6e4db3fc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc @@ -0,0 +1,34 @@ +#ifndef POI_BULGE + #define POI_BULGE + + + sampler2D _BulgeMask; + float _BuldgeFadeLength; + float _BuldgeHeight; + + void bulgyWolgy(inout v2f o) + { + float depth = DecodeFloatRG(tex2Dlod(_CameraDepthTexture, float4(o.grabPos.xy / o.grabPos.w, 0, 0))); + float bulgeMask = tex2Dlod(_BulgeMask, float4(o.uv0.xy, 0, 0)); + depth = Linear01Depth(depth); + + float intersect = 0; + if (depth != 1) + { + float diff = distance(depth, Linear01Depth(o.pos.z / o.pos.w)); + if(diff > 0) + { + intersect = 1 - smoothstep(0, _ProjectionParams.w * _BuldgeFadeLength, diff); + } + } + float4 offset = intersect * _BuldgeHeight * float4(o.normal, 0); + + offset = IsInMirror() ? 0: offset; + offset *= bulgeMask; + + o.worldPos = mul(unity_ObjectToWorld, o.localPos) + offset; + o.localPos = mul(unity_WorldToObject, o.worldPos); + o.pos = UnityObjectToClipPos(o.localPos); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta new file mode 100644 index 00000000..e480a266 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiBulge.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6ba6481d2b0ce8746adc2a8f4110137c +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc new file mode 100644 index 00000000..5adf7340 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc @@ -0,0 +1,108 @@ +#ifndef POI_CLEARCOAT + #define POI_CLEARCOAT + + samplerCUBE _ClearCoatCubeMap; + float _ClearCoatSampleWorld; + POI_TEXTURE_NOSAMPLER(_ClearCoatMask); + POI_TEXTURE_NOSAMPLER(_ClearCoatSmoothnessMap); + float _ClearCoatInvertSmoothness; + float _ClearCoat; + float _ClearCoatSmoothness; + float3 _ClearCoatTint; + float _ClearCoatNormalToUse; + float _ClearCoatForceLighting; + float lighty_clear_boy_uwu_var; + + + float3 CalculateClearCoatEnvironmentalReflections() + { + float3 reflectionColor; + + float smoothnessMap = (POI2D_SAMPLER_PAN(_ClearCoatSmoothnessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + if (float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + float roughness = 1 - smoothnessMap; + + lighty_clear_boy_uwu_var = 0; + + float3 reflectedDir = float(0) == 0 ? poiCam.vertexReflectionDir: poiCam.reflectionDir; + + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool no_probe = unity_SpecCube0_HDR.a == 0 && envSample.a == 0; + + + if(float(0) == 0 && no_probe == 0) + { + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectedDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflectionColor = lerp(probe1, probe0, interpolator); + } + else + { + reflectionColor = probe0; + } + } + else + { + lighty_clear_boy_uwu_var = 1; + reflectionColor = texCUBElod(_ClearCoatCubeMap, float4(reflectedDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + } + + if(float(0)) + { + lighty_clear_boy_uwu_var = 1; + } + + return reflectionColor * float4(1,1,1,1); + } + + void calculateAndApplyClearCoat(inout float4 finalColor) + { + half clearCoatMap = POI2D_SAMPLER_PAN(_ClearCoatMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskClearCoat != 4) + { + clearCoatMap *= blackLightMask[_BlackLightMaskClearCoat]; + } + #endif + + half3 reflectionColor = CalculateClearCoatEnvironmentalReflections(); + + float NormalDotView = abs(dot(float(1), float(0) == 0 ? poiLight.N0DotV: poiLight.nDotV).r); + #ifdef POI_LIGHTING + finalColor.rgb = lerp(finalColor.rgb, reflectionColor * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var), clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + //finalColor.rgb += reflectionColor; + //finalColor.rgb = finalColor.rgb * (1- (reflectionColor.r + reflectionColor.g + reflectionColor.b)/3) + reflectionColor * clearCoatMap * lerp(1, poiLight.finalLighting, lighty_clear_boy_uwu_var); + #else + finalColor.rgb = lerp(finalColor.rgb, reflectionColor, clearCoatMap * float(1) * clamp(FresnelTerm(float(1), NormalDotView), 0, 1)); + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta new file mode 100644 index 00000000..a32699bf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiClearCoat.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 84c0ded28f1b720449dde908c6d4e305 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc new file mode 100644 index 00000000..687dc443 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc @@ -0,0 +1,262 @@ +#ifndef POI_COLOR + #define POI_COLOR + + #ifndef pi + #define pi float(3.14159265359) + #endif + + static const float Epsilon = 1e-10; + // The weights of RGB contributions to luminance. + // Should sum to unity. + static const float3 HCYwts = float3(0.299, 0.587, 0.114); + static const float HCLgamma = 3; + static const float HCLy0 = 100; + static const float HCLmaxL = 0.530454533953517; // == exp(HCLgamma / HCLy0) - 0.5 + static const float3 wref = float3(1.0, 1.0, 1.0); + #define TAU 6.28318531 + + float3 HUEtoRGB(in float H) + { + float R = abs(H * 6 - 3) - 1; + float G = 2 - abs(H * 6 - 2); + float B = 2 - abs(H * 6 - 4); + return saturate(float3(R, G, B)); + } + + float3 RGBtoHCV(in float3 RGB) + { + // Based on work by Sam Hocevar and Emil Persson + float4 P = (RGB.g < RGB.b) ? float4(RGB.bg, -1.0, 2.0 / 3.0): float4(RGB.gb, 0.0, -1.0 / 3.0); + float4 Q = (RGB.r < P.x) ? float4(P.xyw, RGB.r): float4(RGB.r, P.yzx); + float C = Q.x - min(Q.w, Q.y); + float H = abs((Q.w - Q.y) / (6 * C + Epsilon) + Q.z); + return float3(H, C, Q.x); + } + + float3 HSVtoRGB(in float3 HSV) + { + float3 RGB = HUEtoRGB(HSV.x); + return((RGB - 1) * HSV.y + 1) * HSV.z; + } + + float3 RGBtoHSV(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float S = HCV.y / (HCV.z + Epsilon); + return float3(HCV.x, S, HCV.z); + } + + float3 HSLtoRGB(in float3 HSL) + { + float3 RGB = HUEtoRGB(HSL.x); + float C = (1 - abs(2 * HSL.z - 1)) * HSL.y; + return(RGB - 0.5) * C + HSL.z; + } + + float3 RGBtoHSL(in float3 RGB) + { + float3 HCV = RGBtoHCV(RGB); + float L = HCV.z - HCV.y * 0.5; + float S = HCV.y / (1 - abs(L * 2 - 1) + Epsilon); + return float3(HCV.x, S, L); + } + + float3 HCYtoRGB(in float3 HCY) + { + + + float3 RGB = HUEtoRGB(HCY.x); + float Z = dot(RGB, HCYwts); + if (HCY.z < Z) + { + HCY.y *= HCY.z / Z; + } + else if(Z < 1) + { + HCY.y *= (1 - HCY.z) / (1 - Z); + } + return(RGB - Z) * HCY.y + HCY.z; + } + + float3 RGBtoHCY(in float3 RGB) + { + // Corrected by David Schaeffer + float3 HCV = RGBtoHCV(RGB); + float Y = dot(RGB, HCYwts); + float Z = dot(HUEtoRGB(HCV.x), HCYwts); + if (Y < Z) + { + HCV.y *= Z / (Epsilon + Y); + } + else + { + HCV.y *= (1 - Z) / (Epsilon + 1 - Y); + } + return float3(HCV.x, HCV.y, Y); + } + + float3 HCLtoRGB(in float3 HCL) + { + float3 RGB = 0; + if(HCL.z != 0) + { + float H = HCL.x; + float C = HCL.y; + float L = HCL.z * HCLmaxL; + float Q = exp((1 - C / (2 * L)) * (HCLgamma / HCLy0)); + float U = (2 * L - C) / (2 * Q - 1); + float V = C / Q; + float A = (H + min(frac(2 * H) / 4, frac(-2 * H) / 8)) * pi * 2; + float T; + H *= 6; + if(H <= 0.999) + { + T = tan(A); + RGB.r = 1; + RGB.g = T / (1 + T); + } + else if(H <= 1.001) + { + RGB.r = 1; + RGB.g = 1; + } + else if(H <= 2) + { + T = tan(A); + RGB.r = (1 + T) / T; + RGB.g = 1; + } + else if(H <= 3) + { + T = tan(A); + RGB.g = 1; + RGB.b = 1 + T; + } + else if(H <= 3.999) + { + T = tan(A); + RGB.g = 1 / (1 + T); + RGB.b = 1; + } + else if(H <= 4.001) + { + RGB.g = 0; + RGB.b = 1; + } + else if(H <= 5) + { + T = tan(A); + RGB.r = -1 / T; + RGB.b = 1; + } + else + { + T = tan(A); + RGB.r = 1; + RGB.b = -T; + } + RGB = RGB * V + U; + } + return RGB; + } + + float3 RGBtoHCL(in float3 RGB) + { + float3 HCL; + float H = 0; + float U = min(RGB.r, min(RGB.g, RGB.b)); + float V = max(RGB.r, max(RGB.g, RGB.b)); + float Q = HCLgamma / HCLy0; + HCL.y = V - U; + if(HCL.y != 0) + { + H = atan2(RGB.g - RGB.b, RGB.r - RGB.g) / pi; + Q *= U / V; + } + Q = exp(Q); + HCL.x = frac(H / 2 - min(frac(H), frac(-H)) / 6); + HCL.y *= Q; + HCL.z = lerp(-U, V, Q) / (HCLmaxL * 2); + return HCL; + } + + //HSL MODIFT + float3 ModifyViaHSL(float3 color, float3 HSLMod) + { + float3 colorHSL = RGBtoHSL(color); + colorHSL.r = frac(colorHSL.r + HSLMod.r); + colorHSL.g = saturate(colorHSL.g + HSLMod.g); + colorHSL.b = saturate(colorHSL.b + HSLMod.b); + return HSLtoRGB(colorHSL); + } + + float3 hueShift(float3 col, float hueAdjust) + { + hueAdjust *= 2 * pi; + const float3 k = float3(0.57735, 0.57735, 0.57735); + half cosAngle = cos(hueAdjust); + return col * cosAngle + cross(k, col) * sin(hueAdjust) + k * dot(k, col) * (1.0 - cosAngle); + } + + float3 poiSaturation(float3 In, float Saturation) + { + float luma = dot(In, float3(0.2126729, 0.7151522, 0.0721750)); + return luma.xxx + Saturation.xxx * (In - luma.xxx); + } + // LCH + float xyzF(float t) + { + return lerp(pow(t, 1. / 3.), 7.787037 * t + 0.139731, step(t, 0.00885645)); + } + float xyzR(float t) + { + return lerp(t * t * t, 0.1284185 * (t - 0.139731), step(t, 0.20689655)); + } + float3 rgb2lch(in float3 c) + { + c = mul(float3x3(0.4124, 0.3576, 0.1805, + 0.2126, 0.7152, 0.0722, + 0.0193, 0.1192, 0.9505), c); + c.x = xyzF(c.x / wref.x); + c.y = xyzF(c.y / wref.y); + c.z = xyzF(c.z / wref.z); + float3 lab = float3(max(0., 116.0 * c.y - 16.0), 500.0 * (c.x - c.y), 200.0 * (c.y - c.z)); + return float3(lab.x, length(float2(lab.y, lab.z)), atan2(lab.z, lab.y)); + } + + float3 lch2rgb(in float3 c) + { + c = float3(c.x, cos(c.z) * c.y, sin(c.z) * c.y); + + float lg = 1. / 116. * (c.x + 16.); + float3 xyz = float3(wref.x * xyzR(lg + 0.002 * c.y), + wref.y * xyzR(lg), + wref.z * xyzR(lg - 0.005 * c.z)); + + float3 rgb = mul(float3x3(3.2406, -1.5372, -0.4986, + - 0.9689, 1.8758, 0.0415, + 0.0557, -0.2040, 1.0570), xyz); + + return rgb; + } + + //cheaply lerp around a circle + float lerpAng(in float a, in float b, in float x) + { + float ang = fmod(fmod((a - b), TAU) + pi * 3., TAU) - pi; + return ang * x + b; + } + + //Linear interpolation between two colors in Lch space + float3 lerpLch(in float3 a, in float3 b, in float x) + { + float hue = lerpAng(a.z, b.z, x); + return float3(lerp(b.xy, a.xy, x), hue); + } + + float3 poiExpensiveColorBlend(float3 col1, float3 col2, float alpha) + { + return lch2rgb(lerpLch(rgb2lch(col1), rgb2lch(col2), alpha)); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta new file mode 100644 index 00000000..d4f98568 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiColors.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a3a1775dba1b5a34085452fcae97e375 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc new file mode 100644 index 00000000..cd354f85 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc @@ -0,0 +1,249 @@ +#ifndef POI_DATA + #define POI_DATA + + float _ParallaxBias; + float _LightingAdditiveLimitIntensity; + float _LightingAdditiveMaxIntensity; + POI_TEXTURE_NOSAMPLER(_BumpMap); + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailMask); + POI_TEXTURE_NOSAMPLER(_DetailNormalMap); + float _DetailNormalMapScale; + #endif + float _BumpScale; + + void calculateAttenuation(v2f i) + { + #ifdef FORWARD_ADD_PASS + #if defined(POINT) || defined(SPOT) + POI_LIGHT_ATTENUATION(attenuation, shadow, i, i.worldPos.xyz) + poiLight.additiveShadow = shadow; + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + poiLight.additiveShadow == 0; + #endif + #else + UNITY_LIGHT_ATTENUATION(attenuation, i, i.worldPos.xyz) + // fix for rare bug where light atten is 0 when there is no directional light in the scene + #ifdef FORWARD_BASE_PASS + if (all(_LightColor0.rgb == 0.0)) + { + attenuation = 1.0; + } + #endif + #endif + poiLight.attenuation = attenuation; + } + + void calculateVertexLightingData(in v2f i) + { + #ifdef VERTEXLIGHT_ON + float4 toLightX = unity_4LightPosX0 - i.worldPos.x; + float4 toLightY = unity_4LightPosY0 - i.worldPos.y; + float4 toLightZ = unity_4LightPosZ0 - i.worldPos.z; + float4 lengthSq = 0; + lengthSq += toLightX * toLightX; + lengthSq += toLightY * toLightY; + lengthSq += toLightZ * toLightZ; + + float4 lightAttenSq = unity_4LightAtten0; + float4 atten = 1.0 / (1.0 + lengthSq * lightAttenSq); + float4 vLightWeight = saturate(1 - (lengthSq * lightAttenSq / 25)); + poiLight.vAttenuation = min(atten, vLightWeight * vLightWeight); + + poiLight.vDotNL = 0; + poiLight.vDotNL += toLightX * poiMesh.normals[1].x; + poiLight.vDotNL += toLightY * poiMesh.normals[1].y; + poiLight.vDotNL += toLightZ * poiMesh.normals[1].z; + + float4 corr = rsqrt(lengthSq); + poiLight.vDotNL = max(0, poiLight.vDotNL * corr); + poiLight.vAttenuationDotNL = poiLight.vAttenuation * poiLight.vDotNL; + + for (int index = 0; index < 4; index ++) + { + poiLight.vPosition[index] = float3(unity_4LightPosX0[index], unity_4LightPosY0[index], unity_4LightPosZ0[index]); + + float3 vertexToLightSource = poiLight.vPosition[index] - poiMesh.worldPos; + poiLight.vDirection[index] = normalize(vertexToLightSource); + //poiLight.vAttenuationDotNL[index] = 1.0 / (1.0 + unity_4LightAtten0[index] * poiLight.vDotNL[index]); + poiLight.vColor[index] = unity_LightColor[index].rgb; + + if (float(0) == 1) + { + float intensity = max(0.001, (0.299 * poiLight.vColor[index].r + 0.587 * poiLight.vColor[index].g + 0.114 * poiLight.vColor[index].b)); + poiLight.vColor[index] = min(poiLight.vColor[index], poiLight.vColor[index] / (intensity / float(1))); + } + poiLight.vHalfDir[index] = Unity_SafeNormalize(poiLight.vDirection[index] + poiCam.viewDir); + poiLight.vDotNL[index] = dot(poiMesh.normals[1], -poiLight.vDirection[index]); + poiLight.vCorrectedDotNL[index] = .5 * (poiLight.vDotNL[index] + 1); + + #ifdef POI_VAR_DOTLH + poiLight.vDotLH[index] = saturate(dot(poiLight.vDirection[index], poiLight.vHalfDir[index])); + #endif + + #ifdef POI_VAR_DOTNH + poiLight.vDotNH[index] = saturate(dot(poiMesh.normals[1], poiLight.vHalfDir[index])); + #endif + } + #endif + } + + void calculateLightingData(in v2f i) + { + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + float3 magic = max(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb; + poiLight.color = magic + normalLight; + #else + #ifdef FORWARD_ADD_PASS + poiLight.color = _LightColor0.rgb; + + + if (float(0) == 1) + { + float additiveLightIntensity = max(0.001, (0.299 * poiLight.color.r + 0.587 * poiLight.color.g + 0.114 * poiLight.color.b)); + poiLight.color = min(poiLight.color, poiLight.color / (additiveLightIntensity / float(1))); + } + #endif + #endif + + #ifdef FORWARD_BASE_PASS + poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + #else + #if defined(POINT) || defined(SPOT) + poiLight.direction = normalize(_WorldSpaceLightPos0.xyz - i.worldPos); + #else + poiLight.direction = _WorldSpaceLightPos0; + #endif + #endif + + poiLight.halfDir = normalize(poiLight.direction + poiCam.viewDir); + + #ifdef POI_VAR_DOTNH + poiLight.dotNH = saturate(dot(poiMesh.normals[1], poiLight.halfDir)); + #endif + + #ifdef POI_VAR_DOTLH + poiLight.dotLH = saturate(dot(poiLight.direction, poiLight.halfDir)); + #endif + + poiLight.nDotV = dot(poiMesh.normals[1], poiCam.viewDir); + poiLight.N0DotV = dot(poiMesh.normals[0], poiCam.viewDir); + poiLight.nDotL = dot(poiMesh.normals[1], poiLight.direction); + poiLight.nDotH = dot(poiMesh.normals[1], poiLight.halfDir); + poiLight.lDotv = dot(poiLight.direction, poiCam.viewDir); + poiLight.lDotH = dot(poiLight.direction, poiLight.halfDir); + } + + float3 CreateBinormal(float3 normal, float3 tangent, float binormalSign) + { + return cross(normal, tangent.xyz) * (binormalSign * unity_WorldTransformParams.w); + } + + void InitializeMeshData(inout v2f i, uint facing) + { + poiMesh.isFrontFace = facing; + poiMesh.normals[0] = normalize(i.normal); + poiMesh.binormal = CreateBinormal(i.normal, i.tangent.xyz, i.tangent.w); + poiMesh.tangent = i.tangent.xyz; + + #ifndef OUTLINE + if(!poiMesh.isFrontFace) + { + poiMesh.normals[0] *= -1; + poiMesh.tangent *= -1; + poiMesh.binormal *= -1; + } + #endif + + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + poiMesh.barycentricCoordinates = i.barycentricCoordinates; + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + #ifdef POI_UV_DISTORTION + poiMesh.uv[4] = calculateDistortionUV(i.uv0.xy); + #else + poiMesh.uv[4] = poiMesh.uv[0]; + #endif + + poiMesh.vertexColor = i.vertexColor; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + poiMesh.lightmapUV = i.lightmapUV; + #endif + poiMesh.modelPos = i.modelPos; + + #ifdef FUR + poiMesh.furAlpha = i.furAlpha; + #endif + } + + void initializeCamera(v2f i) + { + poiCam.viewDir = normalize(_WorldSpaceCameraPos - i.worldPos); + poiCam.forwardDir = getCameraForward(); + poiCam.worldPos = _WorldSpaceCameraPos; + poiCam.distanceToModel = distance(poiMesh.modelPos, poiCam.worldPos); + poiCam.distanceToVert = distance(poiMesh.worldPos, poiCam.worldPos); + poiCam.grabPos = i.grabPos; + poiCam.screenUV = calcScreenUVs(i.grabPos); + poiCam.clipPos = i.pos; + #if defined(GRAIN) + poiCam.worldDirection = i.worldDirection; + #endif + + poiCam.tangentViewDir = normalize(i.tangentViewDir); + poiCam.tangentViewDir.xy /= (poiCam.tangentViewDir.z + float(0.42)); + } + + void calculateTangentData() + { + poiTData.tangentTransform = float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0]); + poiTData.tangentToWorld = transpose(float3x3(poiMesh.tangent, poiMesh.binormal, poiMesh.normals[0])); + } + + void CalculateReflectionData() + { + #if defined(_METALLICGLOSSMAP) || defined(_COLORCOLOR_ON) + poiCam.reflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[1]); + poiCam.vertexReflectionDir = reflect(-poiCam.viewDir, poiMesh.normals[0]); + #endif + } + + void calculateNormals(inout half3 detailMask) + { + half3 mainNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_BumpMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + #ifdef FINALPASS + detailMask = POI2D_SAMPLER_PAN(_DetailMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(1) > 0) + { + half3 detailNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_DetailNormalMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1) * detailMask.g); + poiMesh.tangentSpaceNormal = BlendNormals(mainNormal, detailNormal); + } + else + { + poiMesh.tangentSpaceNormal = mainNormal; + } + #else + poiMesh.tangentSpaceNormal = mainNormal; + #endif + + #ifdef POI_RGBMASK + calculateRGBNormals(poiMesh.tangentSpaceNormal); + #endif + + poiMesh.normals[1] = normalize( + poiMesh.tangentSpaceNormal.x * poiMesh.tangent + + poiMesh.tangentSpaceNormal.y * poiMesh.binormal + + poiMesh.tangentSpaceNormal.z * poiMesh.normals[0] + ); + + poiCam.viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[1])); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta new file mode 100644 index 00000000..de33caf6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiData.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f80cd0a584afd0543b7b694cc322aff7 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc new file mode 100644 index 00000000..125d2cd9 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc @@ -0,0 +1,107 @@ +#ifndef POI_DEBUG + #define POI_DEBUG + + float _DebugEnabled; + float _DebugMeshData; + float _DebugLightingData; + float _DebugCameraData; + + void displayDebugInfo(inout float4 finalColor) + { + + if (float(0) != 0) + { + //Mesh Data + if (float(0) == 1) + { + finalColor.rgb = poiMesh.normals[0]; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiMesh.normals[1]; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiMesh.tangent; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiMesh.binormal; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiMesh.localPos; + return; + } + + #ifdef POI_LIGHTING + if(float(0) == 1) + { + finalColor.rgb = poiLight.attenuation; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiLight.directLighting; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiLight.indirectLighting; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiLight.lightMap; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiLight.rampedLightMap; + return; + } + else if(float(0) == 6) + { + finalColor.rgb = poiLight.finalLighting; + return; + } + else if(float(0) == 7) + { + finalColor.rgb = poiLight.nDotL; + return; + } + #endif + + if(float(0) == 1) + { + finalColor.rgb = poiCam.viewDir; + return; + } + else if(float(0) == 2) + { + finalColor.rgb = poiCam.tangentViewDir; + return; + } + else if(float(0) == 3) + { + finalColor.rgb = poiCam.forwardDir; + return; + } + else if(float(0) == 4) + { + finalColor.rgb = poiCam.worldPos; + return; + } + else if(float(0) == 5) + { + finalColor.rgb = poiCam.viewDotNormal; + return; + } + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta new file mode 100644 index 00000000..d5417e9d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDebug.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bf2bd572a7a37d54482c60d8daf94721 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc new file mode 100644 index 00000000..280fcbc1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc @@ -0,0 +1,58 @@ +#ifndef POI_DECAL + #define POI_DECAL + + POI_TEXTURE_NOSAMPLER(_DecalTexture); + POI_TEXTURE_NOSAMPLER(_DecalMask); + float4 _DecalColor; + fixed _DecalTiled; + fixed _DecalBlendAdd; + fixed _DecalBlendMultiply; + fixed _DecalBlendReplace; + half _DecalRotation; + half2 _DecalScale; + half2 _DecalPosition; + half _DecalRotationSpeed; + float _DecalEmissionStrength; + + void applyDecal(inout float4 albedo, inout float3 decalEmission) + { + float2 uv = poiMesh.uv[float(0)]; + float2 decalCenter = float4(0.5,0.5,0,0); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - decalCenter.x) * cs - (uv.y - decalCenter.y) * sn + decalCenter.x, (uv.x - decalCenter.x) * sn + (uv.y - decalCenter.y) * cs + decalCenter.y); + uv = remap(uv, float2(0, 0) - float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float4(1,1,0,0) / 2 + float4(0.5,0.5,0,0), float2(0, 0), float2(1, 1)); + + half decalAlpha = 1; + //float2 uv = TRANSFORM_TEX(poiMesh.uv[float(0)], _DecalTexture) + _Time.x * float4(0,0,0,0); + float4 decalColor = POI2D_SAMPLER_PAN(_DecalTexture, _MainTex, uv, float4(0,0,0,0)) * float4(1,1,1,1); + decalAlpha *= POI2D_SAMPLER_PAN(_DecalMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if (!float(0)) + { + if(uv.x > 1 || uv.y > 1 || uv.x < 0 || uv.y < 0) + { + decalAlpha = 0; + } + } + + if(float(0)) + { + albedo.rgb = lerp(albedo.rgb, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb *= lerp(1, decalColor.rgb, decalColor.a * decalAlpha * float(0)); + } + + if(float(0)) + { + albedo.rgb += decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + albedo = saturate(albedo); + decalEmission = decalColor.rgb * decalColor.a * decalAlpha * float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta new file mode 100644 index 00000000..fb34ed2e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDecal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1e3043fda43554048a5fce4f7ae329f1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc new file mode 100644 index 00000000..9b70067a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc @@ -0,0 +1,21 @@ +#ifndef POI_DEFINES + #define POI_DEFINES + + #define DielectricSpec float4(0.04, 0.04, 0.04, 1.0 - 0.04) + + #ifdef _SPECGLOSSMAP // Specular + #ifndef POI_VAR_DOTNH + #define POI_VAR_DOTNH + #endif + #ifndef POI_VAR_DOTLH + #define POI_VAR_DOTLH + #endif + #endif + + #ifdef VIGNETTE_MASKED // Lighting + #ifndef POI_VAR_DOTNL + #define POI_VAR_DOTNL + #endif + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta new file mode 100644 index 00000000..9d7f92f6 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDefines.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4daf6e10b8ea9f542aa625febeb06029 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc new file mode 100644 index 00000000..828460bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc @@ -0,0 +1,112 @@ +#ifndef POI_DEPTH_COLOR + #define POI_DEPTH_COLOR + + float4 _DepthGlowColor; + float _DepthGlowEmission; + float _FadeLength; + float _DepthAlphaMin; + float _DepthAlphaMax; + POI_TEXTURE_NOSAMPLER(_DepthGradient); + POI_TEXTURE_NOSAMPLER(_DepthMask); + float _DepthGradientTextureUV; + float _DepthGradientBlend; + + /* + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, float4 worldDirection, float4 clipPos) + { + float3 touchEmission = 0; + if (!IsInMirror()) + { + float fadeLength = _FadeLength; + fadeLength *= 0.01; + float depth = DecodeFloatRG(tex2Dproj(_CameraDepthTexture, worldDirection)); + depth = Linear01Depth(depth); + if(depth != 1) + { + float diff = distance(depth, Linear01Depth(clipPos.z)); + float intersect = 0; + if(diff > 0) + { + intersect = clamp(1 - smoothstep(0, _ProjectionParams.w * fadeLength, diff), 0, 1); + } + half4 depthGradient = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthGradient, _MainTex, intersect); + half3 depthMask = UNITY_SAMPLE_TEX2D_SAMPLER(_DepthMask, _MainTex, poiMesh.uv[0]); + half3 depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + } + } + depthTouchEmission = touchEmission; + } + */ + + inline float CorrectedLinearEyeDepth(float z, float B) + { + return 1.0 / (z / PM._34 + B); + } + + void applyDepthColor(inout float4 finalColor, inout float3 depthTouchEmission, inout float3 finalEmission, in float4 worldDirection) + { + float3 touchEmission = 0; + float fadeLength = _FadeLength; + fadeLength *= 0.01; + + float perspectiveDivide = 1.0f / poiCam.clipPos.w; + float4 direction = worldDirection * perspectiveDivide; + float2 screenPos = poiCam.grabPos.xy * perspectiveDivide; + float z = SAMPLE_DEPTH_TEXTURE(_CameraDepthTexture, screenPos); + + #if UNITY_REVERSED_Z + if (z == 0) + #else + if(z == 1) + #endif + return; + + float depth = CorrectedLinearEyeDepth(z, direction.w); + float3 worldpos = direction * depth + _WorldSpaceCameraPos.xyz; + /* + finalColor.rgb = frac(worldpos); + return; + */ + + float diff = distance(worldpos, poiMesh.worldPos); + float intersect = 0; + intersect = clamp(1 - smoothstep(0, fadeLength, diff), 0, 1); + half3 depthMask = POI2D_SAMPLER_PAN(_DepthMask, _MainTex, poiMesh.uv[_DepthMaskUV], _DepthMaskPan); + + half4 depthGradient = 0; + half3 depthColor = 0; + + + if (_DepthGradientTextureUV == 0) + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, float2(intersect, intersect), _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb; + } + else + { + depthGradient = POI2D_SAMPLER_PAN(_DepthGradient, _MainTex, poiMesh.uv[_DepthGradientUV], _DepthGradientPan); + depthColor = depthGradient.rgb * _DepthGlowColor.rgb * intersect; + } + + + if(_DepthGradientBlend == 0) // rpelace + { + finalColor.rgb = lerp(finalColor.rgb, depthColor, intersect * depthMask); + } + else if(_DepthGradientBlend == 1) // add + { + finalColor.rgb += depthColor * intersect * depthMask; + } + else if(_DepthGradientBlend == 2) // multiply + { + finalColor.rgb *= lerp(1, depthColor, intersect * depthMask); + } + finalColor.a *= lerp(_DepthAlphaMax, _DepthAlphaMin, intersect * depthMask); + touchEmission = depthColor * _DepthGlowEmission * intersect * depthMask; + + depthTouchEmission = touchEmission; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta new file mode 100644 index 00000000..dfe63b60 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDepthColor.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4ac2080acead4d042bdf0109ceb0541b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc new file mode 100644 index 00000000..13175f00 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc @@ -0,0 +1,171 @@ +#ifndef POI_DISSOLVE + #define POI_DISSOLVE + + float _DissolveType; + float _DissolveEdgeWidth; + float4 _DissolveEdgeColor; + sampler2D _DissolveEdgeGradient; float4 _DissolveEdgeGradient_ST; + float _DissolveEdgeEmission; + float4 _DissolveTextureColor; + + POI_TEXTURE_NOSAMPLER(_DissolveToTexture); + POI_TEXTURE_NOSAMPLER(_DissolveNoiseTexture); + POI_TEXTURE_NOSAMPLER(_DissolveDetailNoise); + POI_TEXTURE_NOSAMPLER(_DissolveMask); + + float _DissolveMaskInvert; + float _DissolveAlpha; + float _ContinuousDissolve; + float _DissolveDetailStrength; + float _DissolveEdgeHardness; + float _DissolveInvertNoise; + float _DissolveInvertDetailNoise; + float _DissolveToEmissionStrength; + + // Point to Point + float _DissolveP2PWorldLocal; + float _DissolveP2PEdgeLength; + float4 _DissolveStartPoint; + float4 _DissolveEndPoint; + + // World Dissolve + float _DissolveWorldShape; + float4 _DissolveShapePosition; + float4 _DissolveShapeRotation; + float _DissolveShapeScale; + float _DissolveInvertShape; + float _DissolveShapeEdgeLength; + + float _DissolveAlpha0; + float _DissolveAlpha1; + float _DissolveAlpha2; + float _DissolveAlpha3; + float _DissolveAlpha4; + float _DissolveAlpha5; + float _DissolveAlpha6; + float _DissolveAlpha7; + float _DissolveAlpha8; + float _DissolveAlpha9; + + // Masking + float _DissolveEmissionSide; + float _DissolveEmission1Side; + float _DissolveUseVertexColors; + + float4 edgeColor; + float edgeAlpha; + float dissolveAlpha; + float4 dissolveToTexture; + //Globals + + + void calculateDissolve(inout float4 albedo, inout float3 dissolveEmission) + { + + float dissolveMask = POI2D_SAMPLER_PAN(_DissolveMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + + if (float(0)) + { + // Vertex Color Imprecision hype + dissolveMask = ceil(poiMesh.vertexColor.g * 100000) / 100000; + } + + dissolveToTexture = POI2D_SAMPLER_PAN(_DissolveToTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + float dissolveNoiseTexture = POI2D_SAMPLER_PAN(_DissolveNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + float da = float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0) + + float(0); + da = saturate(da); + + float dds = float(0.1); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskDissolve != 4) + { + dissolveMask *= blackLightMask[_BlackLightMaskDissolve]; + } + #endif + + if(float(0)) + { + dissolveMask = 1 - dissolveMask; + } + + float dissolveDetailNoise = POI2D_SAMPLER_PAN(_DissolveDetailNoise, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if(float(0)) + { + dissolveNoiseTexture = 1 - dissolveNoiseTexture; + } + if(float(0)) + { + dissolveDetailNoise = 1 - dissolveDetailNoise; + } + if(float(0) != 0) + { + da = sin(_Time.y * float(0)) * .5 + .5; + } + da *= dissolveMask; + dissolveAlpha = da; + edgeAlpha = 0; + + + if(float(1) == 1) // Basic + { + da = remap(da, 0, 1, -float(0.025), 1); + dissolveAlpha = da; + //Adjust detail strength to avoid artifacts + dds *= smoothstep(1, .99, da); + float noise = saturate(dissolveNoiseTexture - dissolveDetailNoise * dds); + + noise = saturate(noise + 0.001); + //noise = remap(noise, 0, 1, float(0.025), 1 - float(0.025)); + dissolveAlpha = dissolveAlpha >= noise; + edgeAlpha = remapClamped(noise, da + float(0.025), da, 0, 1) * (1 - dissolveAlpha); + } + else if (float(1) == 2) // Point to Point + { + float3 direction; + float3 currentPos; + float distanceTo = 0; + direction = normalize(float4(0,1,0,0) - float4(0,-1,0,0)); + currentPos = lerp(float4(0,-1,0,0), float4(0,1,0,0), dissolveAlpha); + if (float(0) == 0) + { + distanceTo = dot(poiMesh.localPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + else + { + distanceTo = dot(poiMesh.worldPos - currentPos, direction) - dissolveDetailNoise * dds; + edgeAlpha = smoothstep(float(0.1), 0, distanceTo); + dissolveAlpha = step(distanceTo, 0); + edgeAlpha *= 1 - dissolveAlpha; + } + } + + albedo = lerp(albedo, dissolveToTexture, dissolveAlpha); + + + if(float(0.025)) + { + edgeColor = tex2D(_DissolveEdgeGradient, TRANSFORM_TEX(float2(edgeAlpha, edgeAlpha), _DissolveEdgeGradient)) * float4(1,1,1,1); + albedo.rgb = lerp(albedo.rgb, edgeColor.rgb, smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + dissolveEmission = lerp(0, dissolveToTexture * float(0), dissolveAlpha) + lerp(0, edgeColor.rgb * float(0), smoothstep(0, 1 - float(0.5) * .99999999999, edgeAlpha)); + } + + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta new file mode 100644 index 00000000..3f35239d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDissolve.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 11297e8561f32cd4a9943d45d9adcb16 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc new file mode 100644 index 00000000..91efad39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc @@ -0,0 +1,34 @@ +#ifndef POI_DITHERING + #define POI_DITHERING + fixed _DitheringEnabled; + fixed _DitherGradient; + + half calcDither(half2 grabPos) + { + half dither = Dither8x8Bayer(fmod(grabPos.x, 8), fmod(grabPos.y, 8)); + return dither; + } + + #ifndef POI_SHADOW + void applyDithering(inout float4 finalColor) + { + + if (float(0)) + { + half dither = calcDither(poiCam.screenUV.xy); + finalColor.a = finalColor.a - (dither * (1 - finalColor.a) * float(0.1)); + } + } + #else + void applyShadowDithering(inout float alpha, float2 screenUV) + { + + if(float(0)) + { + half dither = calcDither(screenUV); + alpha = alpha - (dither * (1 - alpha) * float(0.1)); + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta new file mode 100644 index 00000000..31374510 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiDithering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f95fa99b8a37d2947bb9ce6131a0bad5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc new file mode 100644 index 00000000..cff31fe2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc @@ -0,0 +1,240 @@ +#ifndef POI_EMISSION + #define POI_EMISSION + + float4 _EmissionColor; + POI_TEXTURE_NOSAMPLER(_EmissionMap); + POI_TEXTURE_NOSAMPLER(_EmissionMask); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve); float4 _EmissionScrollingCurve_ST; + float _EmissionBaseColorAsMap; + float _EmissionStrength; + float _EnableEmission; + float _EmissionHueShift; + float4 _EmissiveScroll_Direction; + float _EmissiveScroll_Width; + float _EmissiveScroll_Velocity; + float _EmissiveScroll_Interval; + float _EmissionBlinkingEnabled; + float _EmissiveBlink_Min; + float _EmissiveBlink_Max; + float _EmissiveBlink_Velocity; + float _ScrollingEmission; + float _EnableGITDEmission; + float _GITDEMinEmissionMultiplier; + float _GITDEMaxEmissionMultiplier; + float _GITDEMinLight; + float _GITDEMaxLight; + float _GITDEWorldOrMesh; + float _EmissionCenterOutEnabled; + float _EmissionCenterOutSpeed; + float _EmissionHueShiftEnabled; + float _EmissionBlinkingOffset; + float _EmissionScrollingOffset; + + float4 _EmissionColor1; + #ifdef EFFECT_HUE_VARIATION + POI_TEXTURE_NOSAMPLER(_EmissionMap1); + POI_TEXTURE_NOSAMPLER(_EmissionMask1); + UNITY_DECLARE_TEX2D_NOSAMPLER(_EmissionScrollingCurve1); float4 _EmissionScrollingCurve1_ST; + #endif + float _EmissionBaseColorAsMap1; + float _EmissionStrength1; + float _EnableEmission1; + float _EmissionHueShift1; + float4 _EmissiveScroll_Direction1; + float _EmissiveScroll_Width1; + float _EmissiveScroll_Velocity1; + float _EmissiveScroll_Interval1; + float _EmissionBlinkingEnabled1; + float _EmissiveBlink_Min1; + float _EmissiveBlink_Max1; + float _EmissiveBlink_Velocity1; + float _ScrollingEmission1; + float _EnableGITDEmission1; + float _GITDEMinEmissionMultiplier1; + float _GITDEMaxEmissionMultiplier1; + float _GITDEMinLight1; + float _GITDEMaxLight1; + float _GITDEWorldOrMesh1; + float _EmissionCenterOutEnabled1; + float _EmissionCenterOutSpeed1; + float _EmissionHueShiftEnabled1; + float _EmissionBlinkingOffset1; + float _EmissionScrollingOffset1; + + float _EmissionReplace; + + float _EmissionScrollingVertexColor; + float _EmissionScrollingVertexColor1; + + float _EmissionScrollingUseCurve; + float _EmissionScrollingUseCurve1; + + float calculateGlowInTheDark(in float minLight, in float maxLight, in float minEmissionMultiplier, in float maxEmissionMultiplier, in float enabled) + { + float glowInTheDarkMultiplier = 1; + + if (enabled) + { + #ifdef POI_LIGHTING + float3 lightValue = float(0) ? poiLight.finalLighting.rgb: poiLight.directLighting.rgb; + float gitdeAlpha = (clamp(poiMax(lightValue), minLight, maxLight) - minLight) / (maxLight - minLight); + glowInTheDarkMultiplier = lerp(minEmissionMultiplier, maxEmissionMultiplier, gitdeAlpha); + #endif + } + return glowInTheDarkMultiplier; + } + + float calculateScrollingEmission(in float3 direction, in float velocity, in float interval, in float scrollWidth, float offset, float3 position) + { + float phase = 0; + phase = dot(position, direction); + phase -= (_Time.y + offset) * velocity; + phase /= interval; + phase -= floor(phase); + phase = saturate(phase); + return(pow(phase, scrollWidth) + pow(1 - phase, scrollWidth * 4)) * 0.5; + } + + float calculateBlinkingEmission(in float blinkMin, in float blinkMax, in float blinkVelocity, float offset) + { + float amplitude = (blinkMax - blinkMin) * 0.5f; + float base = blinkMin + amplitude; + return sin((_Time.y + offset) * blinkVelocity) * amplitude + base; + } + + float3 calculateEmissionNew(in float4 baseColor, inout float4 finalColor) + { + // First Emission + float3 emission0 = 0; + float emissionStrength0 = float(0); + float3 emissionColor0 = 0; + + float glowInTheDarkMultiplier0 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor0 = POI2D_SAMPLER_PAN(_EmissionMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + else + { + emissionColor0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)) * lerp(1, baseColor, float(0)).rgb * float4(0,0,0,1).rgb; + } + + + if(float(0)) + { + float3 pos = poiMesh.localPos; + + if(float(0)) + { + pos = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength0 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve) + (dot(pos, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength0 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos); + } + } + + + if(float(0)) + { + emissionStrength0 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor0 = hueShift(emissionColor0, float(0) * float(0)); + float emissionMask0 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask) + _Time.x * float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission != 4) + { + emissionMask0 *= blackLightMask[_BlackLightMaskEmission]; + } + #endif + + emissionStrength0 *= glowInTheDarkMultiplier0 * emissionMask0; + emission0 = emissionStrength0 * emissionColor0; + + #ifdef POI_DISSOLVE + + if(float(2) != 2) + { + emission0 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + + // Second Emission + float3 emission1 = 0; + float emissionStrength1 = 0; + float3 emissionColor1 = 0; + + #ifdef EFFECT_HUE_VARIATION + emissionStrength1 = float(0); + float glowInTheDarkMultiplier1 = calculateGlowInTheDark(float(0), float(1), float(1), float(0), float(0)); + + + if (!float(0)) + { + emissionColor1 = POI2D_SAMPLER_PAN(_EmissionMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + else + { + emissionColor1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMap1, _MainTex, ((.5 + poiLight.nDotV * .5) * float4(1,1,0,0).xy) + _Time.x * float(5)).rgb * lerp(1, baseColor, float(0)).rgb * float4(1,1,1,1).rgb; + } + + + if(float(0)) + { + float3 pos1 = poiMesh.localPos; + + if(float(0)) + { + pos1 = poiMesh.vertexColor.rgb; + } + + + if(float(0)) + { + emissionStrength1 *= UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionScrollingCurve1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionScrollingCurve1) + (dot(pos1, float4(0,-10,0,0)) * float(20)) + _Time.x * float(10)); + } + else + { + emissionStrength1 *= calculateScrollingEmission(float4(0,-10,0,0), float(10), float(20), float(10), float(0), pos1); + } + } + + if(float(0)) + { + emissionStrength1 *= calculateBlinkingEmission(float(0), float(1), float(4), float(0)); + } + + emissionColor1 = hueShift(emissionColor1, float(0) * float(0)); + float emissionMask1 = UNITY_SAMPLE_TEX2D_SAMPLER(_EmissionMask1, _MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _EmissionMask1) + _Time.x * float4(0,0,0,0)); + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskEmission2 != 4) + { + emissionMask1 *= blackLightMask[_BlackLightMaskEmission2]; + } + #endif + emissionStrength1 *= glowInTheDarkMultiplier1 * emissionMask1; + emission1 = emissionStrength1 * emissionColor1; + + #ifdef POI_DISSOLVE + if(float(2) != 2) + { + emission1 *= lerp(1 - dissolveAlpha, dissolveAlpha, float(2)); + } + #endif + #endif + finalColor.rgb = lerp(finalColor.rgb, saturate(emissionColor0 + emissionColor1), saturate(emissionStrength0 + emissionStrength1) * float(0) * poiMax(emission0 + emission1)); + + return emission0 + emission1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta new file mode 100644 index 00000000..aea14499 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEmission.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: efc11ea180d5b9a4db4282c0dda04499 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc new file mode 100644 index 00000000..1e9188ec --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc @@ -0,0 +1,43 @@ +#ifndef POI_ENVIRONMENTAL_RIM + #define POI_ENVIRONMENTAL_RIM + + //enviro rim + float _EnableEnvironmentalRim; + POI_TEXTURE_NOSAMPLER(_RimEnviroMask); + float _RimEnviroBlur; + float _RimEnviroMinBrightness; + float _RimEnviroWidth; + float _RimEnviroSharpness; + float _RimEnviroIntensity; + + float3 calculateEnvironmentalRimLighting(in float4 albedo) + { + float enviroRimAlpha = saturate(1 - smoothstep(min(float(0), float(0.45)), float(0.45), poiCam.viewDotNormal)); + float(0.7) *= 1.7 - 0.7 * float(0.7); + + float3 enviroRimColor = 0; + float interpolator = unity_SpecCube0_BoxMin.w; + + if (interpolator < 0.99999) + { + //Probe 1 + float4 reflectionData0 = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor0 = DecodeHDR(reflectionData0, unity_SpecCube0_HDR); + + //Probe 2 + float4 reflectionData1 = UNITY_SAMPLE_TEXCUBE_SAMPLER_LOD(unity_SpecCube1, unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + float3 reflectionColor1 = DecodeHDR(reflectionData1, unity_SpecCube1_HDR); + + enviroRimColor = lerp(reflectionColor1, reflectionColor0, interpolator); + } + else + { + float4 reflectionData = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiMesh.normals[1], float(0.7) * UNITY_SPECCUBE_LOD_STEPS); + enviroRimColor = DecodeHDR(reflectionData, unity_SpecCube0_HDR); + } + + half enviroMask = poiMax(POI2D_SAMPLER_PAN(_RimEnviroMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb); + return lerp(0, max(0, (enviroRimColor - float(0)) * albedo.rgb), enviroRimAlpha).rgb * enviroMask * float(1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta new file mode 100644 index 00000000..e55cb1e8 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiEnvironmentalRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 21a96091977bc7b4293b7dbb74b919e1 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc new file mode 100644 index 00000000..0ed89b59 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc @@ -0,0 +1,153 @@ +#ifndef POI_FLIPBOOK + #define POI_FLIPBOOK + + UNITY_DECLARE_TEX2DARRAY(_FlipbookTexArray); float4 _FlipbookTexArray_ST; + float4 _FlipbookColor; + float _FlipbookFPS; + float _FlipbookTotalFrames; + float4 _FlipbookScaleOffset; + float _FlipbookTiled; + float _FlipbookCurrentFrame; + float _FlipbookEmissionStrength; + float _FlipbookRotation; + float _EnableFlipbook; + float _FlipbookTexArrayUV; + float _FlipbookAlphaControlsFinalAlpha; + float _FlipbookRotationSpeed; + float _FlipbookIntensityControlsAlpha; + float _FlipbookColorReplaces; + float2 _FlipbookTexArrayPan; + + // blending + float _FlipbookReplace; + float _FlipbookMultiply; + float _FlipbookAdd; + POI_TEXTURE_NOSAMPLER(_FlipbookMask); + + // anim + float _FlipbookMovementType; + float4 _FlipbookStartEndOffset; + float _FlipbookMovementSpeed; + + // Global + float4 flipBookPixel; + float4 flipBookPixelMultiply; + float flipBookMask; + + #ifndef POI_SHADOW + + void applyFlipbook(inout float4 finalColor, inout float3 flipbookEmission) + { + flipBookMask = POI2D_SAMPLER_PAN(_FlipbookMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float2 uv = frac(poiMesh.uv[float(0)]); + float theta = radians(float(0) + _Time.z * float(0)); + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + // 2d rotation + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + if (float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipBookPixel = 0; + return; + } + } + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + flipBookPixel = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipBookPixel.a = poiMax(flipBookPixel.rgb); + } + + if(float(0)) + { + flipBookPixel.rgb = float4(1,1,1,1).rgb; + } + else + { + flipBookPixel.rgb *= float4(1,1,1,1).rgb; + } + + #ifdef POI_BLACKLIGHT + + if(_BlackLightMaskFlipbook != 4) + { + flipBookMask *= blackLightMask[_BlackLightMaskFlipbook]; + } + #endif + + finalColor.rgb = lerp(finalColor, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * float(1) * flipBookMask); + finalColor.rgb = finalColor + flipBookPixel.rgb * float(0) * flipBookMask; + finalColor.rgb = finalColor * lerp(1, flipBookPixel.rgb, flipBookPixel.a * float4(1,1,1,1).a * flipBookMask * float(0)); + + + if(float(0)) + { + finalColor.a = lerp(finalColor.a, flipBookPixel.a * float4(1,1,1,1).a, flipBookMask); + } + flipbookEmission = lerp(0, flipBookPixel.rgb * float(0), flipBookPixel.a * float4(1,1,1,1).a * flipBookMask); + } + + #else + + float applyFlipbookAlphaToShadow(float2 uv) + { + + if(float(0)) + { + float flipbookShadowAlpha = 0; + + float4 flipbookScaleOffset = float4(1,1,0,0); + flipbookScaleOffset.xy = 1 - flipbookScaleOffset.xy; + float theta = radians(float(0)); + + float cs = cos(theta); + float sn = sin(theta); + float2 spriteCenter = flipbookScaleOffset.zw + .5; + uv = float2((uv.x - spriteCenter.x) * cs - (uv.y - spriteCenter.y) * sn + spriteCenter.x, (uv.x - spriteCenter.x) * sn + (uv.y - spriteCenter.y) * cs + spriteCenter.y); + + float2 newUV = remap(uv, float2(0, 0) + flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(1, 1) - flipbookScaleOffset.xy / 2 + flipbookScaleOffset.zw, float2(0, 0), float2(1, 1)); + + + uint currentFrame = floor(float(-1)) % float(1); + if(float(-1) < 0) + { + currentFrame = (_Time.y / (1 / float(30))) % float(1); + } + half4 flipbookColor = UNITY_SAMPLE_TEX2DARRAY(_FlipbookTexArray, float3(TRANSFORM_TEX(newUV, _FlipbookTexArray) + _Time.x * float4(0,0,0,0), currentFrame)); + + if(float(0)) + { + flipbookColor.a = poiMax(flipbookColor.rgb); + } + + + if(float(0) == 0) + { + if(max(newUV.x, newUV.y) > 1 || min(newUV.x, newUV.y) < 0) + { + flipbookColor.a = 0; + } + } + return flipbookColor.a * float4(1,1,1,1).a; + } + return 1; + } + + #endif +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta new file mode 100644 index 00000000..5128ee5b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFlipbook.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 97b3a031df9b29e4b942738930b78f35 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc new file mode 100644 index 00000000..aa950e7d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc @@ -0,0 +1,376 @@ +#ifndef POIFRAG + #define POIFRAG + + float _MainEmissionStrength; + float _IgnoreFog; + half _GIEmissionMultiplier; + float _IridescenceTime; + float _AlphaToMask; + float _ForceOpaque; + float _commentIfZero_EnableGrabpass; + float _AlphaPremultiply; + float2 _MainTexPan; + float _MainTextureUV; + float _commentIfZero_LightingAdditiveEnable; + + float4 frag(v2f i, uint facing: SV_IsFrontFace): SV_Target + { + #ifdef FORWARD_ADD_PASS + #if !defined(POI_LIGHTING) + return 0; + #endif + #if defined(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A) && defined(DIRECTIONAL) + return 0; + #endif + #endif + #ifdef FORWARD_ADD_PASS + + if (float(1) == 0) + { + return 0; + } + #endif + UNITY_SETUP_INSTANCE_ID(i); + // Color + float4 albedo = 1; + float4 finalColor = 1; + + // Lighting + float bakedCubemap = 0; // Whether or not metallic should run before or after lighting multiplication + float3 finalSpecular0 = 0; + float3 finalSpecular1 = 0; + float3 finalSSS = 0; + fixed lightingAlpha = 1; + float3 finalEnvironmentalRim = 0; + + // Emissions + float3 finalEmission = 0; + float3 finalLighting = 1; + float3 IridescenceEmission = 0; + float3 spawnInEmission = 0; + float3 voronoiEmission = 0; + float3 matcapEmission = 0; + float3 depthTouchEmission = 0; + float3 decalEmission = 0; + float3 glitterEmission = 0; + float3 panosphereEmission = 0; + float3 backFaceEmission = 0; + float3 dissolveEmission = 0; + float3 rimLightEmission = 0; + float3 flipbookEmission = 0; + float3 textOverlayEmission = 0; + float3 videoEmission = 0; + /********************************************************************** + Initialize the base data that's needed everywhere else in the shader + **********************************************************************/ + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + + #ifdef POI_BLACKLIGHT + createBlackLightMask(); + + if (_BlackLightMaskDebug) + { + return float4(blackLightMask.rgb, 1); + } + #endif + + // This has to happen in the initializbecause it alters UV data globally + #ifdef POI_PARALLAX + calculateandApplyParallax(); + #endif + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + calculateVertexLightingData(i); + /********************************************************************** + Calculate Light Maps + **********************************************************************/ + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + /********************************************************************** + Calculate Color Data + **********************************************************************/ + + initTextureData(albedo, mainTexture, backFaceEmission, dissolveEmission, detailMask); + + #ifdef POI_DECAL + applyDecal(albedo, decalEmission); + #endif + + + #ifdef POI_IRIDESCENCE + + if (_IridescenceTime == 0) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VORONOI + applyVoronoi(albedo, voronoiEmission); + #endif + + #ifdef POI_MSDF + ApplyTextOverlayColor(albedo, textOverlayEmission); + #endif + + #ifdef POI_ENVIRONMENTAL_RIM + finalEnvironmentalRim = calculateEnvironmentalRimLighting(albedo); + #endif + + #if defined(POI_METAL) || defined(POI_CLEARCOAT) + CalculateReflectionData(); + #endif + + #ifdef POI_DATA + distanceFade(albedo); + #endif + + #ifdef POI_RANDOM + albedo.a *= i.angleAlpha; + #endif + + #ifdef MATCAP + applyMatcap(albedo, matcapEmission); + #endif + + #ifdef PANOSPHERE + applyPanosphereColor(albedo, panosphereEmission); + #endif + + #ifdef POI_FLIPBOOK + applyFlipbook(albedo, flipbookEmission); + #endif + + #ifdef POI_GLITTER + applyGlitter(albedo, glitterEmission); + #endif + + #ifdef POI_RIM + applyRimLighting(albedo, rimLightEmission); + #endif + + #ifdef POI_DEPTH_COLOR + applyDepthColor(albedo, depthTouchEmission, finalEmission, i.worldDirection); + #endif + + #ifdef POI_IRIDESCENCE + + if(_IridescenceTime == 1) + { + applyIridescence(albedo, IridescenceEmission); + } + #endif + + #ifdef POI_VIDEO + applyScreenEffect(albedo, videoEmission); + #endif + + applySpawnIn(albedo, spawnInEmission, poiMesh.uv[0], poiMesh.localPos); + + /********************************************************************** + Handle a few alpha options + **********************************************************************/ + + if (float(0) == 1) + { + + if(float(0) == 0) + { + applyDithering(albedo); + } + } + + albedo.a = max(float(0), albedo.a); + + + if(float(0) >= 1) + { + clip(albedo.a - float(0.5)); + } + + + if(float(0)) + { + albedo.rgb *= saturate(albedo.a + 0.0000000001); + } + + /********************************************************************** + Lighting Time :) + **********************************************************************/ + + #ifdef POI_LIGHTING + finalLighting = calculateFinalLighting(albedo.rgb, finalColor); + + #ifdef SUBSURFACE + finalSSS = calculateSubsurfaceScattering(); + #endif + #endif + + float4 finalColorBeforeLighting = albedo; + finalColor = finalColorBeforeLighting; + + #ifdef POI_SPECULAR + finalSpecular0 = calculateSpecular(finalColorBeforeLighting); + #endif + #ifdef POI_PARALLAX + calculateAndApplyInternalParallax(finalColor); + #endif + + #ifdef POI_ALPHA_TO_COVERAGE + ApplyAlphaToCoverage(finalColor); + #endif + + + if (float(0) == 1) + { + + if(float(0) == 1) + { + applyDithering(finalColor); + } + } + + #ifdef POI_METAL + calculateMetallicness(); + bool probeExists = shouldMetalHappenBeforeLighting(); + + if(!probeExists) + { + ApplyMetallicsFake(finalColor, albedo); + } + #endif + + #ifdef POI_LIGHTING + #if defined(FORWARD_ADD_PASS) && defined(POI_METAL) + finalLighting *= 1 - metalicMap; + #endif + #endif + + #ifdef VERTEXLIGHT_ON + finalColor.rgb *= finalLighting + poiLight.vFinalLighting; + #else + finalColor.rgb *= finalLighting; + #endif + + #ifdef POI_METAL + + if(probeExists) + { + ApplyMetallics(finalColor, albedo); + } + #endif + + finalColor.rgb += finalSpecular0 + finalEnvironmentalRim + finalSSS; + + #ifdef FORWARD_BASE_PASS + #ifdef POI_CLEARCOAT + calculateAndApplyClearCoat(finalColor); + #endif + #endif + + finalColor.a = saturate(finalColor.a); + + /********************************************************************** + Add Up all the emission values :D + **********************************************************************/ + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + finalEmission += finalColorBeforeLighting.rgb * float(0) * albedo.a; + finalEmission += wireframeEmission; + finalEmission += IridescenceEmission; + finalEmission += spawnInEmission; + finalEmission += voronoiEmission; + finalEmission += matcapEmission; + finalEmission += depthTouchEmission; + finalEmission += decalEmission; + finalEmission += glitterEmission; + finalEmission += panosphereEmission; + finalEmission += backFaceEmission; + finalEmission += rimLightEmission; + finalEmission += flipbookEmission; + finalEmission += videoEmission; + finalEmission += textOverlayEmission; + finalEmission += dissolveEmission; + #ifdef POI_EMISSION + finalEmission += calculateEmissionNew(finalColorBeforeLighting, finalColor); + #endif + #endif + + /********************************************************************** + Meta Pass Hype :D + **********************************************************************/ + #ifdef POI_META_PASS + UnityMetaInput meta; + UNITY_INITIALIZE_OUTPUT(UnityMetaInput, meta); + meta.Emission = finalEmission * float(1); + meta.Albedo = saturate(finalColor.rgb); + #ifdef POI_SPECULAR + meta.SpecularColor = poiLight.color.rgb * float4(1,1,1,1).rgb * lerp(1, albedo.rgb, float(0)) * float4(1,1,1,1).a; + #else + meta.SpecularColor = poiLight.color.rgb * albedo.rgb; + #endif + return UnityMetaFragment(meta); + #endif + + /********************************************************************** + Apply Emission to finalColor + **********************************************************************/ + finalColor.rgb += finalEmission; + + /********************************************************************** + Grabpass features + **********************************************************************/ + + + if (_commentIfZero_EnableGrabpass) + { + applyGrabEffects(finalColor); + } + + /********************************************************************** + Unity Fog + **********************************************************************/ + #ifdef FORWARD_BASE_PASS + + if (float(0) == 0) + { + UNITY_APPLY_FOG(i.fogCoord, finalColor); + } + #endif + + #ifdef FORWARD_ADD_PASS + if(float(0) > 0) + { + finalColor.rgb *= finalColor.a; + } + #endif + + + if(float(0) == 0) + { + finalColor.a = 1; + } + + #ifdef FORWARD_ADD_PASS + //finalColor.rgb = smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5)); + #endif + + #ifdef POI_DEBUG + displayDebugInfo(finalColor); + #endif + + //finalColor.rgb = frac(finalColor.rgb); + return finalColor; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta new file mode 100644 index 00000000..913a0167 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: dd1e098980800c34585e81444622718a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc new file mode 100644 index 00000000..8d260cdf --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc @@ -0,0 +1,41 @@ +#ifndef POI_FUR + #define POI_FUR + + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurTexture); float4 _FurTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurHeightMap); float4 _FurHeightMap_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_FurMask); float4 _FurMask_ST; + float _FurAO; + float4 _FurColor; + float _FurLayers; + float _FurMinDistance; + float _FurMaxDistance; + float _FurHeightMapMin; + float _FurHeightMapMax; + float _FurDebug; + float _AoRampMin; + float _AoRampMax; + float _FurTipAlpha; + float _FurFadeStart; + + //globals + half furHeightMap; + half furMask; + + void calculateFur() + { + + furHeightMap = UNITY_SAMPLE_TEX2D_SAMPLER(_FurHeightMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurHeightMap)).x; + furHeightMap = remap(furHeightMap, 0, _FurHeightMapMax, _FurHeightMapMin, 1); + furMask = poiMax(UNITY_SAMPLE_TEX2D_SAMPLER(_FurMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurMask)).xyz); + half3 furTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_FurTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _FurTexture)); + clip(furHeightMap - poiMesh.furAlpha); + clip(furMask - poiMesh.furAlpha); + + albedo.rgb = lerp(mainTexture.rgb, furTexture.rgb * _FurColor.rgb, ceil(poiMesh.furAlpha)); + float aoRampMax = _AoRampMax - (1 - furMask); + albedo.rgb *= lerp(1, smoothstep(_AoRampMin, aoRampMax, furHeightMap), _FurAO); + + albedo.a *= smoothstep(1.01, _FurTipAlpha, remapClamped(poiMesh.furAlpha, _FurFadeStart, 1, 0, 1)) + float(0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta new file mode 100644 index 00000000..9beed05a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d6ae5b0ca40d8224a9d2b446d58a5c24 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc new file mode 100644 index 00000000..032f3b08 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc @@ -0,0 +1,37 @@ +float _FurLength; +float _FurGravityStrength; + +[instance(4)] +[maxvertexcount(20)] +void geomFur(triangle v2f IN[3], inout TriangleStream < v2f > tristream, uint InstanceID : SV_GSInstanceID) +{ + float4 fur_worldPos[3]; + v2f o_fur[3]; + float3 offset = (float3(0, -1, 0) * (_FurLength*.9) *_FurGravityStrength); + + for (int i = 0; i < 3; i++) + { + if (InstanceID == 0) { + IN[i].furAlpha = 0; + tristream.Append(IN[i]); + } + o_fur[i] = IN[i]; + fur_worldPos[i] = float4(IN[i].worldPos + IN[i].normal * _FurLength, 1); + } + if (InstanceID == 0) { + tristream.RestartStrip(); + } + int Total_FurLayers = clamp(floor(_FurLayers * (1 - smoothstep(_FurMinDistance, _FurMaxDistance, distance(IN[0].worldPos, getCameraPosition())))), min(1, _FurLayers), _FurLayers); + + int startLayer = max(int(InstanceID) * 6 - 1, 0); + for (int layer = startLayer; layer < Total_FurLayers; layer++) { + for (int i = 0; i < 3; i++) { + o_fur[i].furAlpha = float(layer) / Total_FurLayers; + o_fur[i].worldPos = float4(lerp(IN[i].worldPos, fur_worldPos[i] + offset * o_fur[i].furAlpha, o_fur[i].furAlpha),1); + o_fur[i].pos = UnityWorldToClipPos(o_fur[i].worldPos); + o_fur[i].furAlpha += .01; + tristream.Append(o_fur[i]); + } + tristream.RestartStrip(); + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta new file mode 100644 index 00000000..b7131478 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGeomFur.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3d88ef191456d644ca2cb288d9af1b76 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc new file mode 100644 index 00000000..e31b6498 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc @@ -0,0 +1,232 @@ +#ifndef POI_GLITTER + #define POI_GLITTER + + half3 _GlitterColor; + POI_TEXTURE_NOSAMPLER(_GlitterMask); + float2 _GlitterPan; + POI_TEXTURE_NOSAMPLER(_GlitterColorMap); + POI_TEXTURE_NOSAMPLER(_GlitterTexture); + half _GlitterSpeed; + half _GlitterBrightness; + float _GlitterFrequency; + float _GlitterJitter; + half _GlitterSize; + half _GlitterContrast; + half _GlitterAngleRange; + half _GlitterMinBrightness; + half _GlitterBias; + float _GlitterRandomColors; + float2 _GlitterMinMaxSaturation; + float2 _GlitterMinMaxBrightness; + fixed _GlitterUseSurfaceColor; + float _GlitterBlendType; + float _GlitterMode; + float _GlitterShape; + float _GlitterCenterSize; + float _glitterFrequencyLinearEmissive; + float _GlitterJaggyFix; + float _GlitterRandomRotation; + float _GlitterTextureRotation; + float4 _GlitterMinMaxSize; + float _GlitterRandomSize; + + + float3 randomFloat3(float2 Seed, float maximum) + { + return(.5 + float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed), float2(12.9898, 78.233))) * 43758.5453) + ) * .5) * (maximum); + } + + float3 randomFloat3Range(float2 Seed, float Range) + { + return(float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1) * Range; + } + + float3 randomFloat3WiggleRange(float2 Seed, float Range) + { + float3 rando = (float3( + frac(sin(dot(Seed.xy, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(Seed.yx, float2(12.9898, 78.233))) * 43758.5453), + frac(sin(dot(float2(Seed.x * Seed.y, Seed.y + Seed.x), float2(12.9898, 78.233))) * 43758.5453) + ) * 2 - 1); + float speed = 1 + float(10); + return float3(sin((_Time.x + rando.x * pi) * speed), sin((_Time.x + rando.y * pi) * speed), sin((_Time.x + rando.z * pi) * speed)) * Range; + } + + void Unity_RandomRange_float(float2 Seed, float Min, float Max, out float Out) + { + float randomno = frac(sin(dot(Seed, float2(12.9898, 78.233))) * 43758.5453); + Out = lerp(Min, Max, randomno); + } + + float3 RandomColorFromPoint(float2 rando) + { + fixed hue = random2(rando.x + rando.y).x; + fixed saturation = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.x); + fixed value = lerp(float4(0.8,1,0,1).x, float4(0.8,1,0,1).y, rando.y); + float3 hsv = float3(hue, saturation, value); + return HSVtoRGB(hsv); + } + + void applyGlitter(inout float4 albedo, inout float3 glitterEmission) + { + + + // Scale + float2 st = poiMesh.uv[0] * float(300); + + // Tile the space + float2 i_st = floor(st); + float2 f_st = frac(st); + + float m_dist = 10.; // minimun distance + float2 m_point = 0; // minimum point + float2 randoPoint = 0; + float2 dank; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 neighbor = float2(i, j); + float2 pos = random2(i_st + neighbor); + float2 rando = pos; + pos = 0.5 + 0.5 * sin(float(1) * 6.2831 * pos); + float2 diff = neighbor + pos - f_st; + float dist = length(diff); + + if (dist < m_dist) + { + dank = diff; + m_dist = dist; + m_point = pos; + randoPoint = rando; + } + } + } + + float randomFromPoint = random(randoPoint); + + float size = float(0.3); + + if(float(0)) + { + size = remapClamped(randomFromPoint, 0, 1, float4(0.1,0.5,0,1).x, float4(0.1,0.5,0,1).y); + } + + + // Assign a color using the closest point position + //color += dot(m_point, float2(.3, .6)); + + // Add distance field to closest point center + // color.g = m_dist; + + // Show isolines + //color -= abs(sin(40.0 * m_dist)) * 0.07; + + // Draw cell center + half glitterAlpha = 1; + switch(float(0)) + { + case 0: //circle + glitterAlpha = (1. - step(size, m_dist)); + break; + case 1: //sqaure + float jaggyFix = pow(poiCam.distanceToVert, 2) * float(0); + + + if (float(0)) + { + float2 center = float2(0, 0); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + dank = float2((dank.x - center.x) * cs - (dank.y - center.y) * sn + center.x, (dank.x - center.x) * sn + (dank.y - center.y) * cs + center.y); + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + else + { + glitterAlpha = (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.x))) * (1. - smoothstep(size - .1 * jaggyFix, size, abs(dank.y))); + } + break; + } + + float3 finalGlitter = 0; + + switch(float(0)) + { + case 0: + float3 randomRotation = 0; + + if(float(10) > 0) + { + randomRotation = randomFloat3WiggleRange(randoPoint, float(90)); + } + else + { + randomRotation = randomFloat3Range(randoPoint, float(90)); + } + float3 norm = poiMesh.normals[0]; + + float3 glitterReflectionDirection = normalize(mul(poiRotationMatrixFromAngles(randomRotation), norm)); + finalGlitter = lerp(0, float(0) * glitterAlpha, glitterAlpha) + max(pow(saturate(dot(lerp(glitterReflectionDirection, poiCam.viewDir, float(0.8)), poiCam.viewDir)), float(300)), 0); + finalGlitter *= glitterAlpha; + break; + case 1: + float offset = random(randoPoint); + float brightness = sin((_Time.x + offset) * float(10)) * float(20) - (float(20) - 1); + finalGlitter = max(float(0) * glitterAlpha, brightness * glitterAlpha * smoothstep(0, 1, 1 - m_dist * float(0.08) * 10)); + break; + } + + + half3 glitterColor = float4(1,1,1,1); + glitterColor *= lerp(1, albedo, float(0)); + glitterColor *= POI2D_SAMPLER_PAN(_GlitterColorMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + + float2 uv = remapClamped(dank, -size, size, 0, 1); + + if(float(0) && !float(0)) + { + float2 fakeUVCenter = float2(.5, .5); + float theta = radians((random(randoPoint) + _Time.x * float(0)) * 360); + float cs = cos(theta); + float sn = sin(theta); + uv = float2((uv.x - fakeUVCenter.x) * cs - (uv.y - fakeUVCenter.y) * sn + fakeUVCenter.x, (uv.x - fakeUVCenter.x) * sn + (uv.y - fakeUVCenter.y) * cs + fakeUVCenter.y); + } + float4 glitterTexture = POI2D_SAMPLER_PAN(_GlitterTexture, _MainTex, uv, float4(0,0,0,0)); + //float4 glitterTexture = _GlitterTexture.SampleGrad(sampler_MainTex, frac(uv), ddx(uv), ddy(uv)); + glitterColor *= glitterTexture.rgb; + float glitterMask = POI2D_SAMPLER_PAN(_GlitterMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskGlitter != 4) + { + glitterMask *= blackLightMask[_BlackLightMaskGlitter]; + } + #endif + + if(float(0)) + { + glitterColor *= RandomColorFromPoint(random2(randoPoint.x + randoPoint.y)); + } + + + if(float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, finalGlitter * glitterColor * float(3), finalGlitter * glitterTexture.a * glitterMask); + glitterEmission = finalGlitter * glitterColor * max(0, (float(3) - 1) * glitterTexture.a) * glitterMask; + } + else + { + glitterEmission = finalGlitter * glitterColor * float(3) * glitterTexture.a * glitterMask; + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta new file mode 100644 index 00000000..b3b4c196 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGlitter.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 506e1f270eb4b9c43a207ab2ba0f45ae +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc new file mode 100644 index 00000000..060cb720 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc @@ -0,0 +1,127 @@ +#ifndef POI_GRAB + #define POI_GRAB + + float _RefractionIndex; + float _RefractionOpacity; + float _RefractionChromaticAberattion; + float _RefractionEnabled; + float _GrabSrcBlend; + float _GrabDstBlend; + float _GrabPassUseAlpha; + float _GrabPassBlendFactor; + float _GrabBlurDistance; + float _GrabBlurQuality; + float _GrabBlurDirections; + POI_TEXTURE_NOSAMPLER(_GrabPassBlendMap); + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RefractionOpacityMask); float4 _RefractionOpacityMask_ST; + + float4 blur(float2 uv) + { + float two_pi = 6.28318530718; + + float2 radius = _GrabBlurDistance / _ScreenParams.xy * 100; // Arbitrary constant to match old blur + float quality = floor(_GrabBlurQuality); + float directions = floor(_GrabBlurDirections); + + // Pixel colour + float4 color = tex2D(_PoiGrab, uv); + + float deltaAngle = two_pi / directions; + float deltaQuality = 1.0 / quality; + for (int i = 0; i < directions; i ++) + { + for (int j = 0; j < quality; j ++) + { + float angle = deltaAngle * i + j; + float offset = deltaQuality * (j + 1); + color += tex2D(_PoiGrab, uv + float2(cos(angle), sin(angle)) * radius * offset); + } + } + + // Output to screen + color /= quality * directions + 1; + return color; + } + + inline float4 Refraction(float indexOfRefraction, float chromaticAberration, float2 projectedGrabPos) + { + float4 refractionColor; + float3 worldViewDir = normalize(UnityWorldSpaceViewDir(poiMesh.worldPos)); + float3 refractionOffset = ((((indexOfRefraction - 1.0) * mul(UNITY_MATRIX_V, float4(poiMesh.normals[1], 0.0))) * (1.0 / (poiCam.grabPos.z + 1.0))) * (1.0 - dot(poiMesh.normals[1], worldViewDir))); + float2 cameraRefraction = float2(refractionOffset.x, - (refractionOffset.y * _ProjectionParams.x)); + + + if (_RefractionChromaticAberattion > 0) + { + float4 redAlpha = tex2D(_PoiGrab, (projectedGrabPos + cameraRefraction)); + float green = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 - chromaticAberration)))).g; + float blue = tex2D(_PoiGrab, (projectedGrabPos + (cameraRefraction * (1.0 + chromaticAberration)))).b; + refractionColor = float4(redAlpha.r, green, blue, redAlpha.a); + } + else + { + float2 refractedGrab = projectedGrabPos + cameraRefraction; + + #ifdef CHROMATIC_ABERRATION_LOW + refractionColor = blur(refractedGrab); + #else + refractionColor = tex2D(_PoiGrab, (refractedGrab)); + #endif + } + return refractionColor; + } + + void calculateRefraction(float2 projectedGrabPos, inout float4 finalColor) + { + float3 refraction = 1; + + if(_RefractionEnabled == 1) + { + refraction = Refraction(_RefractionIndex, _RefractionChromaticAberattion, projectedGrabPos).rgb; + } + else + { + #ifdef CHROMATIC_ABERRATION_LOW + refraction = blur(projectedGrabPos); + #else + refraction = tex2Dproj(_PoiGrab, poiCam.grabPos); + #endif + } + + float blendFactor = _GrabPassBlendFactor * POI2D_SAMPLER_PAN(_GrabPassBlendMap, _MainTex, poiMesh.uv[_GrabPassBlendMapUV], _GrabPassBlendMapPan).r; + + if(_GrabPassUseAlpha) + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor * (1 - finalColor.a)); + finalColor.a = 1; + } + else + { + finalColor = poiBlend(_GrabSrcBlend, finalColor, _GrabDstBlend, float4(refraction, 1), blendFactor); + } + } + + float2 calculateGrabPosition() + { + float4 grabPos = poiCam.grabPos; + #if UNITY_UV_STARTS_AT_TOP + float scale = -1.0; + #else + float scale = 1.0; + #endif + float halfPosW = grabPos.w * 0.5; + grabPos.y = (grabPos.y - halfPosW) * _ProjectionParams.x * scale + halfPosW; + #if SHADER_API_D3D9 || SHADER_API_D3D11 + grabPos.w += 0.00000000001; + #endif + return(grabPos / grabPos.w).xy; + } + + void applyGrabEffects(inout float4 finalColor) + { + float2 projectedGrabPos = calculateGrabPosition(); + calculateRefraction(projectedGrabPos, finalColor); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta new file mode 100644 index 00000000..eb1f2b64 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiGrab.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 37d6ce29563b69241997bf008cb029b3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc new file mode 100644 index 00000000..9ae9e754 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc @@ -0,0 +1,338 @@ +#ifndef POI_HELPER + #define POI_HELPER + + #include "CGI_PoiColors.cginc" + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float linearSin(float x) + { + return pow(min(cos(pi * x / 2.0), 1.0 - abs(x)), 1.0); + } + + float random(float2 p) + { + return frac(sin(dot(p, float2(12.9898, 78.2383))) * 43758.5453123); + } + + float2 random2(float2 p) + { + return frac(sin(float2(dot(p, float2(127.1, 311.7)), dot(p, float2(269.5, 183.3)))) * 43758.5453); + } + + float3 random3(float3 p) + { + return frac(sin(float3(dot(p, float3(127.1, 311.7, 248.6)), dot(p, float3(269.5, 183.3, 423.3)), dot(p, float3(248.3, 315.9, 184.2)))) * 43758.5453); + } + + float3 mod(float3 x, float y) + { + return x - y * floor(x / y); + } + float2 mod(float2 x, float y) + { + return x - y * floor(x / y); + } + + //1/7 + #define K 0.142857142857 + //3/7 + #define Ko 0.428571428571 + + // Permutation polynomial: (34x^2 + x) mod 289 + float3 Permutation(float3 x) + { + return mod((34.0 * x + 1.0) * x, 289.0); + } + + bool IsInMirror() + { + return unity_CameraProjection[2][0] != 0.f || unity_CameraProjection[2][1] != 0.f; + } + + float3 BoxProjection(float3 direction, float3 position, float4 cubemapPosition, float3 boxMin, float3 boxMax) + { + #if UNITY_SPECCUBE_BOX_PROJECTION + + if (cubemapPosition.w > 0) + { + float3 factors = ((direction > 0 ? boxMax: boxMin) - position) / direction; + float scalar = min(min(factors.x, factors.y), factors.z); + direction = direction * scalar + (position - cubemapPosition); + } + #endif + return direction; + } + + // Camera + float3 getCameraPosition() + { + #ifdef USING_STEREO_MATRICES + return lerp(unity_StereoWorldSpaceCameraPos[0], unity_StereoWorldSpaceCameraPos[1], 0.5); + #endif + return _WorldSpaceCameraPos; + } + + float3 getCameraForward() + { + #if UNITY_SINGLE_PASS_STEREO + float3 p1 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 1, 1)); + float3 p2 = mul(unity_StereoCameraToWorld[0], float4(0, 0, 0, 1)); + #else + float3 p1 = mul(unity_CameraToWorld, float4(0, 0, 1, 1)); + float3 p2 = mul(unity_CameraToWorld, float4(0, 0, 0, 1)); + #endif + return normalize(p2 - p1); + } + + float3 grayscale_vector_node() + { + return float3(0, 0.3823529, 0.01845836); + } + + float3 grayscale_for_light() + { + return float3(0.298912, 0.586611, 0.114478); + } + + //Math Operators + + float remap(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float2 remap(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float3 remap(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float4 remap(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld); + } + + float remapClamped(float x, float minOld, float maxOld, float minNew, float maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float2 remapClamped(float2 x, float2 minOld, float2 maxOld, float2 minNew, float2 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float3 remapClamped(float3 x, float3 minOld, float3 maxOld, float3 minNew, float3 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float4 remapClamped(float4 x, float4 minOld, float4 maxOld, float4 minNew, float4 maxNew) + { + return clamp(minNew + (x - minOld) * (maxNew - minNew) / (maxOld - minOld), minNew, maxNew); + } + + float poiMax(float2 i) + { + return max(i.x, i.y); + } + + float poiMax(float3 i) + { + return max(max(i.x, i.y), i.z); + } + + float poiMax(float4 i) + { + return max(max(max(i.x, i.y), i.z), i.w); + } + + float4x4 poiAngleAxisRotationMatrix(float angle, float3 axis) + { + axis = normalize(axis); + float s = sin(angle); + float c = cos(angle); + float oc = 1.0 - c; + + return float4x4(oc * axis.x * axis.x + c, oc * axis.x * axis.y - axis.z * s, oc * axis.z * axis.x + axis.y * s, 0.0, + oc * axis.x * axis.y + axis.z * s, oc * axis.y * axis.y + c, oc * axis.y * axis.z - axis.x * s, 0.0, + oc * axis.z * axis.x - axis.y * s, oc * axis.y * axis.z + axis.x * s, oc * axis.z * axis.z + c, 0.0, + 0.0, 0.0, 0.0, 1.0); + } + + float4x4 poiRotationMatrixFromAngles(float x, float y, float z) + { + float angleX = radians(x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + + float4x4 poiRotationMatrixFromAngles(float3 angles) + { + float angleX = radians(angles.x); + float c = cos(angleX); + float s = sin(angleX); + float4x4 rotateXMatrix = float4x4(1, 0, 0, 0, + 0, c, -s, 0, + 0, s, c, 0, + 0, 0, 0, 1); + + float angleY = radians(angles.y); + c = cos(angleY); + s = sin(angleY); + float4x4 rotateYMatrix = float4x4(c, 0, s, 0, + 0, 1, 0, 0, + - s, 0, c, 0, + 0, 0, 0, 1); + + float angleZ = radians(angles.z); + c = cos(angleZ); + s = sin(angleZ); + float4x4 rotateZMatrix = float4x4(c, -s, 0, 0, + s, c, 0, 0, + 0, 0, 1, 0, + 0, 0, 0, 1); + + return mul(mul(rotateXMatrix, rotateYMatrix), rotateZMatrix); + } + +#endif + +half2 calcScreenUVs(half4 grabPos) +{ + half2 uv = grabPos / (grabPos.w + 0.0000000001); + #if UNITY_SINGLE_PASS_STEREO + uv.xy *= half2(_ScreenParams.x * 2, _ScreenParams.y); + #else + uv.xy *= _ScreenParams.xy; + #endif + + return uv; +} + +float inverseLerp(float A, float B, float T) +{ + return(T - A) / (B - A); +} + +float inverseLerp2(float2 a, float2 b, float2 value) +{ + float2 AB = b - a; + float2 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp3(float3 a, float3 b, float3 value) +{ + float3 AB = b - a; + float3 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +float inverseLerp4(float4 a, float4 b, float4 value) +{ + float4 AB = b - a; + float4 AV = value - a; + return dot(AV, AB) / dot(AB, AB); +} + +// Dithering +inline half Dither8x8Bayer(int x, int y) +{ + const half dither[ 64 ] = { + 1, 49, 13, 61, 4, 52, 16, 64, + 33, 17, 45, 29, 36, 20, 48, 32, + 9, 57, 5, 53, 12, 60, 8, 56, + 41, 25, 37, 21, 44, 28, 40, 24, + 3, 51, 15, 63, 2, 50, 14, 62, + 35, 19, 47, 31, 34, 18, 46, 30, + 11, 59, 7, 55, 10, 58, 6, 54, + 43, 27, 39, 23, 42, 26, 38, 22 + }; + int r = y * 8 + x; + return dither[r] / 64; +} + +// UV Manipulation +float2 TransformUV(half2 offset, half rotation, half2 scale, float2 uv) +{ + float theta = radians(rotation); + scale = 1 - scale; + float cs = cos(theta); + float sn = sin(theta); + float2 centerPoint = offset + .5; + uv = float2((uv.x - centerPoint.x) * cs - (uv.y - centerPoint.y) * sn + centerPoint.x, (uv.x - centerPoint.x) * sn + (uv.y - centerPoint.y) * cs + centerPoint.y); + + return remap(uv, float2(0, 0) + offset + (scale * .5), float2(1, 1) + offset - (scale * .5), float2(0, 0), float2(1, 1)); +} + +bool isVR() +{ + // USING_STEREO_MATRICES + #if UNITY_SINGLE_PASS_STEREO + return true; + #else + return false; + #endif +} + +bool isVRHandCamera() +{ + return !isVR() && abs(UNITY_MATRIX_V[0].y) > 0.0000005; +} + +bool isDesktop() +{ + return !isVRHandCamera(); +} + +bool isVRHandCameraPreview() +{ + return isVRHandCamera() && _ScreenParams.y == 720; +} + +bool isVRHandCameraPicture() +{ + return isVRHandCamera() && _ScreenParams.y == 1080; +} + +bool isPanorama() +{ + // Crude method + // FOV=90=camproj=[1][1] + return unity_CameraProjection[1][1] == 1 && _ScreenParams.x == 1075 && _ScreenParams.y == 1025; +} + +float3 calculateluminance(float3 color) +{ + return color.r * 0.299 + color.g * 0.587 + color.b * 0.114; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta new file mode 100644 index 00000000..eb6dccce --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHelpers.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5401e9057a03eca40993d18facd87c80 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc new file mode 100644 index 00000000..6ee66d3a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc @@ -0,0 +1,36 @@ +#ifndef POI_HOLOGRAM + #define POI_HOLOGRAM + + UNITY_DECLARE_TEX2D_NOSAMPLER(_HoloAlphaMap); float4 _HoloAlphaMap_ST; + float _HoloCoordinateSpace; // 0 World, 1 Local, 2 UV + float3 _HoloDirection; + float _HoloScrollSpeed; + float _HoloLineDensity; + + fixed _HoloFresnelAlpha; + fixed _HoloRimSharpness; + fixed _HoloRimWidth; + void ApplyHoloAlpha(inout float4 color) + { + float uv = 0; + + if (_HoloCoordinateSpace == 0) + { + uv = dot(normalize(_HoloDirection), poiMesh.worldPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 1) + { + uv = dot(normalize(_HoloDirection), poiMesh.localPos * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + + if(_HoloCoordinateSpace == 2) + { + uv = dot(_HoloDirection, poiMesh.uv[0] * _HoloLineDensity) + _Time.x * _HoloScrollSpeed; + } + float holoRim = saturate(1 - smoothstep(min(_HoloRimSharpness, _HoloRimWidth), _HoloRimWidth, poiCam.viewDotNormal)); + holoRim = abs(lerp(1, holoRim, _HoloFresnelAlpha)); + color.a *= UNITY_SAMPLE_TEX2D_SAMPLER(_HoloAlphaMap, _MainTex, uv).r * holoRim; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta new file mode 100644 index 00000000..95bb3402 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiHologram.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 948e51e7bfbac1a41a9e70d43ea33fec +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc new file mode 100644 index 00000000..bcea8ccc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc @@ -0,0 +1,61 @@ +#ifndef POI_IRIDESCENCE + #define POI_IRIDESCENCE + + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceRamp); float4 _IridescenceRamp_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceMask); float4 _IridescenceMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_IridescenceNormalMap); float4 _IridescenceNormalMap_ST; + float _IridescenceNormalUV; + float _IridescenceMaskUV; + float _IridescenceNormalSelection; + float _IridescenceNormalIntensity; + float _IridescenceNormalToggle; + float _IridescenceIntensity; + fixed _IridescenceAddBlend; + fixed _IridescenceReplaceBlend; + fixed _IridescenceMultiplyBlend; + float _IridescenceEmissionStrength; + + //global + + float3 calculateNormal(float3 baseNormal) + { + float3 normal = UnpackScaleNormal(UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceNormalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceNormalUV], _IridescenceNormalMap)), _IridescenceNormalIntensity); + return normalize( + normal.x * poiMesh.tangent + + normal.y * poiMesh.binormal + + normal.z * baseNormal + ); + } + + void applyIridescence(inout float4 albedo, inout float3 IridescenceEmission) + { + float3 normal = poiMesh.normals[_IridescenceNormalSelection]; + + // Use custom normal map + + if (_IridescenceNormalToggle) + { + normal = calculateNormal(normal); + } + + float ndotv = dot(normal, poiCam.viewDir); + + float4 iridescenceColor = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceRamp, _MainTex, 1 - abs(ndotv)); + float4 iridescenceMask = UNITY_SAMPLE_TEX2D_SAMPLER(_IridescenceMask, _MainTex, TRANSFORM_TEX(poiMesh.uv[_IridescenceMaskUV], _IridescenceMask)); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskIridescence != 4) + { + iridescenceMask *= blackLightMask[_BlackLightMaskIridescence]; + } + #endif + + + albedo.rgb = lerp(albedo.rgb, saturate(iridescenceColor.rgb * _IridescenceIntensity), iridescenceColor.a * _IridescenceReplaceBlend * iridescenceMask); + albedo.rgb += saturate(iridescenceColor.rgb * _IridescenceIntensity * iridescenceColor.a * _IridescenceAddBlend * iridescenceMask); + albedo.rgb *= saturate(lerp(1, iridescenceColor.rgb * _IridescenceIntensity, iridescenceColor.a * _IridescenceMultiplyBlend * iridescenceMask)); + + IridescenceEmission = saturate(iridescenceColor.rgb * _IridescenceIntensity) * iridescenceColor.a * iridescenceMask * _IridescenceEmissionStrength; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta new file mode 100644 index 00000000..ad06d530 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiIridescence.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: bba41b622aeaa2748914758068db5158 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc new file mode 100644 index 00000000..8f35cb62 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc @@ -0,0 +1,668 @@ + +#ifndef POI_LIGHTING + #define POI_LIGHTING + + float _LightingShadingEnabled; + float _LightingRampType; + float _LightingIgnoreAmbientColor; + float _UseShadowTexture; + float _LightingEnableAO; + float _LightingDetailShadowsEnabled; + + float _LightingOnlyUnityShadows; + float _LightingMode; + float _ForceLightDirection; + float _ShadowStrength; + float _OutlineShadowStrength; + float _ShadowOffset; + float3 _LightDirection; + float _ForceShadowStrength; + float _CastedShadowSmoothing; + float _AttenuationMultiplier; + float _EnableLighting; + float _LightingControlledUseLightColor; + fixed _LightingStandardSmoothness; + fixed _LightingStandardControlsToon; + fixed _LightingMinLightBrightness; + float _LightingUseShadowRamp; + float _LightingMinShadowBrightnessRatio; + UNITY_DECLARE_TEX2D(_ToonRamp); + fixed _LightingMonochromatic; + + fixed _LightingGradientStart; + fixed _LightingGradientEnd; + float3 _LightingShadowColor; + POI_TEXTURE_NOSAMPLER(_LightingShadowTexture); + float _AOStrength; + fixed _LightingDetailStrength; + fixed _LightingAdditiveDetailStrength; + fixed _LightingNoIndirectMultiplier; + fixed _LightingNoIndirectThreshold; + float _LightingUncapped; + + float _LightingDirectColorMode; + float _LightingIndirectColorMode; + float _LightingAdditiveType; + fixed _LightingAdditiveGradientStart; + fixed _LightingAdditiveGradientEnd; + fixed _LightingAdditivePassthrough; + float _LightingDirectAdjustment; + float _LightingIndirect; + // HSL JUNK + float _LightingEnableHSL; + float _LightingShadowHue; + float _LightingShadowSaturation; + float _LightingShadowLightness; + float _LightingHSLIntensity; + /* + UNITY_DECLARE_TEX2D_NOSAMPLER(_ToonRamp3); + half _LightingShadowStrength3; + half _ShadowOffset3; + */ + + half4 shadowStrength; + + POI_TEXTURE_NOSAMPLER(_LightingDetailShadows); + POI_TEXTURE_NOSAMPLER(_LightingAOTex); + POI_TEXTURE_NOSAMPLER(_LightingShadowMask); + + /* + * MIT License + * + * Copyright (c) 2018 s-ilent + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + + /* + * Silent's code starts here + */ + + float shEvaluateDiffuseL1Geomerics_local(float L0, float3 L1, float3 n) + { + // average energy + float R0 = max(0, L0); + + // avg direction of incoming light + float3 R1 = 0.5f * L1; + + // directional brightness + float lenR1 = length(R1); + + // linear angle between normal and direction 0-1 + //float q = 0.5f * (1.0f + dot(R1 / lenR1, n)); + //float q = dot(R1 / lenR1, n) * 0.5 + 0.5; + float q = dot(normalize(R1), n) * 0.5 + 0.5; + q = saturate(q); // Thanks to ScruffyRuffles for the bug identity. + + // power for q + // lerps from 1 (linear) to 3 (cubic) based on directionality + float p = 1.0f + 2.0f * lenR1 / R0; + + // dynamic range constant + // should vary between 4 (highly directional) and 0 (ambient) + float a = (1.0f - lenR1 / R0) / (1.0f + lenR1 / R0); + + return R0 * (a + (1.0f - a) * (p + 1.0f) * pow(q, p)); + } + + half3 BetterSH9(half4 normal) + { + float3 indirect; + float3 L0 = float3(unity_SHAr.w, unity_SHAg.w, unity_SHAb.w) + float3(unity_SHBr.z, unity_SHBg.z, unity_SHBb.z) / 3.0; + indirect.r = shEvaluateDiffuseL1Geomerics_local(L0.r, unity_SHAr.xyz, normal); + indirect.g = shEvaluateDiffuseL1Geomerics_local(L0.g, unity_SHAg.xyz, normal); + indirect.b = shEvaluateDiffuseL1Geomerics_local(L0.b, unity_SHAb.xyz, normal); + indirect = max(0, indirect); + indirect += SHEvalLinearL2(normal); + return indirect; + } + + float3 BetterSH9(float3 normal) + { + return BetterSH9(float4(normal, 1)); + } + + /* + * Standard stuff starts here + */ + UnityLight CreateLight(float3 normal, fixed detailShadowMap) + { + UnityLight light; + light.dir = poiLight.direction; + light.color = saturate(_LightColor0.rgb * lerp(1, poiLight.attenuation, float(0)) * detailShadowMap); + light.ndotl = DotClamped(normal, poiLight.direction); + return light; + } + + float FadeShadows(float attenuation) + { + #if HANDLE_SHADOWS_BLENDING_IN_GI || ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + // UNITY_LIGHT_ATTENUATION doesn't fade shadows for us. + + #if ADDITIONAL_MASKED_DIRECTIONAL_SHADOWS + attenuation = lerp(1, poiLight.attenuation, float(0)); + #endif + + float viewZ = dot(_WorldSpaceCameraPos - poiMesh.worldPos, UNITY_MATRIX_V[2].xyz); + float shadowFadeDistance = UnityComputeShadowFadeDistance(poiMesh.worldPos, viewZ); + float shadowFade = UnityComputeShadowFade(shadowFadeDistance); + float bakedAttenuation = UnitySampleBakedOcclusion(poiMesh.lightmapUV.xy, poiMesh.worldPos); + attenuation = UnityMixRealtimeAndBakedShadows( + attenuation, bakedAttenuation, shadowFade + ); + #endif + + return attenuation; + } + + void ApplySubtractiveLighting(inout UnityIndirect indirectLight) + { + #if SUBTRACTIVE_LIGHTING + poiLight.attenuation = FadeShadows(lerp(1, poiLight.attenuation, float(0))); + + float ndotl = saturate(dot(i.normal, _WorldSpaceLightPos0.xyz)); + float3 shadowedLightEstimate = ndotl * (1 - poiLight.attenuation) * _LightColor0.rgb; + float3 subtractedLight = indirectLight.diffuse - shadowedLightEstimate; + subtractedLight = max(subtractedLight, unity_ShadowColor.rgb); + subtractedLight = lerp(subtractedLight, indirectLight.diffuse, _LightShadowData.x); + indirectLight.diffuse = min(subtractedLight, indirectLight.diffuse); + #endif + } + + float3 weightedBlend(float3 layer1, float3 layer2, float2 weights) + { + return(weights.x * layer1 + weights.y * layer2) / (weights.x + weights.y); + } + + UnityIndirect CreateIndirectLight(float3 normal) + { + UnityIndirect indirectLight; + indirectLight.diffuse = 0; + indirectLight.specular = 0; + + #if defined(FORWARD_BASE_PASS) + #if defined(LIGHTMAP_ON) + indirectLight.diffuse = DecodeLightmap(UNITY_SAMPLE_TEX2D(unity_Lightmap, poiMesh.lightmapUV.xy)); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 lightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_LightmapInd, unity_Lightmap, poiMesh.lightmapUV.xy + ); + indirectLight.diffuse = DecodeDirectionalLightmap( + indirectLight.diffuse, lightmapDirection, normal + ); + #endif + ApplySubtractiveLighting(indirectLight); + #endif + + #if defined(DYNAMICLIGHTMAP_ON) + float3 dynamicLightDiffuse = DecodeRealtimeLightmap( + UNITY_SAMPLE_TEX2D(unity_DynamicLightmap, poiMesh.lightmapUV.zw) + ); + + #if defined(DIRLIGHTMAP_COMBINED) + float4 dynamicLightmapDirection = UNITY_SAMPLE_TEX2D_SAMPLER( + unity_DynamicDirectionality, unity_DynamicLightmap, + poiMesh.lightmapUV.zw + ); + indirectLight.diffuse += DecodeDirectionalLightmap( + dynamicLightDiffuse, dynamicLightmapDirection, normal + ); + #else + indirectLight.diffuse += dynamicLightDiffuse; + #endif + #endif + + #if !defined(LIGHTMAP_ON) && !defined(DYNAMICLIGHTMAP_ON) + #if UNITY_LIGHT_PROBE_PROXY_VOLUME + if (unity_ProbeVolumeParams.x == 1) + { + indirectLight.diffuse = SHEvalLinearL0L1_SampleProbeVolume( + float4(normal, 1), poiMesh.worldPos + ); + indirectLight.diffuse = max(0, indirectLight.diffuse); + #if defined(UNITY_COLORSPACE_GAMMA) + indirectLight.diffuse = LinearToGammaSpace(indirectLight.diffuse); + #endif + } + else + { + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + } + #else + indirectLight.diffuse += max(0, ShadeSH9(float4(normal, 1))); + #endif + #endif + + float3 reflectionDir = reflect(-poiCam.viewDir, normal); + Unity_GlossyEnvironmentData envData; + envData.roughness = 1 - float(0); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + #if UNITY_SPECCUBE_BLENDING + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + indirectLight.specular = lerp(probe1, probe0, interpolator); + } + else + { + indirectLight.specular = probe0; + } + #else + indirectLight.specular = probe0; + #endif + float occlusion = 1; + + if(float(0)) + { + occlusion = lerp(1, POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)); + } + + indirectLight.diffuse *= occlusion; + indirectLight.diffuse = max(indirectLight.diffuse, float(0)); + indirectLight.specular *= occlusion; + #endif + + return indirectLight; + } + + /* + * Poiyomi's cool as heck code starts here :smug: + */ + + half PoiDiffuse(half NdotV, half NdotL, half LdotH) + { + half fd90 = 0.5 + 2 * LdotH * LdotH * SmoothnessToPerceptualRoughness(.5); + // Two schlick fresnel term + half lightScatter = (1 + (fd90 - 1) * Pow5(1 - NdotL)); + half viewScatter = (1 + (fd90 - 1) * Pow5(1 - NdotV)); + + return lightScatter * viewScatter; + } + + float3 ShadeSH9Indirect() + { + return ShadeSH9(half4(0.0, -1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Direct() + { + return ShadeSH9(half4(0.0, 1.0, 0.0, 1.0)); + } + + float3 ShadeSH9Normal(float3 normalDirection) + { + return ShadeSH9(half4(normalDirection, 1.0)); + } + + half3 GetSHLength() + { + half3 x, x1; + x.r = length(unity_SHAr); + x.g = length(unity_SHAg); + x.b = length(unity_SHAb); + x1.r = length(unity_SHBr); + x1.g = length(unity_SHBg); + x1.b = length(unity_SHBb); + return x + x1; + } + + float3 calculateRealisticLighting(float4 colorToLight, fixed detailShadowMap) + { + return UNITY_BRDF_PBS(1, 0, 0, float(0), poiMesh.normals[1], poiCam.viewDir, CreateLight(poiMesh.normals[1], detailShadowMap), CreateIndirectLight(poiMesh.normals[1])); + } + + void calculateBasePassLightMaps() + { + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + float AOMap = 1; + float AOStrength = 1; + float3 lightColor = poiLight.color; + /* + * Generate Basic Light Maps + */ + + bool lightExists = false; + if (all(_LightColor0.rgb >= 0.002)) + { + lightExists = true; + } + #ifndef OUTLINE + + if(float(0)) + { + AOMap = POI2D_SAMPLER_PAN(_LightingAOTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + AOStrength = float(1); + } + + #ifdef FORWARD_BASE_PASS + //poiLight.color = saturate(_LightColor0.rgb) + saturate(ShadeSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb))); + if (lightExists) + { + lightColor = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + } + else + { + lightColor = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + } + + //lightColor = magic * magiratio + normalLight * normaRatio; + //lightColor = magic + normalLight; + #endif + #endif + + float3 grayscale_vector = float3(.33333, .33333, .33333); + float3 ShadeSH9Plus = GetSHLength(); + float3 ShadeSH9Minus = BetterSH9(float4(0, 0, 0, 1)); + + shadowStrength = 1; + #ifndef OUTLINE + shadowStrength = POI2D_SAMPLER_PAN(_LightingShadowMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(1); + #else + shadowStrength = float(1); + #endif + + float bw_lightColor = dot(lightColor, grayscale_vector); + float bw_directLighting = (((poiLight.nDotL * 0.5 + 0.5) * bw_lightColor * lerp(1, poiLight.attenuation, float(0))) + dot(ShadeSH9Normal(poiMesh.normals[1]), grayscale_vector)); + float bw_bottomIndirectLighting = dot(ShadeSH9Minus, grayscale_vector); + float bw_topIndirectLighting = dot(ShadeSH9Plus, grayscale_vector); + float lightDifference = ((bw_topIndirectLighting + bw_lightColor) - bw_bottomIndirectLighting); + + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(0)) + { + poiLight.lightMap = poiLight.attenuation; + } + else + { + poiLight.lightMap = smoothstep(0, lightDifference, bw_directLighting - bw_bottomIndirectLighting); + } + poiLight.lightMap *= detailShadow; + + /* + * Decide on light colors + */ + + float3 indirectLighting = 0; + float3 directLighting = 0; + + + + + if (float(0) == 1) + { + indirectLighting = BetterSH9(float4(poiMesh.normals[0], 1)); + } + else + { + indirectLighting = ShadeSH9Minus; + } + + poiLight.directLighting = lightColor; + poiLight.indirectLighting = indirectLighting; + + + if(float(0) == 0) + { + float3 magic = max(BetterSH9(normalize(unity_SHAr + unity_SHAg + unity_SHAb)), 0); + float3 normalLight = _LightColor0.rgb + BetterSH9(float4(0, 0, 0, 1)); + + float magiLumi = calculateluminance(magic); + float normaLumi = calculateluminance(normalLight); + float maginormalumi = magiLumi + normaLumi; + + float magiratio = magiLumi / maginormalumi; + float normaRatio = normaLumi / maginormalumi; + + float target = calculateluminance(magic * magiratio + normalLight * normaRatio); + float3 properLightColor = magic + normalLight; + float properLuminance = calculateluminance(magic + normalLight); + directLighting = properLightColor * max(0.0001, (target / properLuminance)); + } + else + { + directLighting = lightColor; + } + + + if(!float(0)) + { + float directluminance = calculateluminance(directLighting); + float indirectluminance = calculateluminance(indirectLighting); + directLighting = min(directLighting, directLighting / max(0.0001, (directluminance / 1))); + indirectLighting = min(indirectLighting, indirectLighting / max(0.0001, (indirectluminance / 1))); + } + + directLighting = lerp(directLighting, dot(directLighting, float3(0.299, 0.587, 0.114)), float(0)); + indirectLighting = lerp(indirectLighting, dot(indirectLighting, float3(0.299, 0.587, 0.114)), float(0)); + + if(max(max(indirectLighting.x, indirectLighting.y), indirectLighting.z) <= _LightingNoIndirectThreshold && max(max(directLighting.x, directLighting.y), directLighting.z) >= 0) + { + indirectLighting = directLighting * _LightingNoIndirectMultiplier; + } + + + if(float(0)) + { + float directluminance = clamp(directLighting.r * 0.299 + directLighting.g * 0.587 + directLighting.b * 0.114, 0, 1); + if(directluminance > 0) + { + indirectLighting = max(0.001, indirectLighting); + } + float indirectluminance = clamp(indirectLighting.r * 0.299 + indirectLighting.g * 0.587 + indirectLighting.b * 0.114, 0, 1); + float targetluminance = directluminance * float(0); + if(indirectluminance < targetluminance) + { + indirectLighting = indirectLighting / max(0.0001, indirectluminance / targetluminance); + } + } + + /* + * Create Shade Maps + */ + + if (float(0)) + { + switch(float(0)) + { + case 0: // Ramp Texture + { + poiLight.rampedLightMap = lerp(1, UNITY_SAMPLE_TEX2D(_ToonRamp, poiLight.lightMap + float(0)), shadowStrength.r); + + if (float(0)) + { + poiLight.finalLighting = lerp(poiLight.rampedLightMap * directLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + else + { + poiLight.finalLighting = lerp(indirectLighting * lerp(1, AOMap, AOStrength), directLighting, poiLight.rampedLightMap); + } + } + break; + case 1: // Math Gradient + { + poiLight.rampedLightMap = saturate(1 - smoothstep(float(0) - .000001, float(0.5), 1 - poiLight.lightMap)); + float3 shadowColor = float4(1,1,1,1); + + if (float(0)) + { + shadowColor = 1; + } + + if(float(0)) + { + poiLight.finalLighting = lerp((directLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + else + { + poiLight.finalLighting = lerp((indirectLighting * shadowColor * lerp(1, AOMap, AOStrength)), (directLighting), saturate(poiLight.rampedLightMap + 1 - float(1))); + } + } + break; + } + } + else + { + poiLight.rampedLightMap = 1 - smoothstep(0, .5, 1 - poiLight.lightMap); + poiLight.finalLighting = directLighting; + } + + if(!float(0)) + { + poiLight.finalLighting = saturate(poiLight.finalLighting); + } + //poiLight.finalLighting *= .8; + #endif + } + + void applyShadowTexture(inout float4 albedo) + { + + if (float(0) && float(0) == 1) + { + albedo.rgb = lerp(albedo.rgb, POI2D_SAMPLER_PAN(_LightingShadowTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1), (1 - poiLight.rampedLightMap) * shadowStrength); + } + } + + float3 calculateNonImportantLighting(float attenuation, float attenuationDotNL, float3 albedo, float3 lightColor, half dotNL) + { + fixed detailShadow = 1; + + if(float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + return lightColor * attenuationDotNL * detailShadow; + } + else + { + return lerp(lightColor * attenuation, lightColor * float(0.5) * attenuation, smoothstep(float(0), float(0.5), dotNL)) * detailShadow; + } + } + + + float3 calculateFinalLighting(inout float3 albedo, float4 finalColor) + { + float3 finalLighting = 1; + // Additive Lighting + #ifdef FORWARD_ADD_PASS + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + if(float(1) == 0) + { + finalLighting = poiLight.color * poiLight.attenuation * max(0, poiLight.nDotL) * detailShadow; + } + else + { + #if defined(POINT) || defined(SPOT) + finalLighting = lerp(poiLight.color * max(poiLight.additiveShadow, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * poiLight.attenuation * detailShadow; + #else + finalLighting = lerp(poiLight.color * max(poiLight.attenuation, float(0.5)), poiLight.color * float(0.5), smoothstep(float(0), float(0.5), 1 - (.5 * poiLight.nDotL + .5))) * detailShadow; + #endif + } + #endif + + // Base and Meta Lighting + #if defined(FORWARD_BASE_PASS) || defined(POI_META_PASS) + #ifdef VERTEXLIGHT_ON + poiLight.vFinalLighting = 0; + + for (int index = 0; index < 4; index ++) + { + poiLight.vFinalLighting += calculateNonImportantLighting(poiLight.vAttenuation[index], poiLight.vAttenuationDotNL[index], albedo, poiLight.vColor[index], poiLight.vCorrectedDotNL[index]); + } + #endif + + switch(float(0)) + { + case 0: // Toon Lighting + { + // HSL Shading + + if (float(0)) + { + float3 HSLMod = float3(float(0.5) * 2 - 1, float(0.5) * 2 - 1, float(0.5) * 2 - 1) * (1 - poiLight.rampedLightMap); + albedo = lerp(albedo.rgb, ModifyViaHSL(albedo.rgb, HSLMod), float(1)); + } + + // Normal Shading + + if (float(0) > 0) + { + poiLight.finalLighting = max(0.001, poiLight.finalLighting); + float finalluminance = calculateluminance(poiLight.finalLighting); + finalLighting = max(poiLight.finalLighting, poiLight.finalLighting / max(0.0001, (finalluminance / float(0)))); + } + else + { + finalLighting = poiLight.finalLighting; + } + } + break; + case 1: // realistic + { + fixed detailShadow = 1; + + if (float(0)) + { + detailShadow = lerp(1, POI2D_SAMPLER_PAN(_LightingDetailShadows, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(1)).r; + } + + float3 realisticLighting = calculateRealisticLighting(finalColor, detailShadow).rgb; + finalLighting = lerp(realisticLighting, dot(realisticLighting, float3(0.299, 0.587, 0.114)), float(0)); + } + break; + } + #endif + return finalLighting; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta new file mode 100644 index 00000000..c18aa032 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 664059c1f9507f144859b2ec17459cb2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc new file mode 100644 index 00000000..c23736df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc @@ -0,0 +1,243 @@ +#ifndef POI_MSDF + #define POI_MSDF + + sampler2D _TextGlyphs; + float4 _TextGlyphs_ST; + float4 _TextGlyphs_TexelSize; + float _TextFPSUV; + float _TextTimeUV; + float _TextPositionUV; + float _TextPixelRange; + + float _TextFPSEnabled; + float _TextPositionEnabled; + float _TextTimeEnabled; + + + float4 _TextFPSColor; + half _TextFPSEmissionStrength; + fixed4 _TextFPSPadding; + half2 _TextFPSOffset; + half2 _TextFPSScale; + half _TextFPSRotation; + + fixed _TextPositionVertical; + float4 _TextPositionColor; + half _TextPositionEmissionStrength; + fixed4 _TextPositionPadding; + half2 _TextPositionOffset; + half2 _TextPositionScale; + half _TextPositionRotation; + + float4 _TextTimeColor; + half _TextTimeEmissionStrength; + fixed4 _TextTimePadding; + half2 _TextTimeOffset; + half2 _TextTimeScale; + half _TextTimeRotation; + + #define glyphWidth 0.0625 + + #define ASCII_LEFT_PARENTHESIS 40 + #define ASCII_RIGHT_PARENTHESIS 41 + #define ASCII_POSITIVE 43 + #define ASCII_PERIOD 46 + #define ASCII_NEGATIVE 45 + #define ASCII_COMMA 44 + #define ASCII_E 69 + #define ASCII_F 70 + #define ASCII_I 73 + #define ASCII_M 77 + #define ASCII_O 79 + #define ASCII_P 80 + #define ASCII_S 83 + #define ASCII_T 54 + #define ASCII_SEMICOLON 58 + + float3 globalTextEmission; + + half2 getAsciiCoordinate(float index) + { + return half2((index - 1) / 16, 1 - ((floor(index / 16 - glyphWidth)) / 16)); + } + + float median(float r, float g, float b) + { + return max(min(r, g), min(max(r, g), b)); + } + + void ApplyPositionText(inout float4 albedo, float2 uv) + { + float3 cameraPos = clamp(getCameraPosition(), -999, 999); + float3 absCameraPos = abs(cameraPos); + float totalCharacters = 20; + float positionArray[20]; + positionArray[0] = cameraPos.x >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[1] = floor((absCameraPos.x * .01) % 10) + 48; + positionArray[2] = floor((absCameraPos.x * .1) % 10) + 48; + positionArray[3] = floor(absCameraPos.x % 10) + 48; + positionArray[4] = ASCII_PERIOD; + positionArray[5] = floor((absCameraPos.x * 10) % 10) + 48; + positionArray[6] = ASCII_COMMA; + positionArray[7] = cameraPos.y >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[8] = floor((absCameraPos.y * .01) % 10) + 48; + positionArray[9] = floor((absCameraPos.y * .1) % 10) + 48; + positionArray[10] = floor(absCameraPos.y % 10) + 48; + positionArray[11] = ASCII_PERIOD; + positionArray[12] = floor((absCameraPos.y * 10) % 10) + 48; + positionArray[13] = ASCII_COMMA; + positionArray[14] = cameraPos.z >= 0 ? ASCII_NEGATIVE: ASCII_POSITIVE; + positionArray[15] = floor((absCameraPos.z * .01) % 10) + 48; + positionArray[16] = floor((absCameraPos.z * .1) % 10) + 48; + positionArray[17] = floor(absCameraPos.z % 10) + 48; + positionArray[18] = ASCII_PERIOD; + positionArray[19] = floor((absCameraPos.z * 10) % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if (uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(positionArray[currentCharacter]); + + float2 startUV = float2(1 / totalCharacters * currentCharacter, 0); + float2 endUV = float2(1 / totalCharacters * (currentCharacter + 1), 1); + + fixed4 textPositionPadding = float4(0,0,0,0); + textPositionPadding *= 1 / totalCharacters; + uv = remapClamped(uv, startUV, endUV, float2(glyphPos.x + textPositionPadding.x, glyphPos.y - glyphWidth + textPositionPadding.y), float2(glyphPos.x + glyphWidth - textPositionPadding.z, glyphPos.y - textPositionPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textPositionPadding.z - .001 || uv.x < glyphPos.x + textPositionPadding.x + .001 || uv.y > glyphPos.y - textPositionPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textPositionPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyTimeText(inout float4 albedo, float2 uv) + { + float instanceTime = _Time.y; + float hours = instanceTime / 3600; + float minutes = (instanceTime / 60) % 60; + float seconds = instanceTime % 60; + float totalCharacters = 8; + float timeArray[8]; + timeArray[0] = floor((hours * .1) % 10) + 48; + timeArray[1] = floor(hours % 10) + 48; + timeArray[2] = ASCII_SEMICOLON; + timeArray[3] = floor((minutes * .1) % 10) + 48; + timeArray[4] = floor(minutes % 10) + 48; + timeArray[5] = ASCII_SEMICOLON; + timeArray[6] = floor((seconds * .1) % 10) + 48; + timeArray[7] = floor(seconds % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(timeArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + fixed4 textTimePadding = float4(0,0,0,0); + textTimePadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textTimePadding.x, glyphPos.y - glyphWidth + textTimePadding.y), float2(glyphPos.x + glyphWidth - textTimePadding.z, glyphPos.y - textTimePadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textTimePadding.z - .001 || uv.x < glyphPos.x + textTimePadding.x + .001 || uv.y > glyphPos.y - textTimePadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textTimePadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,0,1,1).rgb, opacity * float4(1,0,1,1).a); + globalTextEmission += float4(1,0,1,1).rgb * opacity * float(0); + } + + void ApplyFPSText(inout float4 albedo, float2 uv) + { + float smoothDeltaTime = clamp(unity_DeltaTime.w, 0, 999); + float totalCharacters = 7; + float fpsArray[7]; + fpsArray[0] = ASCII_F; + fpsArray[1] = ASCII_P; + fpsArray[2] = ASCII_S; + fpsArray[3] = ASCII_SEMICOLON; + fpsArray[4] = floor((smoothDeltaTime * .01) % 10) + 48; + fpsArray[5] = floor((smoothDeltaTime * .1) % 10) + 48; + fpsArray[6] = floor(smoothDeltaTime % 10) + 48; + + uv = TransformUV(float4(0,0,0,0), float(0), float4(1,1,1,1), uv); + + if(uv.x > 1 || uv.x < 0 || uv.y > 1 || uv.y < 0) + { + return; + } + + float currentCharacter = floor(uv.x * totalCharacters); + half2 glyphPos = getAsciiCoordinate(fpsArray[currentCharacter]); + // 0.1428571 = 1/7 = 1 / totalCharacters + float startUV = 1 / totalCharacters * currentCharacter; + float endUV = 1 / totalCharacters * (currentCharacter + 1); + + fixed4 textFPSPadding = float4(0,0,0,0); + textFPSPadding *= 1 / totalCharacters; + uv = remapClamped(uv, float2(startUV, 0), float2(endUV, 1), float2(glyphPos.x + textFPSPadding.x, glyphPos.y - glyphWidth + textFPSPadding.y), float2(glyphPos.x + glyphWidth - textFPSPadding.z, glyphPos.y - textFPSPadding.w)); + + if (uv.x > glyphPos.x + glyphWidth - textFPSPadding.z - .001 || uv.x < glyphPos.x + textFPSPadding.x + .001 || uv.y > glyphPos.y - textFPSPadding.w - .001 || uv.y < glyphPos.y - glyphWidth + textFPSPadding.y + .001) + { + return; + } + + float3 samp = tex2D(_TextGlyphs, TRANSFORM_TEX(uv, _TextGlyphs)).rgb; + float2 msdfUnit = float(4) / float4(1,1,1,1).zw; + float sigDist = median(samp.r, samp.g, samp.b) - 0.5; + sigDist *= max(dot(msdfUnit, 0.5 / fwidth(uv)), 1); + float opacity = clamp(sigDist + 0.5, 0, 1); + albedo.rgb = lerp(albedo.rgb, float4(1,1,1,1).rgb, opacity * float4(1,1,1,1).a); + globalTextEmission += float4(1,1,1,1).rgb * opacity * float(0); + } + + void ApplyTextOverlayColor(inout float4 albedo, inout float3 textOverlayEmission) + { + globalTextEmission = 0; + half positionalOpacity = 0; + #ifdef EFFECT_BUMP + + if(float(0)) + { + ApplyFPSText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyPositionText(albedo, poiMesh.uv[float(0)]); + } + + if(float(0)) + { + ApplyTimeText(albedo, poiMesh.uv[float(0)]); + } + + textOverlayEmission = globalTextEmission; + #endif + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta new file mode 100644 index 00000000..5f28d72a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMSDF.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 3a9db7249e2d86749a828274b178c166 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc new file mode 100644 index 00000000..ecac0805 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc @@ -0,0 +1,33 @@ +#ifndef POI_MACROS + #define POI_MACROS + + #define POI_TEXTURE_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_TEXTURE(tex) UNITY_DECLARE_TEX2D(tex##); float4 tex##_ST; float2 tex##Pan; uint tex##UV + #define POI_NORMAL_NOSAMPLER(tex) Texture2D tex; float4 tex##_ST; float2 tex##Pan; uint tex##UV; float tex##Scale + + #define POI2D_SAMPLER_PAN(tex, texSampler, uv, pan) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D_SAMPLER(tex, texSampler, uv) (UNITY_SAMPLE_TEX2D_SAMPLER(tex, texSampler, TRANSFORM_TEX(uv, tex))) + #define POI2D_PAN(tex, uv, pan) (tex2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + #define POI2D(tex, uv) (tex2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D(tex, uv) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex))) + #define POI_SAMPLE_TEX2D_PAN(tex, uv, pan) (UNITY_SAMPLE_TEX2D(tex, TRANSFORM_TEX(uv, tex) + _Time.x * pan)) + + #ifdef POINT + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + unityShadowCoord3 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)).xyz; \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = tex2D(_LightTexture0, dot(lightCoord, lightCoord).rr).r; + #endif + + #ifdef SPOT + #if !defined(UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS) + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = mul(unity_WorldToLight, unityShadowCoord4(worldPos, 1)) + #else + #define DECLARE_LIGHT_COORD(input, worldPos) unityShadowCoord4 lightCoord = input._LightCoord + #endif + # define POI_LIGHT_ATTENUATION(destName, shadow, input, worldPos) \ + DECLARE_LIGHT_COORD(input, worldPos); \ + fixed shadow = UNITY_SHADOW_ATTENUATION(input, worldPos); \ + fixed destName = (lightCoord.z > 0) * UnitySpotCookie(lightCoord) * UnitySpotAttenuate(lightCoord.xyz); + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta new file mode 100644 index 00000000..7184f6fa --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMacros.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 93ade584f1523704ea648d6995570e0b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc new file mode 100644 index 00000000..270384af --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc @@ -0,0 +1,147 @@ +#ifndef POI_MAINTEXTURE + #define POI_MAINTEXTURE + + + + POI_TEXTURE_NOSAMPLER(_AlphaMask); + POI_TEXTURE_NOSAMPLER(_MainFadeTexture); + float4 _Color; + float _MainVertexColoring; + float _MainUseVertexColorAlpha; + float _Saturation; + float2 _MainDistanceFade; + half _MainMinAlpha; + float _MainHueShift; + #ifdef COLOR_GRADING_HDR + POI_TEXTURE_NOSAMPLER(_MainHueShiftMask); + float _MainHueShiftToggle; + float _MainHueShiftSpeed; + float _MainHueShiftReplace; + #endif + + #ifdef FINALPASS + POI_TEXTURE_NOSAMPLER(_DetailTex); + half _DetailTexIntensity; + half3 _DetailTint; + float _DetailBrightness; + #endif + //globals + float alphaMask; + half3 diffColor; + + #include "CGI_PoiBackFace.cginc" + + float3 wireframeEmission; + + inline FragmentCommonData SpecularSetup(float4 i_tex, inout float4 albedo) + { + half4 specGloss = 0; + half3 specColor = specGloss.rgb; + half smoothness = specGloss.a; + + half oneMinusReflectivity; + diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specColor, /*out*/ oneMinusReflectivity); + + FragmentCommonData o = (FragmentCommonData)0; + o.diffColor = diffColor; + o.specColor = specColor; + o.oneMinusReflectivity = oneMinusReflectivity; + o.smoothness = smoothness; + return o; + } + + inline FragmentCommonData FragmentSetup(float4 i_tex, half3 i_viewDirForParallax, float3 i_posWorld, inout float4 albedo) + { + i_tex = i_tex; + + FragmentCommonData o = SpecularSetup(i_tex, albedo); + o.normalWorld = float4(0, 0, 0, 1); + o.eyeVec = poiCam.viewDir; + o.posWorld = i_posWorld; + + // NOTE: shader relies on pre-multiply alpha-blend (float(1) = One, float(0) = OneMinusSrcAlpha) + o.diffColor = PreMultiplyAlpha(o.diffColor, 1, o.oneMinusReflectivity, /*out*/ o.alpha); + return o; + } + + void initTextureData(inout float4 albedo, inout float4 mainTexture, inout float3 backFaceEmission, inout float3 dissolveEmission, in half3 detailMask) + { + dissolveEmission = 0; + + #if (defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + #endif + + alphaMask = POI2D_SAMPLER_PAN(_AlphaMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + mainTexture.a *= alphaMask; + + #ifndef POI_SHADOW + albedo = float4(lerp(mainTexture.rgb, dot(mainTexture.rgb, float3(0.3, 0.59, 0.11)), -float(0)) * max(float4(1,1,1,1).rgb, float3(0.000000001, 0.000000001, 0.000000001)) * lerp(1, GammaToLinearSpace(poiMesh.vertexColor.rgb), float(0)), mainTexture.a * max(float4(1,1,1,1).a, 0.0000001)); + + #ifdef POI_LIGHTING + applyShadowTexture(albedo); + #endif + + albedo *= lerp(1, poiMesh.vertexColor.a, float(0)); + #ifdef POI_RGBMASK + albedo.rgb = calculateRGBMask(albedo.rgb); + #endif + + albedo.a = saturate(float(0) + albedo.a); + + wireframeEmission = 0; + #ifdef POI_WIREFRAME + applyWireframe(wireframeEmission, albedo); + #endif + float backFaceDetailIntensity = 1; + + float mixedHueShift = float(0); + applyBackFaceTexture(backFaceDetailIntensity, mixedHueShift, albedo, backFaceEmission); + + #ifdef POI_FUR + calculateFur(); + #endif + + #ifdef COLOR_GRADING_HDR + float hueShiftAlpha = POI2D_SAMPLER_PAN(_MainHueShiftMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + + if(float(1)) + { + albedo.rgb = lerp(albedo.rgb, hueShift(albedo.rgb, mixedHueShift + float(0) * _Time.x), hueShiftAlpha); + } + else + { + albedo.rgb = hueShift(albedo.rgb, frac((mixedHueShift - (1 - hueShiftAlpha) + float(0) * _Time.x))); + } + #endif + #ifdef FINALPASS + half3 detailTexture = POI2D_SAMPLER_PAN(_DetailTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb * float4(1,1,1,1).rgb; + albedo.rgb *= LerpWhiteTo(detailTexture * float(1) * unity_ColorSpaceDouble.rgb, detailMask.r * float(1) * backFaceDetailIntensity); + #endif + albedo.rgb = saturate(albedo.rgb); + + #ifdef POI_HOLOGRAM + ApplyHoloAlpha(albedo); + #endif + + s = FragmentSetup(float4(poiMesh.uv[0], 1, 1), poiCam.viewDir, poiMesh.worldPos, albedo); + #endif + + #ifdef DISTORT + calculateDissolve(albedo, dissolveEmission); + #endif + } + + void distanceFade(inout float4 albedo) + { + half fadeMap = POI2D_SAMPLER_PAN(_MainFadeTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(fadeMap) + { + half fadeValue = max(smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, poiCam.distanceToVert), float(0)); + albedo.a *= fadeValue; + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta new file mode 100644 index 00000000..d7401db4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMainTex.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8313ac210cc28db43968188da5f305c3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc new file mode 100644 index 00000000..3aa6d6b0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc @@ -0,0 +1,115 @@ +#ifndef MATCAP + #define MATCAP + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap); float4 _Matcap_ST; + POI_TEXTURE_NOSAMPLER(_MatcapMask); + float _MatcapMaskInvert; + float _MatcapBorder; + float4 _MatcapColor; + float _MatcapIntensity; + float _MatcapReplace; + float _MatcapMultiply; + float _MatcapAdd; + float _MatcapEnable; + float _MatcapLightMask; + float _MatcapEmissionStrength; + float _MatcapNormal; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_Matcap2);float4 _Matcap2_ST; + POI_TEXTURE_NOSAMPLER(_Matcap2Mask); + float _Matcap2MaskInvert; + float _Matcap2Border; + float4 _Matcap2Color; + float _Matcap2Intensity; + float _Matcap2Replace; + float _Matcap2Multiply; + float _Matcap2Add; + float _Matcap2Enable; + float _Matcap2LightMask; + float _Matcap2EmissionStrength; + float _Matcap2Normal; + + void blendMatcap(inout float4 finalColor, float add, float multiply, float replace, float4 matcapColor, float matcapMask, inout float3 matcapEmission, float emissionStrength + #ifdef POI_LIGHTING + , float matcapLightMask + #endif + #ifdef POI_BLACKLIGHT + , uint blackLightMaskIndex + #endif + ) + { + #ifdef POI_LIGHTING + if (matcapLightMask) + { + matcapMask *= lerp(1, poiLight.rampedLightMap, matcapLightMask); + } + #endif + #ifdef POI_BLACKLIGHT + if(blackLightMaskIndex != 4) + { + matcapMask *= blackLightMask[blackLightMaskIndex]; + } + #endif + + finalColor.rgb = lerp(finalColor.rgb, matcapColor.rgb, replace * matcapMask * matcapColor.a); + finalColor.rgb *= lerp(1, matcapColor.rgb, multiply * matcapMask * matcapColor.a); + finalColor.rgb += matcapColor.rgb * add * matcapMask * matcapColor.a; + matcapEmission += matcapColor.rgb * emissionStrength * matcapMask * matcapColor.a; + } + + void applyMatcap(inout float4 finalColor, inout float3 matcapEmission) + { + float4 matcap = 0; + float matcapMask = 0; + float4 matcap2 = 0; + float matcap2Mask = 0; + + // Both matcaps use the same coordinates + half3 worldViewUp = normalize(half3(0, 1, 0) - poiCam.viewDir * dot(poiCam.viewDir, half3(0, 1, 0))); + half3 worldViewRight = normalize(cross(poiCam.viewDir, worldViewUp)); + + // Matcap 1 + half2 matcapUV = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + + matcap = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap, _MainTex, TRANSFORM_TEX(matcapUV, _Matcap)) * float4(1,1,1,1); + matcap.rgb *= float(1); + matcapMask = POI2D_SAMPLER_PAN(_MatcapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + if (float(0)) + { + matcapMask = 1 - matcapMask; + } + + blendMatcap(finalColor, float(0), float(0), float(1), matcap, matcapMask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap + #endif + ); + + // Matcap 2 + + if (float(0)) + { + half2 matcapUV2 = half2(dot(worldViewRight, poiMesh.normals[float(1)]), dot(worldViewUp, poiMesh.normals[float(1)])) * float(0.43) + 0.5; + matcap2 = UNITY_SAMPLE_TEX2D_SAMPLER(_Matcap2, _MainTex, TRANSFORM_TEX(matcapUV2, _Matcap2)) * float4(1,1,1,1); + matcap2.rgb *= float(1); + matcap2Mask = POI2D_SAMPLER_PAN(_Matcap2Mask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + if(float(0)) + { + matcap2Mask = 1 - matcap2Mask; + } + blendMatcap(finalColor, float(0), float(0), float(0), matcap2, matcap2Mask, matcapEmission, float(0) + #ifdef POI_LIGHTING + , float(0) + #endif + #ifdef POI_BLACKLIGHT + , _BlackLightMaskMatcap2 + #endif + ); + } + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta new file mode 100644 index 00000000..aeecf584 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMatcap.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4afec09e4b1c85341b805a7f5cacdd7b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc new file mode 100644 index 00000000..b2d07a38 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc @@ -0,0 +1,104 @@ +/* +MIT License + +Copyright (c) 2019 wraikny + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +VertexTransformShader is dependent on: +*/ + +#ifndef POI_MATH + #define POI_MATH + + #ifndef pi + #define pi float(3.14159265359) + #endif + + float4 quaternion_conjugate(float4 v) + { + return float4( + v.x, -v.yzw + ); + } + + float4 quaternion_mul(float4 v1, float4 v2) + { + float4 result1 = (v1.x * v2 + v1 * v2.x); + + float4 result2 = float4( + - dot(v1.yzw, v2.yzw), + cross(v1.yzw, v2.yzw) + ); + + return float4(result1 + result2); + } + + // angle : radians + float4 get_quaternion_from_angle(float3 axis, float angle) + { + return float4( + cos(angle / 2.0), + normalize(axis) * sin(angle / 2.0) + ); + } + + float4 quaternion_from_vector(float3 inVec) + { + return float4(0.0, inVec); + } + + float degree_to_radius(float degree) + { + return( + degree / 180.0 * pi + ); + } + + float3 rotate_with_quaternion(float3 inVec, float3 rotation) + { + float4 qx = get_quaternion_from_angle(float3(1, 0, 0), degree_to_radius(rotation.x)); + float4 qy = get_quaternion_from_angle(float3(0, 1, 0), degree_to_radius(rotation.y)); + float4 qz = get_quaternion_from_angle(float3(0, 0, 1), degree_to_radius(rotation.z)); + + #define MUL3(A, B, C) quaternion_mul(quaternion_mul((A), (B)), (C)) + float4 quaternion = normalize(MUL3(qx, qy, qz)); + float4 conjugate = quaternion_conjugate(quaternion); + + float4 inVecQ = quaternion_from_vector(inVec); + + float3 rotated = ( + MUL3(quaternion, inVecQ, conjugate) + ).yzw; + + return rotated; + } + + float4 transform(float4 input, float4 pos, float4 rotation, float4 scale) + { + input.rgb *= (scale.xyz * scale.w); + input = float4( + rotate_with_quaternion(input.xyz, rotation.xyz * rotation.w) + + (pos.xyz * pos.w), + input.w + ); + return input; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta new file mode 100644 index 00000000..efad2a25 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMath.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f7281a17e41c6cb4aad99b940f73bec3 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc new file mode 100644 index 00000000..916f65eb --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc @@ -0,0 +1,130 @@ +#ifndef POI_METAL + #define POI_METAL + + samplerCUBE _CubeMap; + float _SampleWorld; + POI_TEXTURE_NOSAMPLER(_MetallicMask); + POI_TEXTURE_NOSAMPLER(_SmoothnessMask); + float _Metallic; + float _InvertSmoothness; + float _Smoothness; + float _EnableMetallic; + float3 _MetalReflectionTint; + POI_TEXTURE_NOSAMPLER(_MetallicTintMap); + + float3 finalreflections; + float metalicMap; + float3 reflection; + float roughness; + float lighty_boy_uwu_var; + + bool shouldMetalHappenBeforeLighting() + { + float4 envSample = UNITY_SAMPLE_TEXCUBE_LOD(unity_SpecCube0, poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS); + bool probeExists = !(unity_SpecCube0_HDR.a == 0 && envSample.a == 0); + return probeExists && !float(0); + } + + float3 fresnelRelflection(in float4 albedo) + { + half3 dotNV = 1 - abs(poiLight.nDotV); + half f = dotNV * dotNV * dotNV * dotNV; + //f *= i_sold.fresnel; + return lerp(lerp(DielectricSpec.rgb, albedo.rgb, metalicMap), saturate(1 - roughness + metalicMap), f); + } + + void calculateMetallicness() + { + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + } + + void ApplyMetallics(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + + Unity_GlossyEnvironmentData envData; + envData.roughness = roughness; + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube0_ProbePosition, + unity_SpecCube0_BoxMin, unity_SpecCube0_BoxMax + ); + float3 probe0 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE(unity_SpecCube0), unity_SpecCube0_HDR, envData + ); + envData.reflUVW = BoxProjection( + poiCam.reflectionDir, poiMesh.worldPos.xyz, + unity_SpecCube1_ProbePosition, + unity_SpecCube1_BoxMin, unity_SpecCube1_BoxMax + ); + + float interpolator = unity_SpecCube0_BoxMin.w; + + if(interpolator < 0.99999) + { + float3 probe1 = Unity_GlossyEnvironment( + UNITY_PASS_TEXCUBE_SAMPLER(unity_SpecCube1, unity_SpecCube0), + unity_SpecCube0_HDR, envData + ); + reflection = lerp(probe1, probe0, interpolator); + } + else + { + reflection = probe0; + } + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } + + void ApplyMetallicsFake(inout float4 finalColor, in float4 albedo) + { + #ifdef FORWARD_BASE_PASS + metalicMap = POI2D_SAMPLER_PAN(_MetallicMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float(0); + float smoothnessMap = (POI2D_SAMPLER_PAN(_SmoothnessMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0))); + + #ifdef POI_BLACKLIGHT + if(_BlackLightMaskMetallic != 4) + { + metalicMap *= blackLightMask[_BlackLightMaskMetallic]; + smoothnessMap *= blackLightMask[_BlackLightMaskMetallic]; + } + #endif + + if(float(0) == 1) + { + smoothnessMap = 1 - smoothnessMap; + } + smoothnessMap *= float(0); + roughness = 1 - smoothnessMap; + + reflection = texCUBElod(_CubeMap, float4(poiCam.reflectionDir, roughness * UNITY_SPECCUBE_LOD_STEPS)); + + float reflecty_lighty_boy_uwu_var_2 = 1.0 / (roughness * roughness + 1.0); + half4 tintMap = POI2D_SAMPLER_PAN(_MetallicTintMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + finalColor.rgb *= (1 - metalicMap * tintMap.a); + finalColor.rgb += reflecty_lighty_boy_uwu_var_2 * reflection.rgb * fresnelRelflection(albedo) * float4(1,1,1,1) * tintMap.rgb * tintMap.a; + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta new file mode 100644 index 00000000..766270fe --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMetal.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5c7570fa6d343394ca05e78172902840 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc new file mode 100644 index 00000000..8bb16398 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc @@ -0,0 +1,77 @@ +#ifndef POI_MIRROR + #define POI_MIRROR + + float _Mirror; + float _EnableMirrorTexture; + POI_TEXTURE_NOSAMPLER(_MirrorTexture); + + + void applyMirrorRenderVert(inout float4 vertex) + { + + if (float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && inMirror) + { + vertex = -1; + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + void applyMirrorRenderFrag() + { + + if(float(0) != 0) + { + bool inMirror = IsInMirror(); + if(float(0) == 1 && inMirror) + { + return; + } + if(float(0) == 1 && !inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && inMirror) + { + clip(-1); + return; + } + if(float(0) == 2 && !inMirror) + { + return; + } + } + } + + #if(defined(FORWARD_BASE_PASS) || defined(FORWARD_ADD_PASS)) + void applyMirrorTexture(inout float4 mainTexture) + { + + if(float(0)) + { + if(IsInMirror()) + { + mainTexture = POI2D_SAMPLER_PAN(_MirrorTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + } + } + } + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta new file mode 100644 index 00000000..dd0ab0df --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiMirror.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: b7d30c49fcdb1f141a08df8e5e4d359d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc new file mode 100644 index 00000000..62e63c91 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc @@ -0,0 +1,107 @@ +float _OutlineRimLightBlend; +float _OutlineLit; +float _OutlineTintMix; +float2 _MainTexPan; +float _MainTextureUV; + +float4 frag(v2f i, uint facing: SV_IsFrontFace): COLOR +{ + float4 finalColor = 1; + + if (float(0)) + { + UNITY_SETUP_INSTANCE_ID(i); + + float3 finalEmission = 0; + float4 albedo = 1; + + poiMesh.uv[0] = i.uv0.xy; + poiMesh.uv[1] = i.uv0.zw; + poiMesh.uv[2] = i.uv1.xy; + poiMesh.uv[3] = i.uv1.zw; + + calculateAttenuation(i); + InitializeMeshData(i, facing); + initializeCamera(i); + calculateTangentData(); + + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + half3 detailMask = 1; + calculateNormals(detailMask); + + #ifdef POI_DATA + calculateLightingData(i); + #endif + #ifdef POI_LIGHTING + calculateBasePassLightMaps(); + #endif + + float3 uselessData0; + float3 uselessData1; + initTextureData(albedo, mainTexture, uselessData0, uselessData1, detailMask); + + + fixed4 col = mainTexture; + float alphaMultiplier = smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(getCameraPosition(), i.worldPos)); + float OutlineMask = tex2D(_OutlineMask, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0)).r; + clip(OutlineMask * float(0) - 0.001); + + col = col * 0.00000000001 + tex2D(_OutlineTexture, TRANSFORM_TEX(poiMesh.uv[float(0)], _OutlineTexture) + _Time.x * float4(0,0,0,0) ); + col.a *= albedo.a; + col.a *= alphaMultiplier; + + #ifdef POI_RANDOM + col.a *= i.angleAlpha; + #endif + + poiCam.screenUV = calcScreenUVs(i.grabPos); + col.a *= float4(1,1,1,1).a; + + + if(float(0) == 1) + { + applyDithering(col); + } + + clip(col.a - float(0.5)); + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + + if(float(0) == 1) + { + #ifdef POI_MIRROR + applyMirrorTexture(mainTexture); + #endif + col.rgb = mainTexture.rgb; + } + else if(float(0) == 2) + { + col.rgb = lerp(col.rgb, poiLight.color, float(0)); + } + col.rgb *= float4(1,1,1,1).rgb; + + if(float(0) == 1) + { + col.rgb = lerp(col.rgb, mainTexture.rgb, float(0)); + } + + finalColor = col; + + #ifdef POI_LIGHTING + + if(float(1)) + { + finalColor.rgb *= calculateFinalLighting(finalColor.rgb, finalColor); + } + #endif + finalColor.rgb += (col.rgb * float(0)); + } + else + { + clip(-1); + } + return finalColor; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta new file mode 100644 index 00000000..3a749f9b --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: d2940d35dfe6fe1418867d713410612e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc new file mode 100644 index 00000000..900e9e43 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc @@ -0,0 +1,105 @@ +#ifndef OutlineVert + #define OutlineVert + + #include "CGI_PoiV2F.cginc" + + float _OutlineMode; + float4 _OutlinePersonaDirection; + float4 _OutlineDropShadowOffset; + float _OutlineUseVertexColors; + float _OutlineFixedSize; + float _commentIfZero_EnableOutlinePass; + + sampler2D _OutlineMask; float4 _OutlineMask_ST; float2 _OutlineMaskPan; float _OutlineMaskUV; + v2f vert(appdata v) + { + + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + + float2 uvArray[4]; + uvArray[0] = o.uv0.xy; + uvArray[1] = o.uv0.zw; + uvArray[2] = o.uv1.xy; + uvArray[3] = o.uv1.zw; + + #ifdef POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + o.uv0.xy = v.uv0 + _OutlineGlobalPan.xy * _Time.y; + float outlineMask = 1; + + outlineMask = poiMax(tex2Dlod(_OutlineMask, float4(TRANSFORM_TEX(uvArray[float(0)], _OutlineMask) + _Time.x * float4(0,0,0,0), 0, 0)).rgb); + + if (float(0) == 2) + { + outlineMask *= v.color.r; + } + + + if(float(0) != 1) + { + o.normal = UnityObjectToWorldNormal(v.normal); + } + else + { + o.normal = UnityObjectToWorldNormal(v.color); + } + + + half offsetMultiplier = 1; + half distanceOffset = 1; + + if(float(0)) + { + distanceOffset *= distance(_WorldSpaceCameraPos, mul(unity_ObjectToWorld, v.vertex).xyz); + } + + float3 offset = o.normal * (float(0) * float(0) / 100) * outlineMask * distanceOffset; + + + if(float(0) == 2) + { + float3 lightDirection = poiLight.direction = normalize(_WorldSpaceLightPos0 + unity_SHAr.xyz + unity_SHAg.xyz + unity_SHAb.xyz); + offsetMultiplier = saturate(dot(lightDirection, o.normal)); + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 3) + { + half3 viewNormal = mul((float3x3)UNITY_MATRIX_V, o.normal); + offsetMultiplier = saturate(dot(viewNormal.xy, normalize(float4(1,0,0,0).xy))); + + offset *= offsetMultiplier; + offset *= distanceOffset; + } + else if(float(0) == 4) + { + offset = mul((float3x3)transpose(UNITY_MATRIX_V), float4(1,0,0,0)); + offset *= distanceOffset; + } + + o.worldPos = mul(unity_ObjectToWorld, v.vertex) + float4(offset, 0); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.pos = UnityWorldToClipPos(o.worldPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0); + UNITY_TRANSFER_FOG(o, o.pos); + return o; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta new file mode 100644 index 00000000..6fd3d45a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiOutlineVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: f42e2609ac396ac40beae91ba83e630b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc new file mode 100644 index 00000000..da64a89d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc @@ -0,0 +1,63 @@ +#ifndef PANOSPHERE + #define PANOSPHERE + + sampler2D _PanosphereTexture; float4 _PanosphereTexture_ST; + POI_TEXTURE_NOSAMPLER(_PanoMask); + float _PanoEmission; + float _PanoBlend; + float4 _PanosphereColor; + float3 _PanospherePan; + float _PanoToggle; + float _PanoCubeMapToggle; + float _PanoInfiniteStereoToggle; + samplerCUBE _PanoCubeMap; half4 _PanoCubeMap_HDR; + + float3 panoColor; + float panoMask; + + float2 projectIt(float3 coords) + { + float3 normalizedCoords = normalize(coords); + float latitude = acos(normalizedCoords.y); + float longitude = atan2(normalizedCoords.z, normalizedCoords.x); + float2 sphereCoords = float2(longitude + _Time.y * float4(0,0,0,0).x, latitude + _Time.y * float4(0,0,0,0).y) * float2(1.0 / UNITY_PI, 1.0 / UNITY_PI); + sphereCoords = float2(1.0, 1.0) - sphereCoords; + return(sphereCoords + float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).xy) * float4(0, 1 - unity_StereoEyeIndex, 1, 1.0).zw; + } + + void applyPanosphereColor(inout float4 albedo, inout float3 panosphereEmission) + { + panoMask = POI2D_SAMPLER_PAN(_PanoMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + #ifdef POI_BLACKLIGHT + if (_BlackLightMaskPanosphere != 4) + { + panoMask *= blackLightMask[_BlackLightMaskPanosphere]; + } + #endif + + + if(float(0)) + { + float3 cubeUV = mul(poiRotationMatrixFromAngles(float4(0,0,0,0).xyz * _Time.y), float4(-poiCam.viewDir, 1)); + half4 cubemap = texCUBE(_PanoCubeMap, cubeUV); + panoColor = DecodeHDR(cubemap, _PanoCubeMap_HDR); + } + else + { + float2 uv = projectIt(normalize(lerp(getCameraPosition().xyz, poiCam.worldPos.xyz, float(0)) - poiMesh.worldPos.xyz) * - 1); + + float2 ddxuv = ddx(uv); + float2 ddyuv = ddy(uv); + if(any(fwidth(uv) > .5)) + { + ddxuv = ddyuv = 0.001; + } + panoColor = tex2D(_PanosphereTexture, TRANSFORM_TEX(uv, _PanosphereTexture), ddxuv, ddyuv).rgb * float4(1,1,1,1).rgb; + } + panosphereEmission = panoColor * float(0) * panoMask * float(0); + albedo.rgb = lerp(albedo.rgb, panoColor, float(0) * panoMask); + } + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta new file mode 100644 index 00000000..3224be6c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPanosphere.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: cb8aad0e1ba4c3045a7b1cda2b6ea05a +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc new file mode 100644 index 00000000..6cd94900 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc @@ -0,0 +1,143 @@ +#ifndef POI_PARALLAX + #define POI_PARALLAX + + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxHeightMap); float4 _ParallaxHeightMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxHeightMapMask); + float2 _ParallaxHeightMapPan; + float _ParallaxStrength; + float _ParallaxHeightMapEnabled; + float _ParallaxUV; + + //Internal + float _ParallaxInternalMapEnabled; + UNITY_DECLARE_TEX2D_NOSAMPLER(_ParallaxInternalMap); float4 _ParallaxInternalMap_ST; + POI_TEXTURE_NOSAMPLER(_ParallaxInternalMapMask); + float _ParallaxInternalIterations; + float _ParallaxInternalMinDepth; + float _ParallaxInternalMaxDepth; + float _ParallaxInternalMinFade; + float _ParallaxInternalMaxFade; + float4 _ParallaxInternalMinColor; + float4 _ParallaxInternalMaxColor; + float4 _ParallaxInternalPanSpeed; + float4 _ParallaxInternalPanDepthSpeed; + float _ParallaxInternalHeightmapMode; + float _ParallaxInternalHeightFromAlpha; + + float GetParallaxHeight(float2 uv) + { + return clamp(UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxHeightMap, _MainTex, TRANSFORM_TEX(uv, _ParallaxHeightMap) + _Time.x * float4(0,0,0,0)).g, 0, .99999); + } + /* + float2 ParallaxOffset(float2 viewDir) + { + float height = GetParallaxHeight(); + height -= 0.5; + height *= float(0); + return viewDir * height; + } + */ + float2 ParallaxRaymarching(float2 viewDir) + { + float2 uvOffset = 0; + float stepSize = 0.1; + float2 uvDelta = viewDir * (stepSize * float(0)); + + float stepHeight = 1; + float surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)]); + + + float2 prevUVOffset = uvOffset; + float prevStepHeight = stepHeight; + float prevSurfaceHeight = surfaceHeight; + + for (int i = 1; i < 10 && stepHeight > surfaceHeight; i ++) + { + prevUVOffset = uvOffset; + prevStepHeight = stepHeight; + prevSurfaceHeight = surfaceHeight; + + uvOffset -= uvDelta; + stepHeight -= stepSize; + surfaceHeight = GetParallaxHeight(poiMesh.uv[float(0)] + uvOffset); + } + + float prevDifference = prevStepHeight - prevSurfaceHeight; + float difference = surfaceHeight - stepHeight; + float t = prevDifference / (prevDifference + difference); + uvOffset = prevUVOffset -uvDelta * t; + + return uvOffset *= POI2D_SAMPLER_PAN(_ParallaxHeightMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + + void calculateandApplyParallax() + { + + if (float(0)) + { + float2 parallaxOffset = ParallaxRaymarching(poiCam.tangentViewDir.xy); + + if(float(0) == 0) + { + poiMesh.uv[0] += parallaxOffset; + } + + if(float(0) == 1) + { + poiMesh.uv[1] += parallaxOffset; + } + + if(float(0) == 2) + { + poiMesh.uv[2] += parallaxOffset; + } + + if(float(0) == 3) + { + poiMesh.uv[3] += parallaxOffset; + } + } + } + + void calculateAndApplyInternalParallax(inout float4 finalColor) + { + #if defined(_PARALLAXMAP) + + if(float(0)) + { + float3 parallax = 0; + + for (int j = float(1); j > 0; j --) + { + float ratio = (float)j / float(1); + float2 parallaxOffset = _Time.y * (float4(0,0,0,0) + (1 - ratio) * float4(0,0,0,0)); + float fade = lerp(float(0), float(1), ratio); + float4 parallaxColor = UNITY_SAMPLE_TEX2D_SAMPLER(_ParallaxInternalMap, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _ParallaxInternalMap) + lerp(float(0), float(1), ratio) * - poiCam.tangentViewDir.xy + parallaxOffset); + float3 parallaxTint = lerp(float4(1,1,1,1), float4(1,1,1,1), ratio); + float parallaxHeight; + if(float(0)) + { + parallaxTint *= parallaxColor.rgb; + parallaxHeight = parallaxColor.a; + } + else + { + parallaxHeight = parallaxColor.r; + } + //float parallaxColor *= lerp(float4(1,1,1,1), float4(1,1,1,1), 1 - ratio); + + if (float(0) == 1) + { + parallax = lerp(parallax, parallaxTint * fade, parallaxHeight >= 1 - ratio); + } + else + { + parallax += parallaxTint * parallaxHeight * fade; + } + } + //parallax /= float(1); + finalColor.rgb += parallax * POI2D_SAMPLER_PAN(_ParallaxInternalMapMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + } + #endif + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta new file mode 100644 index 00000000..3bd201b5 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiParallax.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a0e768a23b7e7e2498d0878f0a6d29da +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc new file mode 100644 index 00000000..81230e8d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc @@ -0,0 +1,233 @@ +/* +USED--------------------------------------------- +"_PARALLAXMAP", +"_REQUIRE_UV2", +"_SUNDISK_NONE", +"_DETAIL_MULX2", +"_GLOSSYREFLECTIONS_OFF", +"_METALLICGLOSSMAP", +"_COLORADDSUBDIFF_ON", +"_SPECGLOSSMAP", +"_TERRAIN_NORMAL_MAP", +"_SUNDISK_SIMPLE", +"_EMISSION", +"_COLORCOLOR_ON", +"_COLOROVERLAY_ON", +"_ALPHAMODULATE_ON", +"_SUNDISK_HIGH_QUALITY", +"_MAPPING_6_FRAMES_LAYOUT", +"_NORMALMAP" +"EFFECT_BUMP", +"BLOOM", +"BLOOM_LOW", +"GRAIN", +"DEPTH_OF_FIELD", +"USER_LUT", +"CHROMATIC_ABERRATION_LOW", +"BLOOM_LENS_DIRT", +"_FADING_ON", +"CHROMATIC_ABERRATION", +"DISTORT", +"GEOM_TYPE_BRANCH", +"_SPECULARHIGHLIGHTS_OFF", +"_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A", +"EFFECT_HUE_VARIATION", +"GEOM_TYPE_LEAF", +"GEOM_TYPE_MESH", +"FINALPASS", +"AUTO_EXPOSURE" +"VIGNETTE", +"VIGNETTE_MASKED", +"COLOR_GRADING_HDR", + +UNUSED------------------------------------------- +"_ALPHABLEND_ON", +"_ALPHAPREMULTIPLY_ON", +"_ALPHATEST_ON", +"GEOM_TYPE_BRANCH_DETAIL", +"GEOM_TYPE_FROND", +"PIXELSNAP_ON", +"SOFTPARTICLES_ON", +"DITHERING", +"TONEMAPPING_NEUTRAL", +"TONEMAPPING_FILMIC", +"TONEMAPPING_ACES", +"TONEMAPPING_CUSTOM", +"DEPTH_OF_FIELD_COC_VIEW", +"COLOR_GRADING", +"COLOR_GRADING_LOG_VIEW", +"VIGNETTE_CLASSIC", +"COLOR_GRADING_HDR_3D", + +DO NOT USE ----------------------------------------- +"BILLBOARD_FACE_CAMERA_POS", +*/ + + +#ifndef POI_PASS + #define POI_PASS + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #ifdef POI_META_PASS + #include "UnityMetaPass.cginc" + #endif + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + + #include "CGI_PoiSpawnInVert.cginc" + + #include "CGI_PoiV2F.cginc" + + #ifdef BLOOM_LOW + #include "CGI_PoiBulge.cginc" + #endif + + #include "CGI_PoiVert.cginc" + + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + + #include "CGI_PoiDithering.cginc" + + #ifdef _PARALLAXMAP + #include "CGI_PoiParallax.cginc" + #endif + + #ifdef USER_LUT + #include "CGI_PoiUVDistortion.cginc" + #endif + + #ifdef VIGNETTE + #include "CGI_PoiRGBMask.cginc" + #endif + + #include "CGI_PoiData.cginc" + + #ifdef _SPECULARHIGHLIGHTS_OFF + #include "CGI_PoiBlackLight.cginc" + #endif + + #include "CGI_PoiSpawnInFrag.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + + #ifdef DEPTH_OF_FIELD + #include "CGI_PoiHologram.cginc" + #endif + + #ifdef BLOOM_LENS_DIRT + #include "CGI_PoiIridescence.cginc" + #endif + + + #ifdef FUR + #include "CGI_PoiFur.cginc" + #include "CGI_PoiGeomFur.cginc" + #endif + + #ifdef VIGNETTE_MASKED + #include "CGI_PoiLighting.cginc" + #endif + + #include "CGI_PoiMainTex.cginc" + + #ifdef GEOM_TYPE_BRANCH + #include "CGI_PoiDecal.cginc" + #endif + + #ifdef CHROMATIC_ABERRATION + #include "CGI_PoiVoronoi.cginc" + #endif + + #ifdef _DETAIL_MULX2 + #include "CGI_PoiPanosphere.cginc" + #endif + + #ifdef EFFECT_BUMP + #include "CGI_PoiMSDF.cginc" + #endif + + #ifdef GRAIN + #include "CGI_PoiDepthColor.cginc" + #endif + + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _GLOSSYREFLECTIONS_OFF + #include "CGI_PoiRimLighting.cginc" + #endif + + #ifdef _MAPPING_6_FRAMES_LAYOUT + #include "CGI_PoiEnvironmentalRimLighting.cginc" + #endif + + #ifdef _METALLICGLOSSMAP + #include "CGI_PoiMetal.cginc" + #endif + + #ifdef _COLORADDSUBDIFF_ON + #include "CGI_PoiMatcap.cginc" + #endif + + #ifdef _SPECGLOSSMAP + #include "CGI_PoiSpecular.cginc" + #endif + + #ifdef BLOOM + #include "CGI_PoiVideo.cginc" + #endif + + #ifdef _TERRAIN_NORMAL_MAP + #include "CGI_PoiSubsurfaceScattering.cginc" + #endif + + #include "CGI_PoiBlending.cginc" + #include "CGI_PoiGrab.cginc" + + #ifdef _SUNDISK_SIMPLE + #include "CGI_PoiGlitter.cginc" + #endif + + #ifdef _EMISSION + #include "CGI_PoiEmission.cginc" + #endif + + #ifdef _COLORCOLOR_ON + #include "CGI_PoiClearCoat.cginc" + #endif + + #include "CGI_PoiAlphaToCoverage.cginc" + + #ifdef _COLOROVERLAY_ON + #include "CGI_PoiDebug.cginc" + #endif + #include "CGI_PoiFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta new file mode 100644 index 00000000..64c95bf0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPass.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: e64f24d1a9c831d48923a6412bd2be6f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc new file mode 100644 index 00000000..5e365972 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc @@ -0,0 +1,26 @@ +#ifndef POI_PASS_OUTLINE + #define POI_PASS_OUTLINE + + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + #include "CGI_PoiMacros.cginc" + #include "CGI_Poicludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiOutlineVert.cginc" + #ifdef TESSELATION + #include "CGI_PoiTessellation.cginc" + #endif + #ifdef _REQUIRE_UV2 + #include "CGI_PoiMirror.cginc" + #endif + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiLighting.cginc" + #include "CGI_PoiMainTex.cginc" + #include "CGI_PoiData.cginc" + #include "CGI_PoiDithering.cginc" + #include "CGI_PoiOutlineFrag.cginc" +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta new file mode 100644 index 00000000..75bb54f0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassOutline.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 14d6c33a4f774ea4b8b070c7bc2881cb +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc new file mode 100644 index 00000000..d21a5d4d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc @@ -0,0 +1,44 @@ +#ifndef POI_PASS_SHADOW + #define POI_PASS_SHADOW + + #pragma multi_compile_shadowcaster + #include "UnityCG.cginc" + #include "UnityShaderVariables.cginc" + #include "UnityCG.cginc" + #include "Lighting.cginc" + #include "UnityPBSLighting.cginc" + #include "AutoLight.cginc" + + #include "CGI_PoiMacros.cginc" + #include "CGI_PoiDefines.cginc" + + #include "CGI_Poicludes.cginc" + #include "CGI_PoiShadowIncludes.cginc" + #include "CGI_PoiHelpers.cginc" + #include "CGI_PoiMirror.cginc" + #include "CGI_PoiSpawnInFrag.cginc" + + #include "CGI_PoiV2F.cginc" + #include "CGI_PoiData.cginc" + + #ifdef WIREFRAME + #include "CGI_PoiWireframe.cginc" + #endif + + #ifdef _SUNDISK_HIGH_QUALITY + #include "CGI_PoiFlipbook.cginc" + #endif + + #ifdef _SUNDISK_NONE + #include "CGI_PoiRandom.cginc" + #endif + #include "CGI_PoiDithering.cginc" + #ifdef DISTORT + #include "CGI_PoiDissolve.cginc" + #endif + #include "CGI_PoiVertexManipulations.cginc" + #include "CGI_PoiSpawnInVert.cginc" + #include "CGI_PoiShadowVert.cginc" + #include "CGI_PoiShadowFrag.cginc" + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta new file mode 100644 index 00000000..c44ad40e --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiPassShadow.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a02ad288dc685bf4c9f7bb49a3e0d937 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc new file mode 100644 index 00000000..d4cd1697 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc @@ -0,0 +1,131 @@ +#ifndef POI_RGBMASK + #define POI_RGBMASK + + UNITY_DECLARE_TEX2D_NOSAMPLER(_RGBMask); float4 _RGBMask_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_RedTexure); float4 _RedTexure_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_GreenTexture); float4 _GreenTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_BlueTexture); float4 _BlueTexture_ST; + + #ifdef GEOM_TYPE_MESH + POI_NORMAL_NOSAMPLER(_RgbNormalR); + POI_NORMAL_NOSAMPLER(_RgbNormalG); + POI_NORMAL_NOSAMPLER(_RgbNormalB); + float _RgbNormalsEnabled; + #endif + + float4 _RedColor; + float4 _GreenColor; + float4 _BlueColor; + + float4 _RGBMaskPanning; + float4 _RGBRedPanning; + float4 _RGBGreenPanning; + float4 _RGBBluePanning; + + float _RGBBlendMultiplicative; + + float _RGBMaskUV; + float _RGBRed_UV; + float _RGBGreen_UV; + float _RGBBlue_UV; + float _RGBUseVertexColors; + float _RGBNormalBlend; + + static float3 rgbMask; + + void calculateRGBNormals(inout half3 mainTangentSpaceNormal) + { + #ifdef GEOM_TYPE_MESH + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + + if(float(0)) + { + + if(float(0) == 0) + { + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.r); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.g); + } + + if(float(0) > 0) + { + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + mainTangentSpaceNormal = lerp(mainTangentSpaceNormal, normalToBlendWith, rgbMask.b); + } + return; + } + else + { + half3 newNormal = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalR, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0) * rgbMask.r); + half3 normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalG, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.g); + normalToBlendWith = UnpackScaleNormal(POI2D_SAMPLER_PAN(_RgbNormalB, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)), float(0)); + newNormal = lerp(newNormal, normalToBlendWith, rgbMask.b); + mainTangentSpaceNormal = BlendNormals(newNormal, mainTangentSpaceNormal); + return; + } + } + #endif + } + + float3 calculateRGBMask(float3 baseColor) + { + //If RGB normals are in use this data will already exist + #ifndef RGB_MASK_TEXTURE + #define RGB_MASK_TEXTURE + + if (float(0)) + { + rgbMask = poiMesh.vertexColor.rgb; + } + else + { + rgbMask = POI2D_SAMPLER_PAN(_RGBMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).rgb; + } + #endif + + float4 red = POI2D_SAMPLER_PAN(_RedTexure, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 green = POI2D_SAMPLER_PAN(_GreenTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + float4 blue = POI2D_SAMPLER_PAN(_BlueTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + + if(float(0)) + { + float3 RGBColor = 1; + RGBColor = lerp(RGBColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + RGBColor = lerp(RGBColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + baseColor *= RGBColor; + } + else + { + baseColor = lerp(baseColor, red.rgb * float4(1,1,1,1).rgb, rgbMask.r * red.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, green.rgb * float4(1,1,1,1).rgb, rgbMask.g * green.a * float4(1,1,1,1).a); + baseColor = lerp(baseColor, blue.rgb * float4(1,1,1,1).rgb, rgbMask.b * blue.a * float4(1,1,1,1).a); + } + + return baseColor; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta new file mode 100644 index 00000000..637617cd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRGBMask.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 09dfc995f63c30745b4cfde80d509042 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc new file mode 100644 index 00000000..137ef6de --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc @@ -0,0 +1,4 @@ +#ifndef POI_RNG + #define POI_RNG + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta new file mode 100644 index 00000000..5e7887a2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRNG.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: a7961658455606641a709d6418ef4b40 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..11f3eea2 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,41 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + float _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin; + float _CameraAngleMax; + float _ModelAngleMin; + float _ModelAngleMax; + float _AngleMinAlpha; + float _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = float(45) / 180; + half cameraAngleMax = float(90) / 180; + half modelAngleMin = float(45) / 180; + half modelAngleMax = float(90) / 180; + float3 pos = float(0) == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(float4(0,0,1,0)))); + half cameraLookAtModel = remapClamped(.5 * dot(cameraToModelDirection, getCameraForward()) + .5, cameraAngleMax, cameraAngleMin, 0, 1); + half modelLookAtCamera = remapClamped(.5 * dot(-cameraToModelDirection, modelForwardDirection) + .5, modelAngleMax, modelAngleMin, 0, 1); + if (float(0) == 0) + { + return max(cameraLookAtModel, float(0)); + } + else if(float(0) == 1) + { + return max(modelLookAtCamera, float(0)); + } + else if(float(0) == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, float(0)); + } + return 1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta new file mode 100644 index 00000000..67b16823 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRandom.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 134a3a72609e1dd449d637062f585a63 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc new file mode 100644 index 00000000..d4571c0c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc @@ -0,0 +1,47 @@ +#ifndef POI_RIM + #define POI_RIM + + float4 _RimLightColor; + float _RimLightingInvert; + float _RimWidth; + float _RimStrength; + float _RimSharpness; + float _RimLightColorBias; + float _ShadowMix; + float _ShadowMixThreshold; + float _ShadowMixWidthMod; + float _EnableRimLighting; + float _RimBrighten; + float _RimLightNormal; + + POI_TEXTURE_NOSAMPLER(_RimTex); + POI_TEXTURE_NOSAMPLER(_RimMask); + POI_TEXTURE_NOSAMPLER(_RimWidthNoiseTexture); + + float _RimWidthNoiseStrength; + + float4 rimColor = float4(0, 0, 0, 0); + float rim = 0; + + void applyRimLighting(inout float4 albedo, inout float3 rimLightEmission) + { + float rimNoise = POI2D_SAMPLER_PAN(_RimWidthNoiseTexture, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimNoise = (rimNoise - .5) * float(0.1); + + float viewDotNormal = abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + + if (float(0)) + { + viewDotNormal = 1 - abs(dot(poiCam.viewDir, poiMesh.normals[float(1)])); + } + float rimWidth = float(0.8); + rimWidth -= rimNoise; + float rimMask = POI2D_SAMPLER_PAN(_RimMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + rimColor = POI2D_SAMPLER_PAN(_RimTex, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)) * float4(1,1,1,1); + rimWidth = max(lerp(rimWidth, rimWidth * lerp(0, 1, poiLight.lightMap - float(0.5)) * float(0.5), float(0)),0); + rim = 1 - smoothstep(min(float(0.25), rimWidth), rimWidth, viewDotNormal); + rim *= float4(1,1,1,1).a * rimColor.a * rimMask; + rimLightEmission = rim * lerp(albedo, rimColor, float(0)) * float(0); + albedo.rgb = lerp(albedo.rgb, lerp(albedo.rgb, rimColor, float(0)) + lerp(albedo.rgb, rimColor, float(0)) * float(0), rim); + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta new file mode 100644 index 00000000..39c81344 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiRimLighting.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 68cedfbb202efaf438ed9950f074be4b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc new file mode 100644 index 00000000..16701f61 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc @@ -0,0 +1,116 @@ +#ifndef SHADOW_FRAG + #define SHADOW_FRAG + + float2 _MainDistanceFade; + float _ForceOpaque; + float _MainShadowClipMod; + float2 _AlphaMaskPan; + float _AlphaMaskUV; + sampler3D _DitherMaskLOD; + float2 _MainTexPan; + float _MainTextureUV; + + half4 fragShadowCaster( + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + V2FShadow i, uint facing: SV_IsFrontFace + #endif + ): SV_Target + { + poiMesh.uv[0] = i.uv; + poiMesh.uv[1] = i.uv1; + poiMesh.uv[2] = i.uv2; + poiMesh.uv[3] = i.uv3; + + // Basically every texture relies on the maintex sampler to function and that's why this is here. + float4 mainTexture = UNITY_SAMPLE_TEX2D(_MainTex, TRANSFORM_TEX(poiMesh.uv[float(0)], _MainTex) + _Time.x * float4(0,0,0,0)); + + + //Possible Bug with clip + float clipValue = clamp(float(0.5) + float(0), - .001, 1.001); + + poiMesh.vertexColor = saturate(i.vertexColor); + poiMesh.worldPos = i.worldPos; + poiMesh.localPos = i.localPos; + + #ifdef POI_MIRROR + applyMirrorRenderFrag(); + #endif + + #if defined(UNITY_STANDARD_USE_SHADOW_UVS) + + half4 alpha = mainTexture; + + + if (float(0)) + { + if(IsInMirror()) + { + alpha.a = UNITY_SAMPLE_TEX2D_SAMPLER(_MirrorTexture, _MainTex, TRANSFORM_TEX(i.uv, _MirrorTexture)).a; + } + } + + + alpha.a *= smoothstep(float4(0,0,0,0).x, float4(0,0,0,0).y, distance(i.modelPos, _WorldSpaceCameraPos)); + half alphaMask = POI2D_PAN(_AlphaMask, poiMesh.uv[float(0)], float4(0,0,0,0)); + alpha.a *= alphaMask; + alpha.a *= float4(1,1,1,1).a + .0001; + alpha.a += float(0); + alpha.a = saturate(alpha.a); + + + if(float(0) == 0) + { + alpha.a = 1; + } + + + if(float(0) == 1) + { + applyShadowDithering(alpha.a, calcScreenUVs(i.grabPos).xy); + } + + #ifdef POI_DISSOLVE + float3 fakeEmission = 1; + calculateDissolve(alpha, fakeEmission); + #endif + + if(float(0) == 1) + { + clip(alpha.a - 0.001); + } + + /* + return poiMesh.vertexColor.g; + + #ifdef POI_RANDOM + alpha.a *= i.angleAlpha; + #endif + + + if(float(0) >= 1) + { + applySpawnInShadow(uv[0], i.localPos); + + #if defined(POI_FLIPBOOK) + alpha.a *= applyFlipbookAlphaToShadow(uv[float(0)]); + #endif + } + */ + + if (float(0) == 1) + { + clip(alpha.a - clipValue); + } + + + if(float(0) > 1) + { + float dither = tex3D(_DitherMaskLOD, float3(i.pos.xy * .25, alpha.a * 0.9375)).a; + clip(dither - 0.01); + } + + #endif + SHADOW_CASTER_FRAGMENT(i) + } + + #endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta new file mode 100644 index 00000000..a629c7ee --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8b48a0d8f2a9ee54787124ee7432f7c4 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc new file mode 100644 index 00000000..fd8f19a1 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc @@ -0,0 +1,41 @@ +#ifndef SHADOW_INCLUDES + #define SHADOW_INCLUDES + + #define UNITY_STANDARD_USE_SHADOW_UVS 1 + + float4 _Color; + sampler2D _AlphaMask; float4 _AlphaMask_ST; + + struct VertexInputShadow + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #if !defined(V2F_SHADOW_CASTER_NOPOS_IS_EMPTY) || defined(UNITY_STANDARD_USE_SHADOW_UVS) + struct V2FShadow + { + V2F_SHADOW_CASTER_NOPOS + float4 pos: SV_POSITION; + float2 uv: TEXCOORD1; + float2 uv1: TEXCOORD2; + float2 uv2: TEXCOORD3; + float2 uv3: TEXCOORD4; + float3 modelPos: TEXCOORD5; + float4 worldPos: TEXCOORD6; + float4 localPos: TEXCOORD7; + float3 angleAlpha: TEXCOORD8; + float4 grabPos: TEXCOORD9; + fixed3 barycentricCoordinates: TEXCOORD10; + float4 vertexColor: TEXCOORD11; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + #endif + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta new file mode 100644 index 00000000..507526bc --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowIncludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 1d431e0772633e042949f638d7471ef5 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc new file mode 100644 index 00000000..f0b7184a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc @@ -0,0 +1,80 @@ +float _EnableTouchGlow; +float _EnableBulge; +float _VertexManipulationHeightUV; + +V2FShadow vertShadowCaster(VertexInputShadow v) +{ + V2FShadow o; + UNITY_SETUP_INSTANCE_ID(v); + + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(V2FShadow, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.uv = v.uv0; + o.uv1 = v.uv1; + o.uv2 = v.uv2; + o.uv3 = v.uv3; + + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, v.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.vertexColor = v.color; + + + if(_EnableTouchGlow || _EnableBulge) + { + o.pos = UnityObjectToClipPos(float3(0, 0, -5)); + o.localPos.xyz = float3(0, 0, -5); + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + } + + o.angleAlpha = 1; + #ifdef POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + + o.pos = UnityClipSpaceShadowCasterPos(o.localPos, v.normal); + o.pos = UnityApplyLinearShadowBias(o.pos); + + return o; +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta new file mode 100644 index 00000000..b6b25031 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiShadowVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 00f86c40ca513ea4f8fd0b9ba5c866ae +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc new file mode 100644 index 00000000..0c18d1ad --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc @@ -0,0 +1,58 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + #endif + + UNITY_DECLARE_TEX2D_NOSAMPLER(_SpawnInNoise); float4 _SpawnInNoise_ST; + + float calculateGradientValueFrag(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnIn(inout float4 finalColor, inout float3 spawnInEmission, float2 uv, float3 localPos) + { + + if (_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + spawnInEmission = saturate(inverseGradient + _SpawnInAlpha + _SpawnInEmissionOffset +noise - 1) * _SpawnInEmissionColor; + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } + + void applySpawnInShadow(float2 uv, float3 localPos) + { + + if(_EnableScifiSpawnIn) + { + float noise = UNITY_SAMPLE_TEX2D_SAMPLER(_SpawnInNoise, _MainTex, TRANSFORM_TEX(uv, _SpawnInNoise)).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + float gradient = calculateGradientValueFrag(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float alpha = gradient - _SpawnInAlpha - noise + length(_SpawnInVertOffset); + + if(float(0) >= 1) + { + clip(ceil(alpha) - 0.001); + } + } + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta new file mode 100644 index 00000000..026016bd --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInFrag.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: db230eea618ffee439f81284adfd5f0f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc new file mode 100644 index 00000000..fdcc457f --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc @@ -0,0 +1,40 @@ +#ifndef POI_SPAWN_IN_FRAG + #define POI_SPAWN_FRAG + + #ifndef SPAWN_IN_VARIABLES + #define SPAWN_IN_VARIABLES + + float3 _SpawnInGradientStart; + float3 _SpawnInGradientFinish; + fixed _SpawnInAlpha; + fixed _SpawnInNoiseIntensity; + float3 _SpawnInEmissionColor; + float _SpawnInEmissionOffset; + float _SpawnInVertOffset; + float _SpawnInVertOffsetOffset; + float _EnableScifiSpawnIn; + + #endif + //sampler2D _SpawnInNoiseVert; float4 _SpawnInNoiseVert_ST; + + float calculateGradientValueVert(float3 start, float3 finish, float3 localPos) + { + return inverseLerp3(start, finish, localPos); + } + + void applySpawnInVert(inout float4 worldPos, inout float4 localPos, float2 uv) + { + + if (_EnableScifiSpawnIn) + { + float noise = 0; + float gradient = calculateGradientValueVert(_SpawnInGradientStart, _SpawnInGradientFinish, localPos); + float inverseGradient = 1 - gradient; + float alpha = gradient - _SpawnInAlpha - noise; + worldPos.xyz += saturate(inverseGradient + _SpawnInAlpha + _SpawnInVertOffsetOffset -1) * float3(0, _SpawnInVertOffset, 0); + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + //float noise = tex2Dlod(_SpawnInNoise, float4(TRANSFORM_TEX(uv, _SpawnInNoise))).r * _SpawnInAlpha * _SpawnInNoiseIntensity; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta new file mode 100644 index 00000000..14f546aa --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpawnInVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 09068a53b72b80f4fb9a23faba668615 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc new file mode 100644 index 00000000..f5287465 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc @@ -0,0 +1,488 @@ +#ifndef POI_SPECULAR + #define POI_SPECULAR + float _SpecWhatTangent; + float _SpecularType; + float _SmoothnessFrom; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap); + POI_TEXTURE_NOSAMPLER(_SpecularMap); + fixed _CenterOutSpecColor; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro); + float _SpecularAnisoJitterMirrored; + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoFakeUV); + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap); + POI_TEXTURE_NOSAMPLER(_SpecularMask); + float _SpecularAnisoJitterMicroMultiplier; + float _SpecularAnisoJitterMacroMultiplier; + float4 _SpecularTint; + float _SpecularSmoothness; + float _Spec1Offset; + float _Spec1JitterStrength; + float _Spec2Smoothness; + float _Spec2Offset; + float _Spec2JitterStrength; + float _AnisoUseTangentMap; + float _AnisoSpec1Alpha; + float _AnisoSpec2Alpha; + float _SpecularInvertSmoothness; + half _SpecularMetallic; + float _SpecularNormal; + float _SpecularNormal1; + // Toon + fixed _SpecularToonStart; + fixed _SpecularToonEnd; + half4 _SpecularToonInnerOuter; + + float _EnableSpecular1; + float _SpecWhatTangent1; + float _SpecularType1; + float _SmoothnessFrom1; + POI_TEXTURE_NOSAMPLER(_SpecularMetallicMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMap1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMicro1); + POI_TEXTURE_NOSAMPLER(_SpecularAnisoJitterMacro1); + float _SpecularAnisoJitterMirrored1; + POI_TEXTURE_NOSAMPLER(_AnisoTangentMap1); + POI_TEXTURE_NOSAMPLER(_SpecularMask1); + float _SpecularAnisoJitterMicroMultiplier1; + float _SpecularAnisoJitterMacroMultiplier1; + float4 _SpecularTint1; + float _SpecularSmoothness1; + float _Spec1Offset1; + float _Spec1JitterStrength1; + float _Spec2Smoothness1; + float _Spec2Offset1; + float _Spec2JitterStrength1; + float _AnisoUseTangentMap1; + float _AnisoSpec1Alpha1; + float _AnisoSpec2Alpha1; + float _SpecularInvertSmoothness1; + half _SpecularMetallic1; + // Toon + half4 _SpecularToonInnerOuter1; + fixed _SpecularToonStart1; + fixed _SpecularToonEnd1; + + UnityIndirect ZeroIndirect() + { + UnityIndirect ind; + ind.diffuse = 0; + ind.specular = 0; + return ind; + } + + // From unity just putting it here in case I want to mod it + half4 poiRealisticSpecular(half3 diffColor, half3 specColor, half oneMinusReflectivity, half smoothness, + float3 normal, float3 halfDir, + UnityLight light, UnityIndirect gi) + { + float perceptualRoughness = SmoothnessToPerceptualRoughness(smoothness); + #define UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV 0 + + #if UNITY_HANDLE_CORRECTLY_NEGATIVE_NDOTV + half shiftAmount = dot(normal, poiCam.viewDir); + normal = shiftAmount < 0.0f ? normal + poiCam.viewDir * (-shiftAmount + 1e-5f): normal; + float nv = saturate(dot(normal, poiCam.viewDir)); + #else + half nv = abs(dot(normal, poiCam.viewDir)); + #endif + + float nl = saturate(dot(normal, light.dir)); + float nh = saturate(dot(normal, halfDir)); + + half lv = saturate(dot(light.dir, poiCam.viewDir)); + half lh = saturate(dot(light.dir, halfDir)); + + half diffuseTerm = DisneyDiffuse(nv, nl, lh, perceptualRoughness) * nl; + + float roughness = PerceptualRoughnessToRoughness(perceptualRoughness); + + roughness = max(roughness, 0.002); + float V = SmithJointGGXVisibilityTerm(nl, nv, roughness); + float D = GGXTerm(nh, roughness); + + float specularTerm = V * D * UNITY_PI; + + #ifdef UNITY_COLORSPACE_GAMMA + specularTerm = sqrt(max(1e-4h, specularTerm)); + #endif + + specularTerm = max(0, specularTerm * nl); + #if defined(_POI_SPECULARHIGHLIGHTS_OFF) + specularTerm = 0.0; + #endif + + half surfaceReduction; + #ifdef UNITY_COLORSPACE_GAMMA + surfaceReduction = 1.0 - 0.28 * roughness * perceptualRoughness; + #else + surfaceReduction = 1.0 / (roughness * roughness + 1.0); + #endif + + specularTerm *= any(specColor) ? 1.0: 0.0; + + half grazingTerm = saturate(smoothness + (1 - oneMinusReflectivity)); + half3 color = diffColor * (gi.diffuse + light.color * diffuseTerm) + + specularTerm * light.color * FresnelTerm(specColor, lh) + + surfaceReduction * gi.specular * FresnelLerp(specColor, grazingTerm, nv); + + return half4(color, 1); + } + + half3 calculateRealisticSpecular(float4 albedo, float2 uv, float4 specularTint, float specularSmoothness, float invertSmoothness, float mixAlbedoWithTint, float4 specularMap, float3 specularLight, float3 normal, float attenuation, float3 lightDirection, float nDotL, float3 halfDir) + { + half oneMinusReflectivity; + half3 finalSpecular; + UnityLight unityLight; + unityLight.color = specularLight; + unityLight.dir = lightDirection; + unityLight.ndotl = nDotL; + + + if (float(1) == 0) + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularMap.rgb * specularTint.rgb, /*out*/ oneMinusReflectivity); + finalSpecular = poiRealisticSpecular(diffColor, specularMap.rgb, oneMinusReflectivity, specularMap.a * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + else + { + half3 diffColor = EnergyConservationBetweenDiffuseAndSpecular(albedo, specularTint.rgb, /*out*/ oneMinusReflectivity); + float smoothness = max(max(specularMap.r, specularMap.g), specularMap.b); + finalSpecular = poiRealisticSpecular(diffColor, 1, oneMinusReflectivity, smoothness * specularSmoothness * lerp(1, -1, invertSmoothness), normal, halfDir, unityLight, ZeroIndirect()); + } + finalSpecular *= lerp(1, albedo.rgb, mixAlbedoWithTint); + return finalSpecular; + } + + half3 calculateToonSpecular(float4 albedo, float2 uv, float2 specularToonInnerOuter, float specularMixAlbedoIntoTint, float smoothnessFrom, float4 specularMap, float3 specularLight, float3 normal, float3 halfDir, float attenuation) + { + half3 finalSpecular = smoothstep(1 - specularToonInnerOuter.y, 1 - specularToonInnerOuter.x, dot(halfDir, normal)) * specularLight; + + if (smoothnessFrom == 0) + { + finalSpecular.rgb *= specularMap.rgb * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + finalSpecular *= specularMap.a; + } + else + { + finalSpecular *= specularMap.r * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + return finalSpecular; + } + + float3 strandSpecular(float TdotL, float TdotV, float specPower, float nDotL) + { + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + float Specular = saturate(nDotL) * pow(saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV), specPower); + half normalization = sqrt((specPower + 1) * ((specPower) + 1)) / (8 * pi); + Specular *= normalization; + return Specular; + } + + half3 AnisotropicSpecular( + float specWhatTangent, float anisoUseTangentMap, float specularSmoothness, float spec2Smoothness, + float anisoSpec1Alpha, float anisoSpec2Alpha, float4 specularTint, float specularMixAlbedoIntoTint, float4 specularMap, float3 specularLight, float3 lightDirection, float3 halfDir, float nDotL, float jitter, float4 packedTangentMap, in float4 albedo) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + tangentDirectionMap += float(0) +jitter; + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + half specPower = RoughnessToSpecPower(1.0 - specularSmoothness * specularMap.a); + half spec2Power = RoughnessToSpecPower(1.0 - spec2Smoothness * specularMap.a); + half Specular = 0; + + float3 spec = strandSpecular(TdotL, TdotV, specPower, nDotL) * anisoSpec1Alpha; + float3 spec2 = strandSpecular(TdotL, TdotV, spec2Power, nDotL) * anisoSpec2Alpha; + + return max(spec, spec2) * specularMap.rgb * specularTint.a * specularLight * lerp(1, albedo.rgb, specularMixAlbedoIntoTint); + } + + inline float3 toonAnisoSpecular(float specWhatTangent, float anisoUseTangentMap, float3 lightDirection, float halfDir, float4 specularMap, float nDotL, fixed gradientStart, fixed gradientEnd, float4 specColor, float4 finalColor, fixed metallic, float jitter, float mirrored, float4 packedTangentMap) + { + float3 tangentOrBinormal = specWhatTangent ? poiMesh.tangent: poiMesh.binormal; + + float3 normalLocalAniso = lerp(float3(0, 0, 1), UnpackNormal(packedTangentMap), anisoUseTangentMap); + normalLocalAniso = BlendNormals(normalLocalAniso, poiMesh.tangentSpaceNormal); + //float3 normalDirection = normalize(mul(poiMesh.normals[float(1)], poiTData.tangentTransform)); + float3 normalDirectionAniso = Unity_SafeNormalize(mul(normalLocalAniso, poiTData.tangentTransform)); + float3 tangentDirection = mul(poiTData.tangentTransform, tangentOrBinormal).xyz; + float3 viewReflectDirectionAniso = reflect(-poiCam.viewDir, normalDirectionAniso); // possible bad negation + float3 tangentDirectionMap = mul(poiTData.tangentToWorld, float3(normalLocalAniso.rg, 0.0)).xyz; + tangentDirectionMap = normalize(lerp(tangentOrBinormal, tangentDirectionMap, anisoUseTangentMap)); + + if (!mirrored) + { + tangentDirectionMap += jitter; + } + + float TdotL = dot(lightDirection, tangentDirectionMap); + float TdotV = dot(poiCam.viewDir, tangentDirectionMap); + float TdotH = dot(halfDir, tangentDirectionMap); + + float specular = saturate(sqrt(1.0 - (TdotL * TdotL)) * sqrt(1.0 - (TdotV * TdotV)) - TdotL * TdotV); + + fixed smoothAlpha = specular; + if(mirrored) + { + smoothAlpha = max(specular - jitter, 0); + } + + specular = smoothstep(gradientStart, gradientEnd, smoothAlpha); + + /* + + if(_CenterOutSpecColor) + { + specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, clamp(float2(specular, specular), 0.01, .99), float4(0,0,0,0)); + } + */ + + #ifdef FORWARD_ADD_PASS + nDotL *= poiLight.attenuation * poiLight.additiveShadow; + #endif + + return saturate(nDotL) * specular * poiLight.color * specColor * specularMap.rgb * lerp(1, finalColor, metallic) * specularMap.a; + } + + inline float SpecularHQ(half roughness, half dotNH, half dotLH) + { + roughness = saturate(roughness); + roughness = max((roughness * roughness), 0.002); + half roughnessX2 = roughness * roughness; + + half denom = dotNH * dotNH * (roughnessX2 - 1.0) + 1.0f; + half D = roughnessX2 / (3.14159 * denom * denom); + + half k = roughness / 2.0f; + half k2 = k * k; + half invK2 = 1.0f - k2; + + half vis = rcp(dotLH * dotLH * invK2 + k2); + + float specTerm = vis * D; + + return specTerm; + } + + float3 calculateNewSpecular(in float3 specularMap, uint colorFrom, in float4 albedo, in float3 specularTint, in float specularMetallic, in float specularSmoothness, in half dotNH, in half dotLH, in float3 lightColor, in float attenuation) + { + float3 specColor = specularTint; + float metallic = specularMetallic; + float roughness = 1 - specularSmoothness; + float perceptualRoughness = roughness; + //float reflectInverse = DielectricSpec.a - metallic * DielectricSpec.a; + //float reflectivity = 1.0h - reflectInverse; + float3 specMapColor = lerp(specularMap, 1, colorFrom); + float3 specularColor = lerp(DielectricSpec.rgb * specMapColor, lerp(specularMap, albedo.rgb, colorFrom), metallic); + //albedo.rgb *= reflectInverse; + return clamp(specularColor * lightColor * attenuation * specularTint * SpecularHQ(perceptualRoughness, dotNH, dotLH), 0, lightColor * specularTint); + } + + float3 calculateSpecular(in float4 albedo) + { + half3 finalSpecular = 0; + half3 finalSpecular1 = 0; + float4 realisticAlbedo = albedo; + float4 realisticAlbedo1 = albedo; + float4 specularMap = POI2D_SAMPLER_PAN(_SpecularMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half metallic = POI2D_SAMPLER_PAN(_SpecularMetallicMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + half specularMask = POI2D_SAMPLER_PAN(_SpecularMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float attenuation = saturate(poiLight.nDotL); + #ifdef POI_LIGHTING + + if (float(0) && float(0) == 0 && float(0) == 1) + { + attenuation = poiLight.rampedLightMap; + } + #endif + + + if(float(1) == 1) // Realistic + { + if (float(1) == 1) + { + specularMap.a = specularMap.r; + specularMap.rgb = 1; + } + + if(float(0)) + { + specularMap.a = 1 - specularMap.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, attenuation); + #else + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic, jitter, float(0), packedTangentMap); + finalSpecular *= attenuation; + } + + #ifdef FORWARD_BASE_PASS + + if(float(1) == 2) // Toon + { + finalSpecular += calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic, float(1), specularMap, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular += AnisotropicSpecular(float(0), float(0), float(1), float(0), float(1), float(1), float4(1,1,1,1), metallic, specularMap, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular *= float4(1,1,1,1); + finalSpecular *= attenuation; + } + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular += calculateNewSpecular(specularMap.rgb, float(1), realisticAlbedo, float4(1,1,1,1), metallic, float(1) * specularMap.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + + finalSpecular *= float4(1,1,1,1).a; + finalSpecular = finalSpecular.rgb; + finalSpecular *= specularMask; + + + if (float(0)) + { + float4 specularMap1 = POI2D_SAMPLER_PAN(_SpecularMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + half specularMask1 = POI2D_SAMPLER_PAN(_SpecularMask1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + half metallic1 = POI2D_SAMPLER_PAN(_SpecularMetallicMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r * float(0); + float attenuation = poiLight.attenuation; + + if(float(1) == 1) // Realistic + { + + if (float(1) == 1) + { + specularMap1.a = specularMap1.r; + specularMap1.rgb = 1; + } + else + { + realisticAlbedo1.rgb = specularMap1.rgb; + } + + + if(float(0)) + { + specularMap1.a = 1 - specularMap1.a; + } + + #ifdef FORWARD_BASE_PASS + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, saturate(poiLight.nDotL)); + #else + finalSpecular1 = calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.dotNH, poiLight.dotLH, poiLight.color, poiLight.attenuation); + #endif + } + + + if(float(1) == 4) + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 += toonAnisoSpecular(float(0), float(0), poiLight.direction, poiLight.halfDir, specularMap1, poiLight.nDotL, float(0.95), float(1), float4(1,1,1,1), albedo, metallic1, jitter, float(0), packedTangentMap); + finalSpecular1 *= poiLight.attenuation; + } + + + if(float(1) == 2) // Toon + { + finalSpecular1 = calculateToonSpecular(albedo, poiMesh.uv[0], float4(0.25,0.3,0,1), metallic1, float(1), specularMap1, poiLight.color, poiMesh.normals[float(1)], poiLight.halfDir, poiLight.attenuation); + finalSpecular1 *= float4(1,1,1,1); + } + + if (float(1) == 3) // anisotropic + { + float jitter = 0; + float microJitter = POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r; + fixed jitterOffset = (1 - float(0)) * .5; + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMicro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += (POI2D_SAMPLER_PAN(_SpecularAnisoJitterMacro1, _MainTex, float2(poiMesh.uv[float(0)]), float4(0,0,0,0)).r - jitterOffset) * float(0); + jitter += float(0); + + float4 packedTangentMap = POI2D_SAMPLER_PAN(_AnisoTangentMap1, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + finalSpecular1 = AnisotropicSpecular(float(0), float(0), float(0.75), float(0), float(1), float(1), float4(1,1,1,1), metallic1, specularMap1, poiLight.color, poiLight.direction, poiLight.halfDir, poiLight.nDotL, jitter, packedTangentMap, albedo); + finalSpecular1 *= float4(1,1,1,1); + finalSpecular1 *= poiLight.attenuation; + } + + #ifdef FORWARD_BASE_PASS + // Non Important Lights + #ifdef VERTEXLIGHT_ON + for (int index = 0; index < 4; index ++) + { + attenuation = poiLight.vAttenuationDotNL[index]; + + if (float(1) == 1) // Realistic + { + finalSpecular1 += calculateNewSpecular(specularMap1.rgb, float(1), realisticAlbedo1, float4(1,1,1,1), metallic1, float(0.75) * specularMap1.a, poiLight.vDotNH[index], poiLight.vDotLH[index], poiLight.vColor[index], poiLight.vAttenuationDotNL[index]); + } + } + #endif + #endif + + finalSpecular1 *= float4(1,1,1,1).a; + finalSpecular1 = finalSpecular1.rgb; + finalSpecular1 *= specularMask1; + } + return finalSpecular + finalSpecular1; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta new file mode 100644 index 00000000..35868eea --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSpecular.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 533c319b6410ffc47be210f36d41b385 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc new file mode 100644 index 00000000..b7c21c01 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc @@ -0,0 +1,28 @@ +#ifndef SUBSURFACE + #define SUBSURFACE + + float _SSSThicknessMod; + float _SSSSCale; + float _SSSPower; + float _SSSDistortion; + float4 _SSSColor; + float _EnableSSS; + + POI_TEXTURE_NOSAMPLER(_SSSThicknessMap); + + float3 calculateSubsurfaceScattering() + { + float SSS = 1 - POI2D_SAMPLER_PAN(_SSSThicknessMap, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)); + + half3 vLTLight = poiLight.direction + poiMesh.normals[0] * float(1); + half flTDot = pow(saturate(dot(poiCam.viewDir, -vLTLight)), float(5)) * float(0.25); + #ifdef FORWARD_BASE_PASS + half3 fLT = (flTDot) * saturate(SSS + - 1 * float(0)); + #else + half3 fLT = poiLight.attenuation * (flTDot) * saturate(SSS + - 1 * float(0)); + #endif + + return fLT * poiLight.color * float4(1,0,0,1); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta new file mode 100644 index 00000000..8a4e867a --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiSubsurfaceScattering.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 9f2684e9e0259ad4299ae291172beb9d +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc new file mode 100644 index 00000000..4912473d --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc @@ -0,0 +1,117 @@ +#ifndef POI_TESSELLATION + #define POI_TESSELLATION + + float _TessellationPhongStrength; + float _TessellationEdgeLength; + float _TessellationExtrusionAmount; + float _TessellationUniform; + + struct TessellationControlPoint + { + float4 vertex: INTERNALTESSPOS; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + }; + + struct TessellationFactors + { + float edge[3]: SV_TessFactor; + float inside: SV_InsideTessFactor; + }; + + TessellationControlPoint poiTessellationVert(appdata v) + { + TessellationControlPoint p; + p.vertex = v.vertex; + p.normal = v.normal; + p.tangent = v.tangent; + p.color = v.color; + p.uv0 = v.uv0; + p.uv1 = v.uv1; + p.uv2 = v.uv2; + p.uv3 = v.uv3; + return p; + } + + float TessellationEdgeFactor(float3 p0, float3 p1) + { + #ifndef _FADING_ON + float edgeLength = distance(p0, p1); + + float3 edgeCenter = (p0 + p1) * 0.5; + float viewDistance = distance(edgeCenter, _WorldSpaceCameraPos); + + return edgeLength * _ScreenParams.y / + (_TessellationEdgeLength * viewDistance); + #else + return _TessellationUniform; + #endif + } + + TessellationFactors poiPatchConst( + InputPatch < TessellationControlPoint, 3 > patch + ) + { + + TessellationFactors f; + float3 p0 = mul(unity_ObjectToWorld, patch[0].vertex).xyz; + float3 p1 = mul(unity_ObjectToWorld, patch[1].vertex).xyz; + float3 p2 = mul(unity_ObjectToWorld, patch[2].vertex).xyz; + f.edge[0] = TessellationEdgeFactor(p1, p2); + f.edge[1] = TessellationEdgeFactor(p2, p0); + f.edge[2] = TessellationEdgeFactor(p0, p1); + f.inside = (TessellationEdgeFactor(p1, p2) + + TessellationEdgeFactor(p2, p0) + + TessellationEdgeFactor(p0, p1)) * (1 / 3.0); + return f; + } + + [UNITY_domain("tri")] + [UNITY_outputcontrolpoints(3)] + [UNITY_outputtopology("triangle_cw")] + [UNITY_partitioning("fractional_odd")] + [UNITY_patchconstantfunc("poiPatchConst")] + TessellationControlPoint poiHull( + InputPatch < TessellationControlPoint, 3 > patch, + uint id: SV_OutputControlPointID + ) + { + return patch[id]; + } + + [UNITY_domain("tri")] + v2f poiDomain( + TessellationFactors factors, + OutputPatch < TessellationControlPoint, 3 > patch, + float3 barycentricCoordinates: SV_DomainLocation + ) + { + appdata data; + + #define MY_DOMAIN_PROGRAM_INTERPOLATE(fieldName) data.fieldName = patch[0].fieldName * barycentricCoordinates.x + patch[1].fieldName * barycentricCoordinates.y + patch[2].fieldName * barycentricCoordinates.z; + + MY_DOMAIN_PROGRAM_INTERPOLATE(vertex) + float3 pp[3]; + for (int i = 0; i < 3; ++ i) + { + pp[i] = data.vertex.xyz - patch[i].normal * (dot(data.vertex.xyz, patch[i].normal) - dot(patch[i].vertex.xyz, patch[i].normal)); + } + data.vertex.xyz = _TessellationPhongStrength * (pp[0] * barycentricCoordinates.x + pp[1] * barycentricCoordinates.y + pp[2] * barycentricCoordinates.z) + (1.0f - _TessellationPhongStrength) * data.vertex.xyz; + MY_DOMAIN_PROGRAM_INTERPOLATE(normal) + data.vertex.xyz += data.normal.xyz * _TessellationExtrusionAmount; + MY_DOMAIN_PROGRAM_INTERPOLATE(tangent) + MY_DOMAIN_PROGRAM_INTERPOLATE(color) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv0) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv1) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv2) + MY_DOMAIN_PROGRAM_INTERPOLATE(uv3) + + return vert(data); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta new file mode 100644 index 00000000..5fa9e68c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiTessellation.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 5dea4638ff879764c890846631378d49 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc new file mode 100644 index 00000000..38d5fd75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc @@ -0,0 +1,34 @@ +#ifndef POI_UV_DISTORTION + #define POI_UV_DISTORTION + + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture); float4 _DistortionFlowTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_DistortionFlowTexture1); float4 _DistortionFlowTexture1_ST; + POI_TEXTURE_NOSAMPLER(_DistortionMask); + + float _DistortionStrength; + float _DistortionStrength1; + float2 _DistortionSpeed; + float2 _DistortionSpeed1; + + float2 getTorusUv(float2 uv) + { + // translated to hlsl from https://www.shadertoy.com/view/Md3Bz7 + // http://web.cs.ucdavis.edu/~amenta/s12/findnorm.pdf + float phi = 6.28318530718f * uv.x; + float theta = 6.28318530718f * uv.y; + float3 c = cos(float3(phi, phi + 1.57079632679f, theta)); + float2 result = float2(c.x * c.z, -c.y * c.z); + return result * 0.5 + 0.5; + } + + float2 calculateDistortionUV(float2 uv) + { + half distortionMask = POI2D_SAMPLER_PAN(_DistortionMask, _MainTex, poiMesh.uv[float(0)], float4(0,0,0,0)).r; + float4 flowVector = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + float4 flowVector1 = UNITY_SAMPLE_TEX2D_SAMPLER(_DistortionFlowTexture1, _MainTex, TRANSFORM_TEX(poiMesh.uv[0], _DistortionFlowTexture1) + _Time.x * float4(0.5,0.5,0,0)) * 2 - 1; + flowVector *= float(0.5); + flowVector1 *= float(0.5); + return uv + ((flowVector.xy + flowVector1.xy) / 2) * distortionMask; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta new file mode 100644 index 00000000..7179f3b3 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiUVDistortion.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6627da1839c8f144f97e5763c27a6f19 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc new file mode 100644 index 00000000..0e29a179 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc @@ -0,0 +1,34 @@ +#ifndef POI_V2F + #define POI_V2F + + struct v2f + { + float4 pos: SV_POSITION; + float4 uv0: TEXCOORD0; + float4 uv1: TEXCOORD1; + float3 normal: TEXCOORD2; + float3 tangentViewDir: TEXCOORD3; + float4 tangent: TEXCOORD4; + float4 worldPos: TEXCOORD5; + float4 localPos: TEXCOORD6; + float4 grabPos: TEXCOORD7; + float3 barycentricCoordinates: TEXCOORD8; + #if defined(GRAIN) + float4 worldDirection: TEXCOORD9; + #endif + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV: TEXCOORD10; + #endif + float3 modelPos: TEXCOORD11; + float angleAlpha: TEXCOORD12; + float4 vertexColor: TEXCOORD14; + #ifdef FUR + float furAlpha: TEXCOORD15; + #endif + UNITY_SHADOW_COORDS(16) + UNITY_FOG_COORDS(17) + UNITY_VERTEX_INPUT_INSTANCE_ID + UNITY_VERTEX_OUTPUT_STEREO + }; + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta new file mode 100644 index 00000000..f1a3c0ba --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiV2F.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4154797740c499b46bedce375300f649 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc new file mode 100644 index 00000000..1558e937 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc @@ -0,0 +1,126 @@ +#ifndef POI_VERT + #define POI_VERT + + float _VertexManipulationHeightUV; + float _VertexUnwrap; + + #define PM UNITY_MATRIX_P + + inline float4 CalculateFrustumCorrection() + { + float x1 = -PM._31 / (PM._11 * PM._34); + float x2 = -PM._32 / (PM._22 * PM._34); + return float4(x1, x2, 0, PM._33 / PM._34 + x1 * PM._13 + x2 * PM._23); + } + + v2f vert(appdata v) + { + UNITY_SETUP_INSTANCE_ID(v); + v2f o; + #ifdef _COLOROVERLAY_ON + v.vertex.xyz = lerp(v.vertex.xyz, float3(v.uv0.x - .5, v.uv0.y - .5, 0), float(0)); + #endif + #ifdef AUTO_EXPOSURE + applyLocalVertexTransformation(v.normal, v.tangent, v.vertex); + #endif + + UNITY_INITIALIZE_OUTPUT(v2f, o); + UNITY_TRANSFER_INSTANCE_ID(v, o); + UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o); + + #ifdef _REQUIRE_UV2 //POI_MIRROR + applyMirrorRenderVert(v.vertex); + #endif + + TANGENT_SPACE_ROTATION; + o.localPos = v.vertex; + o.worldPos = mul(unity_ObjectToWorld, o.localPos); + o.normal = UnityObjectToWorldNormal(v.normal); + //o.localPos.x *= -1; + //o.localPos.xz += sin(o.localPos.y * 100 + _Time.y * 5) * .0025; + + float2 uvToUse = 0; + + if (float(0) == 0) + { + uvToUse = v.uv0.xy; + } + + if(float(0) == 1) + { + uvToUse = v.uv1.xy; + } + + if(float(0) == 2) + { + uvToUse = v.uv2.xy; + } + + if(float(0) == 3) + { + uvToUse = v.uv3.xy; + } + #ifdef AUTO_EXPOSURE + applyWorldVertexTransformation(o.worldPos, o.localPos, o.normal, uvToUse); + #endif + applyVertexGlitching(o.worldPos, o.localPos); + applySpawnInVert(o.worldPos, o.localPos, v.uv0.xy); + #ifdef AUTO_EXPOSURE + applyVertexRounding(o.worldPos, o.localPos); + #endif + o.pos = UnityObjectToClipPos(o.localPos); + o.grabPos = ComputeGrabScreenPos(o.pos); + o.uv0.xy = v.uv0.xy; + o.uv0.zw = v.uv1.xy; + o.uv1.xy = v.uv2.xy; + o.uv1.zw = v.uv3.xy; + o.vertexColor = v.color; + o.modelPos = mul(unity_ObjectToWorld, float4(0, 0, 0, 1)); + o.tangent = float4(UnityObjectToWorldDir(v.tangent.xyz), v.tangent.w); + + #ifdef POI_BULGE + bulgyWolgy(o); + #endif + + + o.angleAlpha = 1; + #ifdef _SUNDISK_NONE //POI_RANDOM + o.angleAlpha = ApplyAngleBasedRendering(o.modelPos, o.worldPos); + #endif + + #if defined(LIGHTMAP_ON) + o.lightmapUV.xy = v.uv1.xy * unity_LightmapST.xy + unity_LightmapST.zw; + #endif + #ifdef DYNAMICLIGHTMAP_ON + o.lightmapUV.zw = v.uv2.xy * unity_DynamicLightmapST.xy + unity_DynamicLightmapST.zw; + #endif + + UNITY_TRANSFER_SHADOW(o, o.uv0.xy); + UNITY_TRANSFER_FOG(o, o.pos); + + #if defined(_PARALLAXMAP) // POI_PARALLAX + v.tangent.xyz = normalize(v.tangent.xyz); + v.normal = normalize(v.normal); + float3x3 objectToTangent = float3x3( + v.tangent.xyz, + cross(v.normal, v.tangent.xyz) * v.tangent.w, + v.normal + ); + o.tangentViewDir = mul(objectToTangent, ObjSpaceViewDir(v.vertex)); + #endif + + #ifdef POI_META_PASS + o.pos = UnityMetaVertexPosition(v.vertex, v.uv1.xy, v.uv2.xy, unity_LightmapST, unity_DynamicLightmapST); + #endif + + #if defined(GRAIN) + float4 worldDirection; + + worldDirection.xyz = o.worldPos.xyz - _WorldSpaceCameraPos; + worldDirection.w = dot(o.pos, CalculateFrustumCorrection()); + o.worldDirection = worldDirection; + #endif + + return o; + } +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta new file mode 100644 index 00000000..ee2e4369 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVert.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 950e84a1abc6ff44d8626c753df2d78e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc new file mode 100644 index 00000000..94c16148 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc @@ -0,0 +1,93 @@ +#ifndef POI_VERTEX_MANIPULATION + #define POI_VERTEX_MANIPULATION + + #include "CGI_PoiMath.cginc" + + float4 _VertexManipulationLocalTranslation; + float4 _VertexManipulationLocalRotation; + float4 _VertexManipulationLocalScale; + float4 _VertexManipulationWorldTranslation; + + float _VertexManipulationHeight; + float _VertexManipulationHeightBias; + sampler2D _VertexManipulationHeightMask; float4 _VertexManipulationHeightMask_ST; + float2 _VertexManipulationHeightPan; + + + //Vertex Glitching + float _EnableVertexGlitch; + sampler2D _VertexGlitchMap; float4 _VertexGlitchMap_ST; + float _VertexGlitchThreshold; + float _VertexGlitchFrequency; + float _VertexGlitchStrength; + // Rounding + float _VertexRoundingDivision; + float _VertexRoundingEnabled; + + void applyLocalVertexTransformation(inout float3 normal, inout float4 tangent, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + tangent.xyz = rotate_with_quaternion(tangent.xyz, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyLocalVertexTransformation(inout float3 normal, inout float4 vertex) + { + normal = rotate_with_quaternion(normal, float4(0,0,0,1)); + vertex = transform(vertex, float4(0,0,0,1), float4(0,0,0,1), float4(1,1,1,1)); + + //vertex = float4(vertex.x + sin(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), vertex.y, vertex.z + cos(_Time.y*1.5 + vertex.y * 50) * .75 * smoothstep( .3, -1, vertex.y), 1); + } + + void applyWorldVertexTransformation(inout float4 worldPos, inout float4 localPos, inout float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyWorldVertexTransformationShadow(inout float4 worldPos, inout float4 localPos, float3 worldNormal, float2 uv) + { + float3 heightOffset = (tex2Dlod(_VertexManipulationHeightMask, float4(TRANSFORM_TEX(uv, _VertexManipulationHeightMask) + float4(0,0,0,0) * _Time.x, 0, 0)).r - float(0)) * float(0) * worldNormal; + worldPos.rgb += float4(0,0,0,1).xyz * float4(0,0,0,1).w + heightOffset; + localPos.xyz = mul(unity_WorldToObject, worldPos); + } + + void applyVertexRounding(inout float4 worldPos, inout float4 localPos) + { + + if (float(0)) + { + worldPos.xyz = (ceil(worldPos * float(500)) / float(500)) - 1 / float(500) * .5; + localPos = mul(unity_WorldToObject, worldPos); + } + } + + void applyVertexGlitching(inout float4 worldPos, inout float4 localPos) + { + + if(_EnableVertexGlitch) + { + float3 forward = getCameraPosition() - mul(unity_ObjectToWorld, float4(0, 0, 0, 1)).xyz; + forward.y = 0; + forward = normalize(forward); + float3 glitchDirection = normalize(cross(float3(0, 1, 0), forward)); + float glitchAmount = frac(sin(dot(_Time.xy + worldPos.y, float2(12.9898, 78.233))) * 43758.5453123) * 2 - 1; + /* + float uvl = worldPos.y * _VertexGlitchDensity + _Time.x * _VertexGlitchMapPanSpeed; + float uvr = worldPos.y * _VertexGlitchDensity - _Time.x * _VertexGlitchMapPanSpeed; + float glitchAmountLeft = tex2Dlod(_VertexGlitchMap, float4(uvl, uvl, 0, 0)).r; + float glitchAmountRight = -tex2Dlod(_VertexGlitchMap, float4(uvr, uvr, 0, 0)).r; + float glitchAmount = glitchAmountLeft + glitchAmountRight; + */ + float time = _Time.y * _VertexGlitchFrequency; + float randomGlitch = (sin(time) + sin(2.2 * time + 5.52) + sin(2.9 * time + 0.93) + sin(4.6 * time + 8.94)) / 4; + worldPos.xyz += glitchAmount * glitchDirection * (_VertexGlitchStrength * .01) * step(_VertexGlitchThreshold, randomGlitch); + localPos = mul(unity_WorldToObject, worldPos); + } + } + +#endif +// diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta new file mode 100644 index 00000000..b8bd6d39 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVertexManipulations.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 14ddac96524381649a236dfa9cebf01b +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc new file mode 100644 index 00000000..ec2d37e4 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc @@ -0,0 +1,266 @@ +#ifndef POI_VIDEO + #define POI_VIDEO + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoPixelTexture); float4 _VideoPixelTexture_ST; + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoMaskTexture); float4 _VideoMaskTexture_ST; + + float _VideoUVNumber; + float _VideoType; + float3 pixels; + float2 _VideoResolution; + sampler2D _VideoGameboyRamp; + half _VideoBacklight; + half _VideoCRTRefreshRate; + half _VideoCRTPixelEnergizedTime; + half _VideoEnableVideoPlayer; + half _VideoRepeatVideoTexture; + half _VideoPixelateToResolution; + float2 _VideoMaskPanning; + // Video Settings + half _VideoSaturation; + half _VideoContrast; + float2 _VideoTiling; + float2 _VideoOffset; + float2 _VideoPanning; + //Debug + half _VideoEnableDebug; + + UNITY_DECLARE_TEX2D_NOSAMPLER(_VideoDebugTexture); float4 _VideoDebugTexture_ST; + + + sampler2D _VRChat_VideoPlayer; + float4 _VRChat_VideoPlayer_TexelSize; + + float4 globalVideoPlayerColor; + float3 globalColorToDisplayOnScreen; + float globalVideoOn; + + float3 applyBacklight(float3 albedo, half backlightStrength) + { + return max(backlightStrength, albedo.rgb); + } + + float3 applyViewAngleTN(float3 albedo) + { + float3 reflectionVector = normalize(reflect(poiCam.viewDir.rgb, poiMesh.normals[1].rgb)); + float upwardShift = dot(reflectionVector, poiMesh.binormal); + upwardShift = pow(upwardShift, 1); + float sideShift = dot(reflectionVector, poiMesh.tangent); + sideShift *= pow(sideShift, 3); + #if !UNITY_COLORSPACE_GAMMA + albedo = LinearToGammaSpace(albedo); + #endif + albedo = saturate(lerp(half3(0.5, 0.5, 0.5), albedo, upwardShift + 1)); + #if !UNITY_COLORSPACE_GAMMA + albedo = GammaToLinearSpace(albedo); + #endif + albedo = (lerp(albedo, albedo.gbr, sideShift)); + return albedo; + } + + float calculateCRTPixelBrightness() + { + float totalPixels = _VideoResolution.x * _VideoResolution.y; + float2 uvPixel = float2((floor((1 - poiMesh.uv[_VideoUVNumber].y) * _VideoResolution.y)) / _VideoResolution.y, (floor(poiMesh.uv[_VideoUVNumber].x * _VideoResolution.x)) / _VideoResolution.x); + float currentPixelNumber = _VideoResolution.x * (_VideoResolution.y * uvPixel.x) + _VideoResolution.y * uvPixel.y; + float currentPixelAlpha = currentPixelNumber / totalPixels; + half electronBeamAlpha = frac(_Time.y * _VideoCRTRefreshRate); + float electronBeamPixelNumber = totalPixels * electronBeamAlpha; + + float DistanceInPixelsFromCurrentElectronBeamPixel = 0; + if (electronBeamPixelNumber >= currentPixelNumber) + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber - currentPixelNumber; + } + else + { + DistanceInPixelsFromCurrentElectronBeamPixel = electronBeamPixelNumber + (totalPixels - currentPixelNumber); + } + float CRTFrameTime = 1 / _VideoCRTRefreshRate; + float timeSincecurrentPixelWasHitByElectronBeam = (DistanceInPixelsFromCurrentElectronBeamPixel / totalPixels); + + return saturate(_VideoCRTPixelEnergizedTime - timeSincecurrentPixelWasHitByElectronBeam); + } + + void applyContrastSettings(inout float3 pixel) + { + #if !UNITY_COLORSPACE_GAMMA + pixel = LinearToGammaSpace(pixel); + #endif + pixel = saturate(lerp(half3(0.5, 0.5, 0.5), pixel, _VideoContrast + 1)); + #if !UNITY_COLORSPACE_GAMMA + pixel = GammaToLinearSpace(pixel); + #endif + } + + void applySaturationSettings(inout float3 pixel) + { + pixel = lerp(pixel.rgb, dot(pixel.rgb, float3(0.3, 0.59, 0.11)), -_VideoSaturation); + } + + void applyVideoSettings(inout float3 pixel) + { + applySaturationSettings(pixel); + applyContrastSettings(pixel); + } + + void calculateLCD(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateTN(inout float4 albedo) + { + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + globalColorToDisplayOnScreen = applyBacklight(globalColorToDisplayOnScreen, _VideoBacklight * .01); + globalColorToDisplayOnScreen = applyViewAngleTN(globalColorToDisplayOnScreen); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateCRT(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + float brightness = calculateCRTPixelBrightness(); + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * brightness * _VideoBacklight; + } + void calculateOLED(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + albedo.rgb = globalColorToDisplayOnScreen * pixels * _VideoBacklight; + } + void calculateGameboy(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + half brightness = saturate((globalColorToDisplayOnScreen.r + globalColorToDisplayOnScreen.g + globalColorToDisplayOnScreen.b) * .3333333); + albedo.rgb = tex2D(_VideoGameboyRamp, brightness); + } + void calculateProjector(inout float4 albedo) + { + + if(_VideoEnableVideoPlayer == 0) + { + globalColorToDisplayOnScreen = albedo; + } + applyVideoSettings(globalColorToDisplayOnScreen); + + float3 projectorColor = albedo * globalColorToDisplayOnScreen * _VideoBacklight; + albedo.r = clamp(projectorColor.r, albedo.r, 1000); + albedo.g = clamp(projectorColor.g, albedo.g, 1000); + albedo.b = clamp(projectorColor.b, albedo.b, 1000); + } + + void applyScreenEffect(inout float4 albedo, inout float3 videoEmission) + { + float4 albedoBeforeScreen = albedo; + + pixels = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoPixelTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoPixelTexture) * _VideoResolution); + globalVideoOn = 0; + + if(_VideoEnableVideoPlayer == 1) + { + float4 videoTexture = 0; + + if(_VideoPixelateToResolution) + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, round(TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoResolution + .5) / _VideoResolution); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, round(poiMesh.uv[_VideoUVNumber] * _VideoResolution + .5) / _VideoResolution); + } + } + else + { + + if(_VideoEnableDebug) + { + videoTexture = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoDebugTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoDebugTexture) * _VideoTiling + _VideoOffset); + } + else + { + videoTexture = tex2D(_VRChat_VideoPlayer, ((poiMesh.uv[_VideoUVNumber] + _Time.x * _VideoPanning) * _VideoTiling) + _VideoOffset); + } + } + if(videoTexture.a == 1) + { + globalColorToDisplayOnScreen = videoTexture.rgb; + globalVideoOn = 1; + } + } + + + if(_VideoRepeatVideoTexture == 1) + { + if(poiMesh.uv[_VideoUVNumber].x > 1 || poiMesh.uv[_VideoUVNumber].x < 0 || poiMesh.uv[_VideoUVNumber].y > 1 || poiMesh.uv[_VideoUVNumber].y < 0) + { + return; + } + } + + switch(_VideoType) + { + case 0: // LCD + { + calculateLCD(albedo); + break; + } + case 1: // TN + { + calculateTN(albedo); + break; + } + case 2: // CRT + { + calculateCRT(albedo); + break; + } + case 3: // OLED + { + calculateOLED(albedo); + break; + } + case 4: // Gameboy + { + calculateGameboy(albedo); + break; + } + case 5: // Projector + { + calculateProjector(albedo); + break; + } + } + + float screenMask = UNITY_SAMPLE_TEX2D_SAMPLER(_VideoMaskTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_VideoUVNumber], _VideoMaskTexture) + _Time.x * _VideoMaskPanning); + albedo = lerp(albedoBeforeScreen, albedo, screenMask); + videoEmission = max(albedo.rgb * screenMask - 1, 0); + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta new file mode 100644 index 00000000..ff887472 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVideo.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 8f9475923020e984db41bc7940498043 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc new file mode 100644 index 00000000..db3d3130 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc @@ -0,0 +1,304 @@ +#ifndef POI_VORONOI + #define POI_VORONOI + + #include "CGI_PoiRNG.cginc" + + float _VoronoiSpace; + float _VoronoiBlend; + float _VoronoiType; + float4 _VoronoiColor0; + float _VoronoiEmission0; + float4 _VoronoiColor1; + float _VoronoiEmission1; + float2 _VoronoiGradient; + float _VoronoiScale; + float3 _VoronoiSpeed; + float _VoronoiEnableRandomCellColor; + float2 _VoronoiRandomMinMaxSaturation; + float2 _VoronoiRandomMinMaxBrightness; + float3 randomPoint; + float _VoronoiEffectsMaterialAlpha; + + POI_TEXTURE_NOSAMPLER(_VoronoiMask); + POI_TEXTURE_NOSAMPLER(_VoronoiNoise); + float _VoronoiNoiseIntensity; + + float2 inoise(float3 P, float jitter) + { + float3 Pi = mod(floor(P), 289.0); + float3 Pf = frac(P); + float3 oi = float3(-1.0, 0.0, 1.0); + float3 of = float3(-0.5, 0.5, 1.5); + float3 px = Permutation(Pi.x + oi); + float3 py = Permutation(Pi.y + oi); + + float3 p, ox, oy, oz, dx, dy, dz; + float2 F = 1e6; + + for (int i = 0; i < 3; i ++) + { + for (int j = 0; j < 3; j ++) + { + p = Permutation(px[i] + py[j] + Pi.z + oi); // pij1, pij2, pij3 + + ox = frac(p * K) - Ko; + oy = mod(floor(p * K), 7.0) * K - Ko; + + p = Permutation(p); + + oz = frac(p * K) - Ko; + + dx = Pf.x - of[i] + jitter * ox; + dy = Pf.y - of[j] + jitter * oy; + dz = Pf.z - of + jitter * oz; + + float3 d = dx * dx + dy * dy + dz * dz; // dij1, dij2 and dij3, squared + + //Find lowest and second lowest distances + for (int n = 0; n < 3; n ++) + { + if (d[n] < F[0]) + { + F[1] = F[0]; + F[0] = d[n]; + randomPoint = p; + } + else if(d[n] < F[1]) + { + F[1] = d[n]; + } + } + } + } + + return F; + } + + float voronoi2D(in float2 x, float scale, float2 speed) + { + x *= scale; + x += speed * _Time.x; + float2 n = floor(x); + float2 f = frac(x); + + // first pass: regular voronoi + float2 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + float2 g = float2(float(i), float(j)); + float2 o = random2(n + g); + float2 currentPoint = o; + + float2 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint.xy = currentPoint; + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + float2 g = mg + float2(float(q), float(r)); + float2 o = random2(n + g); + + float2 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + return md; + } + + float voronoi3D(in float3 x, float scale, float3 speed) + { + x *= scale; + x += speed * _Time.x; + float3 n = floor(x); + float3 f = frac(x); + + // first pass: regular voronoi + float3 mg, mr; + float md = 8.0; + for (int j = -1; j <= 1; j ++) + { + for (int i = -1; i <= 1; i ++) + { + for (int h = -1; h <= 1; h ++) + { + float3 g = float3(float(h), float(i), float(j)); + float3 o = random3(n + g); + float3 currentPoint = o; + + float3 r = g + o - f; + float d = dot(r, r); + + if (d < md) + { + md = d; + mr = r; + mg = g; + randomPoint = currentPoint; + } + } + } + } + + // second pass: distance to borders + md = 8.0; + for (int r = -2; r <= 2; r ++) + { + for (int q = -2; q <= 2; q ++) + { + for (int p = -2; p <= 2; p ++) + { + float3 g = mg + float3(float(p), float(q), float(r)); + float3 o = random3(n + g); + + float3 r = g + o - f; + + if (dot(mr - r, mr - r) > 0.00001) + { + md = min(md, dot(0.5 * (mr + r), normalize(r - mr))); + } + } + } + } + return md; + } + + + + // fracal sum, range -1.0 - 1.0 + float VoronoiNoise_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + float VoronoiNoiseDiff_Octaves(float3 p, float scale, float3 speed, int octaveNumber, float octaveScale, float octaveAttenuation, float jitter, float time) + { + float freq = scale; + float weight = 1.0f; + float sum = 0; + for (int i = 0; i < octaveNumber; i ++) + { + float2 F = inoise(p * freq + time * speed, jitter) * weight; + + sum += sqrt(F[1]) - sqrt(F[0]); + + freq *= octaveScale; + weight *= 1.0f - octaveAttenuation; + } + return sum; + } + + void applyVoronoi(inout float4 finalColor, inout float3 VoronoiEmission) + { + float voronoiOctaveNumber = 1; + float voronoiOctaveScale = 1; + float voronoiOctaveAttenuation = 1; + randomPoint = 0; + float4 voronoiColor1 = _VoronoiColor1; + + float voronoi = 0; + + float3 position = 0; + + + if (_VoronoiSpace == 0) + { + position = poiMesh.localPos; + } + + if(_VoronoiSpace == 1) + { + position = poiMesh.worldPos; + } + + if(_VoronoiSpace == 2) + { + position = float3(poiMesh.uv[0].x, poiMesh.uv[0].y, 0); + } + + float mask = POI2D_SAMPLER_PAN(_VoronoiMask, _MainTex, poiMesh.uv[_VoronoiMaskUV], _VoronoiMaskPan).r; + float edgeNoise = POI2D_SAMPLER_PAN(_VoronoiNoise, _MainTex, poiMesh.uv[_VoronoiNoiseUV], _VoronoiNoisePan).r * _VoronoiNoiseIntensity; + + + if(_VoronoiType == 0) // Basic + { + voronoi = voronoi2D(position.xy, _VoronoiScale, _VoronoiSpeed); + } + + if (_VoronoiType == 1) // Diff + { + voronoi = VoronoiNoiseDiff_Octaves(position, _VoronoiScale, _VoronoiSpeed, voronoiOctaveNumber, voronoiOctaveScale, voronoiOctaveAttenuation, 1, _Time.x); + } + + if (_VoronoiType == 2) // Fixed Border + { + voronoi = voronoi3D(position, _VoronoiScale, _VoronoiSpeed); + // isolines + //color = c.x * (0.5 + 0.5 * sin(64.0 * c.x)) * 1.0; + } + + if (_VoronoiEnableRandomCellColor == 1) + { + float3 rando = random3(randomPoint); + fixed hue = rando.x; + fixed saturation = lerp(_VoronoiRandomMinMaxSaturation.x, _VoronoiRandomMinMaxSaturation.y, rando.y); + fixed value = lerp(_VoronoiRandomMinMaxBrightness.x, _VoronoiRandomMinMaxBrightness.y, rando.z); + float3 hsv = float3(hue, saturation, value); + + voronoiColor1.rgb = HSVtoRGB(hsv); + } + + float2 voronoiGradient = _VoronoiGradient; + voronoiGradient.xy += edgeNoise; + float ramp = smoothstep(voronoiGradient.x, voronoiGradient.y, voronoi); + + + if(_VoronoiBlend == 0) + { + float4 voronoiColor = lerp(_VoronoiColor0, voronoiColor1, ramp); + + if(_VoronoiEffectsMaterialAlpha) + { + finalColor.rgba = lerp(finalColor, voronoiColor, mask); + } + else + { + finalColor.rgb = lerp(finalColor.rgb, voronoiColor.rgb, mask * voronoiColor.a); + } + } + float4 voronoiEmissionColor = lerp(_VoronoiColor0 * _VoronoiEmission0, voronoiColor1 * _VoronoiEmission1, ramp); + VoronoiEmission = voronoiEmissionColor.rgb * mask * voronoiEmissionColor.a; + } + +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta new file mode 100644 index 00000000..9116736c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiVoronoi.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4aac58ead4e84b746bbe8bf3e2187b9e +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc new file mode 100644 index 00000000..49c602c0 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc @@ -0,0 +1,111 @@ +#ifndef POI_WIREFRAME + #define POI_WIREFRAME + + UNITY_DECLARE_TEX2D_NOSAMPLER(_WireframeTexture); float4 _WireframeTexture_ST; + float2 _WireframeTexturePan; + float _WireframeSmoothing; + float _WireframeThickness; + float4 _WireframeColor; + float _WireframeAlpha; + float _WireframeEnable; + float _WireframeWaveEnabled; + float _WireframeWaveDensity; + float _WireframeWaveSpeed; + float _WireframeEdgeOpacity; + float _WireframeFaceOpacity; + half _WireframeEmissionAlpha; + float _WireframeEmissionStrength; + float _WireframeQuad; + float _WireframeUV; + + #ifndef POI_SHADOW + void applyWireframe(inout float3 wireframeEmission, inout float4 albedo) + { + + if (_WireframeEnable) + { + float4 colorMap = UNITY_SAMPLE_TEX2D_SAMPLER(_WireframeTexture, _MainTex, TRANSFORM_TEX(poiMesh.uv[_WireframeUV], _WireframeTexture) + _Time.x * _WireframeTexturePan); + float size = _WireframeThickness; + half3 width = abs(ddx(poiMesh.barycentricCoordinates)) + abs(ddy(poiMesh.barycentricCoordinates)); + half3 eF = smoothstep(0, width * size, poiMesh.barycentricCoordinates); + half minBary = size > 0 ? min(min(eF.x, eF.y), eF.z): 1; + + float4 wireframeColor = _WireframeColor * colorMap; + + albedo.a *= lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + albedo.rgb = lerp(lerp(albedo.rgb, wireframeColor.rgb, wireframeColor.a), albedo.rgb, minBary); + wireframeEmission = wireframeColor.rgb * _WireframeEmissionStrength * (1 - minBary) * _WireframeColor.a; + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle v2f IN[3], inout TriangleStream < v2f > tristream) + { + + if(_WireframeQuad) + { + float e1 = length(IN[0].localPos - IN[1].localPos); + float e2 = length(IN[1].localPos - IN[2].localPos); + float e3 = length(IN[2].localPos - IN[0].localPos); + + float3 quad = 0; + if(e1 > e2 && e1 > e3) + quad.y = 1.; + else if(e2 > e3 && e2 > e1) + quad.x = 1; + else + quad.z = 1; + + IN[0].barycentricCoordinates = fixed3(1, 0, 0) + quad; + IN[1].barycentricCoordinates = fixed3(0, 0, 1) + quad; + IN[2].barycentricCoordinates = fixed3(0, 1, 0) + quad; + } + else + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + } + + + + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #else + + float applyShadowWireframe(float2 uv, float3 barycentricCoordinates, float3 normal, float3 worldPos) + { + + if(_WireframeEnable) + { + float wireframeFadeAlpha = _WireframeAlpha; + float3 finalWireframeColor = 0; + + float3 barys; + barys.xy = barycentricCoordinates; + barys.z = 1 - barys.x - barys.y; + float3 deltas = fwidth(barys); + float3 smoothing = deltas * _WireframeSmoothing; + float wireframeThickness = _WireframeThickness; + float3 thickness = deltas * wireframeThickness; + barys = smoothstep(thickness, thickness + smoothing, barys); + float minBary = min(barys.x, min(barys.y, barys.z)); + + return lerp(_WireframeEdgeOpacity, _WireframeFaceOpacity, minBary); + } + } + + [maxvertexcount(3)] + void wireframeGeom(triangle V2FShadow IN[3], inout TriangleStream < V2FShadow > tristream) + { + IN[0].barycentricCoordinates = fixed3(1, 0, 0); + IN[1].barycentricCoordinates = fixed3(0, 1, 0); + IN[2].barycentricCoordinates = fixed3(0, 0, 1); + tristream.Append(IN[0]); + tristream.Append(IN[1]); + tristream.Append(IN[2]); + } + #endif +#endif diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta new file mode 100644 index 00000000..ea75bd06 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_PoiWireframe.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: ebc01662601a3164f9dcc4b23dd0262f +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc new file mode 100644 index 00000000..319de57c --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc @@ -0,0 +1,171 @@ +#ifndef POICLUDES + #define POICLUDES + + UNITY_DECLARE_TEX2D(_MainTex); float4 _MainTex_ST; float4 _MainTex_TexelSize; + sampler2D _PoiGrab; + sampler2D _CameraDepthTexture; + float _Cutoff; + float _AlphaMod; + + //Structs + struct appdata + { + float4 vertex: POSITION; + float3 normal: NORMAL; + float4 tangent: TANGENT; + float4 color: COLOR; + float2 uv0: TEXCOORD0; + float2 uv1: TEXCOORD1; + float2 uv2: TEXCOORD2; + float2 uv3: TEXCOORD3; + UNITY_VERTEX_INPUT_INSTANCE_ID + }; + + #ifdef OUTLINE + float _LineWidth; + float _OutlineEmission; + float4 _LineColor; + sampler2D _OutlineTexture; float4 _OutlineTexture_ST; float2 _OutlineTexturePan; float _OutlineTextureUV; + float4 _OutlineFadeDistance; + float4 _OutlineGlobalPan; + #endif + + struct PoiLighting + { + half3 direction; + half3 color; + fixed attenuation; + #ifdef FORWARD_ADD_PASS + fixed additiveShadow; + #endif + half3 directLighting; + half3 indirectLighting; + half lightMap; + half3 rampedLightMap; + half3 finalLighting; + half3 halfDir; + half nDotL; + half nDotH; + half lDotv; + half lDotH; + half nDotV; + half N0DotV; + half diffuseTerm; + + // World normal dot half direction + #ifdef POI_VAR_DOTNH + half dotNH; + #endif + + // Light direction dot half direction + #ifdef POI_VAR_DOTLH + half dotLH; + #endif + + #ifdef VERTEXLIGHT_ON + // Non Important Lights + float4 vDotNL; + float3 vColor[4]; + float4 vCorrectedDotNL; + float4 vAttenuation; + float4 vAttenuationDotNL; + float3 vPosition[4]; + float3 vDirection[4]; + float3 vFinalLighting; + float3 vHalfDir[4]; + + #ifdef POI_VAR_DOTLH + half4 vDotLH; + #endif + + #ifdef POI_VAR_DOTNH + half4 vDotNH; + #endif + + #endif + }; + + struct PoiCamera + { + half3 viewDir; + half3 tangentViewDir; + half3 forwardDir; + half3 worldPos; + float viewDotNormal; + float distanceToModel; + float distanceToVert; + float3 reflectionDir; + float3 vertexReflectionDir; + float2 screenUV; + float4 clipPos; + #if defined(GRAIN) + float4 worldDirection; + #endif + float4 grabPos; + }; + + struct PoiMesh + { + float3 normals[2]; + float3 tangent; + float3 binormal; + float3 localPos; + float3 worldPos; + float3 modelPos; + float3 tangentSpaceNormal; + float2 uv[5]; + float4 vertexColor; + fixed3 barycentricCoordinates; + #if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + float4 lightmapUV; + #endif + float isFrontFace; + #ifdef FUR + float furAlpha; + #endif + }; + + struct PoiTangentData + { + float3x3 tangentTransform; + float3x3 tangentToWorld; + }; + + struct FragmentCommonData + { + half3 diffColor, specColor; + // Note: smoothness & oneMinusReflectivity for optimization purposes, mostly for DX9 SM2.0 level. + // Most of the math is being done on these (1-x) values, and that saves a few precious ALU slots. + half oneMinusReflectivity, smoothness; + float3 normalWorld; + float3 eyeVec; + half alpha; + float3 posWorld; + + #if UNITY_STANDARD_SIMPLE + half3 reflUVW; + #endif + + #if UNITY_STANDARD_SIMPLE + half3 tangentSpaceNormal; + #endif + }; + + struct Debug + { + float debug1; + float2 debug2; + float3 debug3; + float4 debug4; + }; + + static Debug debug; + static PoiLighting poiLight; + static PoiCamera poiCam; + static PoiMesh poiMesh; + static UnityGI gi; + static FragmentCommonData s; + static PoiTangentData poiTData; + +#endif + diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta new file mode 100644 index 00000000..ded48f75 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Includes/CGI_Poicludes.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 4f25f5129cd6ad5448f7a83719beb980 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta new file mode 100644 index 00000000..4dab0c04 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c78ce67be86e7f64d993b10845ec9987 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader new file mode 100644 index 00000000..28ceade7 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader @@ -0,0 +1,7648 @@ +Shader "Hidden/.poiyomi/• Poiyomi Toon •/skin color-654df2de" +{ + Properties + { + [HideInInspector] shader_is_using_thry_editor ("", Float) = 0 + [HideInInspector] shader_master_label ("Poiyomi Toon V7.0.100", Float) = 0 + [HideInInspector] shader_presets ("poiToonPresets", Float) = 0 + [HideInInspector] shader_properties_label_file ("7PlusLabels", Float) = 0 + + [HideInInspector] footer_youtube ("youtube footer button", Float) = 0 + [HideInInspector] footer_twitter ("twitter footer button", Float) = 0 + [HideInInspector] footer_patreon ("patreon footer button", Float) = 0 + [HideInInspector] footer_discord ("discord footer button", Float) = 0 + [HideInInspector] footer_github ("github footer button", Float) = 0 + + // Keyword to remind users in the VRChat SDK that this material hasn't been locked. Inelegant but it works. + [HideInInspector] _ForgotToLockMaterial (";;YOU_FORGOT_TO_LOCK_THIS_MATERIAL;", Int) = 1 + [ThryShaderOptimizerLockButton] _ShaderOptimizerEnabled ("", Int) = 0 + [Helpbox(3)] _LockTooltip ("ALWAYS LOCK IN BEFORE UPLOADING. || RIGHT CLICK A PROPERTY IF YOU WANT TO ANIMATE IT.", Int) = 0 + + [ThryWideEnum(Opaque, 0, Cutout, 1, TransClipping, 9, Fade, 2, Transparent, 3, Additive, 4, Soft Additive, 5, Multiplicative, 6, 2x Multiplicative, 7, Multiplicative Grab Pass, 8)]_Mode("Rendering Preset--{on_value_actions:[ + {value:0,actions:[{type:SET_PROPERTY,data:render_queue=2000}, {type:SET_PROPERTY,data:render_type=Opaque}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:1,actions:[{type:SET_PROPERTY,data:render_queue=2450}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=.5}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=1}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:9,actions:[{type:SET_PROPERTY,data:render_queue=2451}, {type:SET_PROPERTY,data:render_type=TransparentCutout}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=1}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:2,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=5}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:3,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=10}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=1}]}, + {value:4,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=1}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:5,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:RenderType=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=4}, {type:SET_PROPERTY,data:_DstBlend=1}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:6,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=0}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]}, + {value:7,actions:[{type:SET_PROPERTY,data:render_queue=3000}, {type:SET_PROPERTY,data:render_type=Transparent}, {type:SET_PROPERTY,data:_BlendOp=0}, {type:SET_PROPERTY,data:_BlendOpAlpha=0}, {type:SET_PROPERTY,data:_Cutoff=0}, {type:SET_PROPERTY,data:_SrcBlend=2}, {type:SET_PROPERTY,data:_DstBlend=3}, {type:SET_PROPERTY,data:_AlphaToMask=0}, {type:SET_PROPERTY,data:_ZWrite=0}, {type:SET_PROPERTY,data:_ZTest=4}, {type:SET_PROPERTY,data:_AlphaPremultiply=0}]} + }]}]}", Int) = 0 + [HideInInspector] m_LockingInfo ("Locking Info--{button_right:{text:Tutorial,action:{type:URL,data:https://youtu.be/asWeDJb5LAo},hover:YouTube},is_hideable:true}", Float) = 0 + [Helpbox(1)] _HelpBoxLocking ("LOCKING IN THE SHADER WILL DRAMATICALLY INCREASE PERFORMANCE AND DRAMATICALLY LOWER THE FILE SIZE OF AN AVATAR PACKAGE. + + LOCKED IN MATERIALS CANNOT BE ANIMATED WITHOUT SETTING THE SPECIFIC PROPERTY TO DYNAMIC. RIGHT CLICK MATERIAL PROPERTIES YOU WISH TO ANIMATE, A CLOCK ICON WILL APPEAR BESIDE THE PROPERTY SIGNIFYING THAT IT CAN BE ANIMATED. + + FOR MORE INFORMATION ON LOCKING PLEASE WATCH THE LOCKING TUTORIAL IN THE HEADER ABOVE.", Int) = 0 + [Helpbox(2)] _HelpBoxHideLocking ("TO HIDE THIS CATEGORY SELECT CUSTOM UI AT THE TOP AND UNCHECK THE LOCKING INFO CATEGORY", Float) = 0 + // Main + [HideInInspector] m_mainOptions ("Main", Float) = 0 + _Color ("Color & Alpha", Color) = (1, 1, 1, 1) + _MainTex ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_MainTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainTextureUV ("UV", Int) = 0 + _Saturation ("Saturation", Range(-1, 1)) = 0 + _MainEmissionStrength ("Basic Emission", Range(0, 20)) = 0 + [Normal]_BumpMap ("Normal Map", 2D) = "bump" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _BumpMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_BumpMapPan ("Panning", Vector) = (0, 0, 0, 0) + _BumpScale ("Normal Intensity", Range(0, 10)) = 1 + _AlphaMask ("Alpha Map", 2D) = "white" { } + [HideInInspector][Vector2]_AlphaMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AlphaMaskUV ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector] m_start_MainHueShift ("Hue Shift", Float) = 0 + [HideInInspector][Toggle(COLOR_GRADING_HDR)]_MainHueShiftToggle ("Toggle Hueshift", Float) = 0 + [ToggleUI]_MainHueShiftReplace ("Replace?", Float) = 1 + _MainHueShift ("Hue Shift", Range(0, 1)) = 0 + _MainHueShiftSpeed ("Shift Speed", Float) = 0 + _MainHueShiftMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainHueShiftMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainHueShiftMaskUV ("UV", Int) = 0 + [HideInInspector] m_end_MainHueShift ("Hue Shift", Float) = 0 + + // RGB Masking + [HideInInspector] m_start_RGBMask ("RGB Color Masking", Float) = 0 + [HideInInspector][Toggle(VIGNETTE)]_RGBMaskEnabled ("RGB Mask Enabled", Float) = 0 + [ToggleUI]_RGBUseVertexColors ("Use Vertex Colors", Float) = 0 + [ToggleUI]_RGBBlendMultiplicative ("Multiplicative?", Float) = 0 + _RGBMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RGBMaskPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBMaskUV ("UV", int) = 0 + _RedColor ("R Color", Color) = (1, 1, 1, 1) + _RedTexure ("R Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBRedPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBRed_UV ("UV", int) = 0 + _GreenColor ("G Color", Color) = (1, 1, 1, 1) + _GreenTexture ("G Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBGreenPanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBGreen_UV ("UV", int) = 0 + _BlueColor ("B Color", Color) = (1, 1, 1, 1) + _BlueTexture ("B Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RGBBluePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RGBBlue_UV ("UV", int) = 0 + // RGB MASKED NORMALS + [Toggle(GEOM_TYPE_MESH)]_RgbNormalsEnabled ("Enable Normals", Float) = 0 + [ToggleUI]_RGBNormalBlend ("Blend with Base--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Float) = 0 + [Normal]_RgbNormalR ("R Normal--{reference_properties:[_RgbNormalRPan, _RgbNormalRUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalRPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalRUV ("UV", int) = 0 + _RgbNormalRScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalG ("G Normal--{reference_properties:[_RgbNormalGPan, _RgbNormalGUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalGPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalGUV ("UV", int) = 0 + _RgbNormalGScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [Normal]_RgbNormalB ("B Normal--{reference_properties:[_RgbNormalBPan, _RgbNormalBUV],condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", 2D) = "bump" { } + [HideInInspector]_RgbNormalBPan ("Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_RgbNormalBUV ("UV", int) = 0 + _RgbNormalBScale ("Intensity--{condition_show:{type:PROPERTY_BOOL,data:_RgbNormalsEnabled==1}}", Range(0,10)) = 0 + [HideInInspector] m_end_RGBMask ("RGB Color Masking", Float) = 0 + + // Detail Options + [HideInInspector] m_start_DetailOptions ("Details--{reference_property:_DetailEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=9oIcQln9of4&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(FINALPASS)]_DetailEnabled ("Enable", Float) = 0 + _DetailMask ("Detail Mask (R:Texture, G:Normal)", 2D) = "white" { } + [HideInInspector][Vector2]_DetailMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailMaskUV ("UV", Int) = 0 + _DetailTint ("Detail Texture Tint", Color) = (1, 1, 1) + _DetailTex ("Detail Texture", 2D) = "gray" { } + [HideInInspector][Vector2]_DetailTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailTexUV ("UV", Int) = 0 + _DetailTexIntensity ("Detail Tex Intensity", Range(0, 10)) = 1 + _DetailBrightness ("Detail Brightness:", Range(0, 2)) = 1 + [Normal]_DetailNormalMap ("Detail Normal", 2D) = "bump" { } + _DetailNormalMapScale ("Detail Normal Intensity", Range(0, 10)) = 1 + [HideInInspector][Vector2]_DetailNormalMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DetailNormalMapUV ("UV", Int) = 0 + [HideInInspector] m_end_DetailOptions ("Details", Float) = 0 + + // Vertex Colors + [HideInInspector] m_start_MainVertexColors ("Vertex Colors", Float) = 0 + _MainVertexColoring ("Use Vertex Color", Range(0, 1)) = 0 + _MainUseVertexColorAlpha ("Use Vertex Color Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_MainVertexColors ("Vertex Colors", Float) = 0 + + //Vertex Manipulations + [HideInInspector] m_start_vertexManipulation ("Vertex Offset--{reference_property:_VertexManipulationsEnabled, button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=x728WN50JeA&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw},hover:YouTube},is_hideable:true}", Float) = 0 + [HideInInspector][Toggle(AUTO_EXPOSURE)]_VertexManipulationsEnabled ("Enabled", Float) = 0 + [Vector3]_VertexManipulationLocalTranslation ("Local Translation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalRotation ("Local Rotation", Vector) = (0, 0, 0, 1) + [Vector3]_VertexManipulationLocalScale ("Local Scale", Vector) = (1, 1, 1, 1) + [Vector3]_VertexManipulationWorldTranslation ("World Translation", Vector) = (0, 0, 0, 1) + _VertexManipulationHeight ("Vertex Height", Float) = 0 + _VertexManipulationHeightMask ("Height Map", 2D) = "while" { } + [HideInInspector][Vector2]_VertexManipulationHeightPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _VertexManipulationHeightUV ("UV", Int) = 0 + _VertexManipulationHeightBias ("Mask Bias", Range(0, 1)) = 0 + [ToggleUI]_VertexRoundingEnabled ("Rounding Enabled", Float) = 0 + _VertexRoundingDivision ("Division Amount", Float) = 500 + [HideInInspector] m_end_vertexManipulation ("Vertex Offset", Float) = 0 + + // Alpha Options + [HideInInspector] m_start_Alpha ("Alpha Options", Float) = 0 + _Cutoff ("Alpha Cuttoff", Range(0, 1.001)) = 0.5 + [ToggleUI]_DitheringEnabled ("Enable Dithering", Float) = 0 + _DitherGradient ("Dither Gradient", Range(0, 1)) = .1 + [ToggleUI]_ForceOpaque ("Force Opaque", Float) = 0 + _MainShadowClipMod ("Shadow Clip Mod", Range(-1, 1)) = 0 + [Enum(Off, 0, On, 1)] _AlphaToMask ("Alpha To Coverage", Float) = 0 + [ToggleUI]_MainAlphaToCoverage ("Sharpenned A2C--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Float) = 0 + _MainMipScale ("Mip Level Alpha Scale--{condition_show:{type:PROPERTY_BOOL,data:_AlphaToMask==1}}", Range(0, 1)) = 0.25 + [ToggleUI]_AlphaPremultiply ("Alpha Premultiply", Float) = 0 + _AlphaMod ("Alpha Mod", Range(-1, 1)) = 0.0 + [HideInInspector] m_end_Alpha ("Alpha Options", Float) = 0 + + // Decal Texture + [HideInInspector] m_start_DecalSection ("Decal", Float) = 0 + [HideInInspector][Toggle(GEOM_TYPE_BRANCH)]_DecalEnabled ("Enable", Float) = 0 + _DecalColor ("Color", Color) = (1, 1, 1, 1) + _DecalEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _DecalTexture ("Decal", 2D) = "white" { } + [HideInInspector][Vector2]_DecalTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalTextureUV ("UV", Int) = 0 + _DecalMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_DecalMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DecalMaskUV ("UV", Int) = 0 + [ToggleUI]_DecalTiled ("Tiled?", Float) = 0 + [Vector2]_DecalScale ("Scale", Vector) = (1, 1, 0, 0) + [Vector2]_DecalPosition ("Position", Vector) = (.5, .5, 0, 0) + _DecalRotation ("Rotation", Range(0, 360)) = 0 + _DecalRotationSpeed ("Rotation Speed", Float) = 0 + _DecalBlendAdd ("Add", Range(0, 1)) = 0 + _DecalBlendMultiply ("Multiply", Range(0, 1)) = 0 + _DecalBlendReplace ("Replace", Range(0, 1)) = 0 + [HideInInspector] m_end_DecalSection ("Decal", Float) = 0 + + // Back Face Textures and Emission + [HideInInspector] m_start_backFace ("Back Face", Float) = 0 + [ToggleUI]_BackFaceEnabled ("Enable Back Face Options", Float) = 0 + _BackFaceColor ("Color", Color) = (1, 1, 1, 1) + _BackFaceTexture ("Texture", 2D) = "white" { } + [HideInInspector][Vector2]_BackFacePanning ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)]_BackFaceTextureUV ("UV#", Int) = 0 + _BackFaceDetailIntensity ("Detail Intensity", Range(0, 5)) = 1 + _BackFaceHueShift ("Hue Shift", Range(0, 1)) = 0 + _BackFaceEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [HideInInspector] m_end_backFace ("Back Face", Float) = 0 + + // Lighting + [HideInInspector] m_lightingOptions ("Lighting", Float) = 0 + [HideInInspector] m_start_Lighting ("Light and Shadow", Float) = 0 + [Toggle(VIGNETTE_MASKED)]_EnableLighting ("Enable Lighting", Float) = 1 + [Enum(Toon, 0, Realistic, 1)] _LightingMode ("Lighting Type", Int) = 0 + _LightingStandardSmoothness ("Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==1}}", Range(0, 1)) = 0 + [ToggleUI]_LightingShadingEnabled ("Enable Shading--{condition_show:{type:PROPERTY_BOOL,data:_LightingMode==0}}", Float) = 0 + [Enum(Ramp Texture, 0, Math Gradient, 1)] _LightingRampType ("Ramp Type--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Int) = 0 + [Gradient]_ToonRamp ("Lighting Ramp--{texture:{width:512,height:4,filterMode:Bilinear,wrapMode:Clamp},force_texture_options:true,condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", 2D) = "white" { } + _LightingShadowMask ("Ramp Mask--{reference_properties:[_LightingShadowMaskPan, _LightingShadowMaskUV],condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowMaskUV ("UV", Int) = 0 + _ShadowOffset ("Ramp Offset--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==0}}}}", Range(-1, 1)) = 0 + _LightingGradientStart ("Gradient Start--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = 0 + _LightingGradientEnd ("Gradient End--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Range(0, 1)) = .5 + _LightingShadowColor ("Shadow Tint--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Color) = (1, 1, 1, 1) + _ShadowStrength ("Shadow Strength--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 1 + _AttenuationMultiplier ("Unity Shadows--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_LightingMode==1},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Range(0, 1)) = 0 + [ToggleUI]_LightingIgnoreAmbientColor ("Ignore Ambient Color--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + + [HideInInspector] m_start_lightingModifiers ("Lighting Modifiers", Float) = 0 + [Enum(Poi Custom, 0, Correct, 1)] _LightingDirectColorMode ("Direct Light Color", Int) = 0 + [ToggleUI]_LightingIndirectColorMode ("Indirect Uses Normals", Float) = 0 + [ToggleUI]_LightingUncapped ("Uncapped Lighting", Float) = 0 + [ToggleUI]_LightingOnlyUnityShadows ("Only Unity Shadows", Float) = 0 + _LightingMonochromatic ("Monochromatic Lighting?", Range(0,1)) = 0 + _LightingMinLightBrightness ("Min Brightness", Range(0, 1)) = 0 + _LightingMinShadowBrightnessRatio ("Shadow:Light min Ratio", Range(0, 1)) = 0 + [HideInInspector] m_end_lightingModifiers ("Lighting Modifiers", Float) = 0 + + [HideInInspector] m_start_detailShadows ("Detail Shadows--{reference_property:_LightingDetailShadowsEnabled}", Float) = 0 + [HideInInspector][ToggleUI]_LightingDetailShadowsEnabled ("Enabled Detail Shadows?", Float) = 0 + _LightingDetailShadows ("Detail Shadows--{reference_properties:[_LightingDetailShadowsPan, _LightingDetailShadowsUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingDetailShadowsPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingDetailShadowsUV ("UV", Int) = 0 + _LightingDetailStrength ("Detail Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_detailShadows ("Detail Shadows", Float) = 0 + + [HideInInspector] m_start_ambientOcclusion ("Ambient Occlusion--{reference_property:_LightingEnableAO}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableAO ("Enable AO", Float) = 0 + _LightingAOTex ("AO Map", 2D) = "white" { } + [HideInInspector][Vector2]_LightingAOTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingAOTexUV ("UV", Int) = 0 + _AOStrength ("AO Strength", Range(0, 1)) = 1 + [HideInInspector] m_end_ambientOcclusion ("Ambient Occlusion", Float) = 0 + + [HideInInspector] m_start_shadowTexture ("Shadow Texture--{reference_property:_UseShadowTexture, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + [HideInInspector][ToggleUI]_UseShadowTexture ("EnableShadowTexture--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", Float) = 0 + _LightingShadowTexture ("Shadow Texture--{reference_properties:[_LightingShadowTexturePan, _LightingShadowTextureUV], condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1},condition2:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingRampType==1}}}}", 2D) = "white" { } + [HideInInspector][Vector2]_LightingShadowTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _LightingShadowTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_shadowTexture ("Shadow Texture", Float) = 0 + + // HSL Lighting + [HideInInspector] m_start_lightingHSL ("HSL Lighting--{reference_property:_LightingEnableHSL, condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_LightingMode==0},condition2:{type:PROPERTY_BOOL,data:_LightingShadingEnabled==1}}}", Float) = 0 + [HideInInspector][ToggleUI]_LightingEnableHSL ("Enabled HSL Lighting", Float) = 0 + _LightingHSLIntensity ("Shadow HSL Intensity", Range(0, 1)) = 1 + _LightingShadowHue ("Shadow Hue Change", Range(0, 1)) = 0.5 + _LightingShadowSaturation ("Shadow Saturation Change", Range(0, 1)) = 0.5 + _LightingShadowLightness ("Shadow Lightness Change", Range(0, 1)) = 0.5 + [HideInInspector] m_end_lightingHSL ("HSL Lighting", Float) = 0 + + // point/spot Light Settings + [HideInInspector] m_start_lightingAdvanced ("Additive Lighting (Point/Spot)--{reference_property:_commentIfZero_LightingAdditiveEnable,button_right:{text:Tutorial,action:{type:URL,data:https://www.youtube.com/watch?v=at3p5yRRVU0&list=PL4_Gy3VRJSmbXfQSldzUiChgABQsoBlLw&index=12},hover:YouTube}}", Float) = 0 + [HideInInspector][ToggleUI]_commentIfZero_LightingAdditiveEnable ("Enable Additive", Float) = 1 + [Enum(Realistic, 0, Toon, 1)] _LightingAdditiveType ("Lighting Type", Int) = 1 + _LightingAdditiveGradientStart ("Gradient Start", Range(0, 1)) = 0 + _LightingAdditiveGradientEnd ("Gradient End", Range(0, 1)) = .5 + _LightingAdditivePassthrough ("Point Light Passthrough", Range(0, 1)) = .5 + _LightingAdditiveDetailStrength ("Detail Shadow Strength", Range(0, 1)) = 1 + [ToggleUI]_LightingAdditiveLimitIntensity ("Limit Intensity", Float) = 0 + _LightingAdditiveMaxIntensity ("Max Intensity--{condition_show:{type:PROPERTY_BOOL,data:_LightingAdditiveLimitIntensity==1}}", Range(0, 3)) = 1 + [Toggle(_SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A)]_DisableDirectionalInAdd ("No Directional", Float) = 1 + [HideInInspector] m_end_lightingAdvanced ("Additive Lighting", Float) = 0 + [HideInInspector] m_end_Lighting ("Light and Shadow", Float) = 0 + + // Subsurface Scattering + [HideInInspector] m_start_subsurface ("Subsurface Scattering", Float) = 0 + [Toggle(_TERRAIN_NORMAL_MAP)]_EnableSSS ("Enable Subsurface Scattering", Float) = 0 + _SSSColor ("Subsurface Color", Color) = (1, 0, 0, 1) + _SSSThicknessMap ("Thickness Map", 2D) = "black" { } + [HideInInspector][Vector2]_SSSThicknessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SSSThicknessMapUV ("UV", Int) = 0 + _SSSThicknessMod ("Thickness mod", Range(-1, 1)) = 0 + _SSSSCale ("Light Strength", Range(0, 1)) = 0.25 + _SSSPower ("Light Spread", Range(1, 100)) = 5 + _SSSDistortion ("Light Distortion", Range(0, 1)) = 1 + [HideInInspector] m_end_subsurface ("Subsurface Scattering", Float) = 0 + + // Rim Lighting + [HideInInspector] m_start_rimLightOptions ("Rim Lighting", Float) = 0 + [Toggle(_GLOSSYREFLECTIONS_OFF)]_EnableRimLighting ("Enable Rim Lighting", Float) = 0 + [Enum(vertex, 0, pixel, 1)] _RimLightNormal ("Normal Select", Int) = 1 + [ToggleUI]_RimLightingInvert ("Invert Rim Lighting", Float) = 0 + _RimLightColor ("Rim Color", Color) = (1, 1, 1, 1) + _RimWidth ("Rim Width", Range(0, 1)) = 0.8 + _RimSharpness ("Rim Sharpness", Range(0, 1)) = .25 + _RimStrength ("Rim Emission", Range(0, 20)) = 0 + _RimBrighten ("Rim Color Brighten", Range(0, 3)) = 0 + _RimLightColorBias ("Rim Color Bias", Range(0, 1)) = 0 + _RimTex ("Rim Texture", 2D) = "white" { } + [HideInInspector][Vector2]_RimTexPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimTexUV ("UV", Int) = 0 + _RimMask ("Rim Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimMaskUV ("UV", Int) = 0 + + // Rim Noise + [HideInInspector] m_start_rimWidthNoise ("Width Noise", Float) = 0 + _RimWidthNoiseTexture ("Rim Width Noise", 2D) = "black" { } + [HideInInspector][Vector2]_RimWidthNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimWidthNoiseTextureUV ("UV", Int) = 0 + _RimWidthNoiseStrength ("Intensity", Range(0, 1)) = 0.1 + [HideInInspector] m_end_rimWidthNoise ("Width Noise", Float) = 0 + + // Rim Shadow Mix + [HideInInspector] m_start_ShadowMix ("Shadow Mix", Float) = 0 + _ShadowMix ("Shadow Mix In", Range(0, 1)) = 0 + _ShadowMixThreshold ("Shadow Mix Threshold", Range(0, 1)) = .5 + _ShadowMixWidthMod ("Shadow Mix Width Mod", Range(0, 10)) = .5 + [HideInInspector] m_end_ShadowMix ("Shadow Mix", Float) = 0 + [HideInInspector] m_end_rimLightOptions ("Rim Lighting", Float) = 0 + + // Environmental Rim Lighting + [HideInInspector] m_start_reflectionRim ("Environmental Rim", Float) = 0 + [Toggle(_MAPPING_6_FRAMES_LAYOUT)]_EnableEnvironmentalRim ("Enable Environmental Rim", Float) = 0 + _RimEnviroMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_RimEnviroMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _RimEnviroMaskUV ("UV", Int) = 0 + _RimEnviroBlur ("Blur", Range(0, 1)) = 0.7 + _RimEnviroWidth ("Rim Width", Range(0, 1)) = 0.45 + _RimEnviroSharpness ("Rim Sharpness", Range(0, 1)) = 0 + _RimEnviroMinBrightness ("Min Brightness Threshold", Range(0, 2)) = 0 + _RimEnviroIntensity ("Intensity", Range(0, 1)) = 1 + [HideInInspector] m_end_reflectionRim ("Environmental Rim", Float) = 0 + + // Baked Lighting + [HideInInspector] m_start_bakedLighting ("Baked Lighting", Float) = 0 + _GIEmissionMultiplier ("GI Emission Multiplier", Float) = 1 + [HideInInspector] DSGI ("DSGI", Float) = 0 //add this property for double sided illumination settings to be shown + [HideInInspector] LightmapFlags ("Lightmap Flags", Float) = 0 //add this property for lightmap flags settings to be shown + [HideInInspector] m_end_bakedLighting ("Baked Lighting", Float) = 0 + + // Metallics + [HideInInspector] m_start_Metallic ("Metallics", Float) = 0 + [Toggle(_METALLICGLOSSMAP)]_EnableMetallic ("Enable Metallics", Float) = 0 + _CubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_SampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _MetalReflectionTint ("Reflection Tint", Color) = (1, 1, 1) + _MetallicTintMap ("Tint Map", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicTintMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicTintMapUV ("UV", Int) = 0 + _MetallicMask ("Metallic Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MetallicMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MetallicMaskUV ("UV", Int) = 0 + _Metallic ("Metallic", Range(0, 1)) = 0 + _SmoothnessMask ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_SmoothnessMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SmoothnessMaskUV ("UV", Int) = 0 + [ToggleUI]_InvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _Smoothness ("Smoothness", Range(0, 1)) = 0 + [HideInInspector] m_end_Metallic ("Metallics", Float) = 0 + + // Clearcoat + [HideInInspector] m_start_clearCoat ("Clear Coat", Float) = 0 + [Toggle(_COLORCOLOR_ON)]_EnableClearCoat ("Enable Clear Coat", Float) = 0 + [Enum(Vertex, 0, Pixel, 1)] _ClearCoatNormalToUse ("What Normal?", Int) = 0 + _ClearCoatCubeMap ("Baked CubeMap", Cube) = "" { } + [ToggleUI]_ClearCoatSampleWorld ("Force Baked Cubemap", Range(0, 1)) = 0 + _ClearCoatTint ("Reflection Tint", Color) = (1, 1, 1) + _ClearCoatMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatMaskUV ("UV", Int) = 0 + _ClearCoat ("Clear Coat", Range(0, 1)) = 1 + _ClearCoatSmoothnessMap ("Smoothness Map", 2D) = "white" { } + [HideInInspector][Vector2]_ClearCoatSmoothnessMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ClearCoatSmoothnessMapUV ("UV", Int) = 0 + [ToggleUI]_ClearCoatInvertSmoothness ("Invert Smoothness Map", Range(0, 1)) = 0 + _ClearCoatSmoothness ("Smoothness", Range(0, 1)) = 0 + [ToggleUI]_ClearCoatForceLighting ("Force Lighting", Float) = 0 + [HideInInspector] m_end_clearCoat ("Clear Coat", Float) = 0 + + // First Matcap + [HideInInspector] m_start_matcap ("Matcap / Sphere Textures", Float) = 0 + [Toggle(_COLORADDSUBDIFF_ON)]_MatcapEnable ("Enable Matcap", Float) = 0 + _MatcapColor ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap ("Matcap", 2D) = "white" { } + _MatcapBorder ("Border", Range(0, .5)) = 0.43 + _MatcapMask ("Mask--{reference_properties:[_MatcapMaskPan, _MatcapMaskUV, _MatcapMaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_MatcapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MatcapMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_MatcapMaskInvert("Invert", Float) = 0 + _MatcapEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _MatcapIntensity ("Intensity", Range(0, 5)) = 1 + _MatcapLightMask ("Hide in Shadow", Range(0, 1)) = 0 + _MatcapReplace ("Replace With Matcap", Range(0, 1)) = 1 + _MatcapMultiply ("Multiply Matcap", Range(0, 1)) = 0 + _MatcapAdd ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _MatcapNormal ("Normal to use", Int) = 1 + [HideInInspector] m_end_matcap ("Matcap", Float) = 0 + + // Second Matcap + [HideInInspector] m_start_Matcap2 ("Matcap 2", Float) = 0 + [ToggleUI]_Matcap2Enable ("Enable Matcap 2", Float) = 0 + _Matcap2Color ("Color", Color) = (1, 1, 1, 1) + [TextureNoSO]_Matcap2 ("Matcap", 2D) = "white" { } + _Matcap2Border ("Border", Range(0, .5)) = 0.43 + _Matcap2Mask ("Mask--{reference_properties:[_Matcap2MaskPan, _Matcap2MaskUV, _Matcap2MaskInvert]}", 2D) = "white" { } + [HideInInspector][Vector2]_Matcap2MaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _Matcap2MaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_Matcap2MaskInvert("Invert", Float) = 0 + _Matcap2EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _Matcap2Intensity ("Intensity", Range(0, 5)) = 1 + _Matcap2LightMask ("Hide in Shadow", Range(0, 1)) = 0 + _Matcap2Replace ("Replace With Matcap", Range(0, 1)) = 0 + _Matcap2Multiply ("Multiply Matcap", Range(0, 1)) = 0 + _Matcap2Add ("Add Matcap", Range(0, 1)) = 0 + [Enum(Vertex, 0, Pixel, 1)] _Matcap2Normal ("Normal to use", Int) = 1 + [HideInInspector] m_end_Matcap2 ("Matcap 2", Float) = 0 + + // Specular + [HideInInspector] m_start_specular ("Specular Reflections", Float) = 0 + [Toggle(_SPECGLOSSMAP)]_EnableSpecular ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal ("Normal Select", Int) = 1 + _SpecularTint ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMapUV ("UV", Int) = 0 + _SpecularSmoothness ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType==3}}}", Range(0, 1)) = 1 + [Gradient]_SpecularMap ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMapUV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness ("Invert Smoothness", Float) = 0 + _SpecularMask ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMaskUV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom ("Smoothness From", Int) = 1 + // Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Int) = 0 + _AnisoSpec1Alpha ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 1 + _Spec1Offset ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Float) = 0 + _AnisoTangentMap ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMapPan, _AnisoTangentMapUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMapUV ("UV", Int) = 0 + //toon aniso + _SpecularToonStart ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 1)) = .95 + _SpecularToonEnd ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicroPan, _SpecularAnisoJitterMicroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicroUV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacroPan, _SpecularAnisoJitterMacroUV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacroPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacroUV ("UV", Int) = 0 + // Toon Specular + [MultiSlider]_SpecularToonInnerOuter ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular ("Specular Reflections", Float) = 0 + + // Second Specular + [HideInInspector] m_start_specular1 ("Specular Reflections 2", Float) = 0 + [ToggleUI]_EnableSpecular1 ("Enable Specular", Float) = 0 + [Enum(Realistic, 1, Toon, 2, Anisotropic, 3, Toon Aniso, 4)] _SpecularType1 ("Specular Type", Int) = 1 + [Enum(vertex, 0, pixel, 1)] _SpecularNormal1 ("Normal Select", Int) = 1 + _SpecularTint1 ("Specular Tint", Color) = (1, 1, 1, 1) + _SpecularMetallic1 ("Metallic", Range(0, 1)) = 0 + [Gradient]_SpecularMetallicMap1 ("Metallic Map--{reference_properties:[_SpecularMetallicMapPan, _SpecularMetallicMapUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMetallicMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMetallicMap1UV ("UV", Int) = 0 + _SpecularSmoothness1 ("Smoothness--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==1},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==3}}}", Range(-2, 1)) = .75 + _SpecularMap1 ("Specular Map", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMap1UV ("UV", Int) = 0 + [ToggleUI]_SpecularInvertSmoothness1 ("Invert Smoothness", Float) = 0 + _SpecularMask1 ("Specular Mask", 2D) = "white" { } + [HideInInspector][Vector2]_SpecularMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularMask1UV ("UV", Int) = 0 + [Enum(Alpha, 0, Grayscale, 1)] _SmoothnessFrom1 ("Smoothness From", Int) = 1 + // Second Anisotropic Specular + [Enum(Tangent, 0, binormal, 1)] _SpecWhatTangent1 ("(Bi)Tangent?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Int) = 0 + _AnisoSpec1Alpha1 ("Spec1 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _AnisoSpec2Alpha1 ("Spec2 Alpha--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 1 + _Spec1Offset1 ("Spec1 Offset--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(-1, 1)) = 0 + _Spec2Smoothness1 ("Spec2 Smoothness--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==3}}", Range(0, 1)) = 0 + [ToggleUI]_AnisoUseTangentMap1 ("Use Directional Map?--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Float) = 0 + _AnisoTangentMap1 ("Anisotropic Directional Map--{reference_properties:[_AnisoTangentMap1Pan, _AnisoTangentMap1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "bump" { } + [HideInInspector][Vector2]_AnisoTangentMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _AnisoTangentMap1UV ("UV", Int) = 0 + // Second toon aniso + _SpecularToonStart1 ("Spec Toon Start--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 1)) = .95 + _SpecularToonEnd1 ("Spec Toon End--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Range(0, 2)) = 1 + //[ToggleUI]_CenterOutSpecColor1 ("Center Out SpecMap--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [ToggleUI]_SpecularAnisoJitterMirrored1 ("Mirrored?--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==4}}", Float) = 0 + [Curve]_SpecularAnisoJitterMicro1 ("Micro Shift--{reference_properties:[_SpecularAnisoJitterMicro1Pan, _SpecularAnisoJitterMicro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMicroMultiplier1 ("Micro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMicro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMicro1UV ("UV", Int) = 0 + [Curve]_SpecularAnisoJitterMacro1 ("Macro Shift--{reference_properties:[_SpecularAnisoJitterMacro1Pan, _SpecularAnisoJitterMacro1UV], condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", 2D) = "black" { } + _SpecularAnisoJitterMacroMultiplier1 ("Macro Multiplier--{condition_show:{type:OR,condition1:{type:PROPERTY_BOOL,data:_SpecularType1==3},condition2:{type:PROPERTY_BOOL,data:_SpecularType1==4}}}", Range(0, 10)) = 0 + [HideInInspector][Vector2]_SpecularAnisoJitterMacro1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _SpecularAnisoJitterMacro1UV ("UV", Int) = 0 + // Second Toon Specular + [MultiSlider]_SpecularToonInnerOuter1 ("Inner/Outer Edge--{condition_show:{type:PROPERTY_BOOL,data:_SpecularType1==2}}", Vector) = (0.25, 0.3, 0, 1) + [HideInInspector] m_end_specular1 ("Specular Reflections", Float) = 0 + + // First Emission + [HideInInspector] m_Special_Effects ("Special Effects", Float) = 0 + [HideInInspector] m_start_emissionOptions ("Emission / Glow", Float) = 0 + [Toggle(_EMISSION)]_EnableEmission ("Enable Emission", Float) = 0 + [ToggleUI]_EmissionReplace ("Replace Base Color", Float) = 0 + [HDR]_EmissionColor ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMapUV ("UV", Int) = 0 + _EmissionMask ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMaskUV ("UV", Int) = 0 + _EmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled ("Enable Hue Shift", Float) = 0 + _EmissionHueShift ("Hue Shift", Range(0, 1)) = 0 + + // Center out emission + [HideInInspector] m_start_CenterOutEmission ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission ("inward out emission", Float) = 0 + + // Glow in the dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions ("Blinking Emission", Float) = 0 + + // Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor ("VColor as position", float) = 0 + _EmissiveScroll_Direction ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width ("Width", Float) = 10 + _EmissiveScroll_Velocity ("Velocity", Float) = 10 + _EmissiveScroll_Interval ("Interval", Float) = 20 + _EmissionScrollingOffset ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmissionOptions ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emissionOptions ("Emission / Glow", Float) = 0 + + // Second Enission + [HideInInspector] m_start_emission1Options ("Emission / Glow 2 (Requires Emission 1 Enabled)", Float) = 0 + [Toggle(EFFECT_HUE_VARIATION)]_EnableEmission1 ("Enable Emission 2", Float) = 0 + [HDR]_EmissionColor1 ("Emission Color", Color) = (1, 1, 1, 1) + [Gradient]_EmissionMap1 ("Emission Map", 2D) = "white" { } + [ToggleUI]_EmissionBaseColorAsMap1 ("Base Color as Map?", Float) = 0 + [HideInInspector][Vector2]_EmissionMap1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMap1UV ("UV", Int) = 0 + _EmissionMask1 ("Emission Mask", 2D) = "white" { } + [HideInInspector][Vector2]_EmissionMask1Pan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _EmissionMask1UV ("UV", Int) = 0 + _EmissionStrength1 ("Emission Strength", Range(0, 20)) = 0 + [ToggleUI]_EmissionHueShiftEnabled1 ("Enable Hue Shift", Float) = 0 + _EmissionHueShift1 ("Hue Shift", Range(0, 1)) = 0 + + // Second Center Out Enission + [HideInInspector] m_start_CenterOutEmission1 ("Center Out Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionCenterOutEnabled1 ("Enable Center Out", Float) = 0 + _EmissionCenterOutSpeed1 ("Flow Speed", Float) = 5 + [HideInInspector] m_end_CenterOutEmission1 ("inward out emission", Float) = 0 + + // Second Glow In The Dark Emission + [HideInInspector] m_start_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + [HideInInspector][ToggleUI]_EnableGITDEmission1 ("Enable Glow In The Dark", Float) = 0 + [Enum(World, 0, Mesh, 1)] _GITDEWorldOrMesh1 ("Lighting Type", Int) = 0 + _GITDEMinEmissionMultiplier1 ("Min Emission Multiplier", Range(0, 1)) = 1 + _GITDEMaxEmissionMultiplier1 ("Max Emission Multiplier", Range(0, 1)) = 0 + _GITDEMinLight1 ("Min Lighting", Range(0, 1)) = 0 + _GITDEMaxLight1 ("Max Lighting", Range(0, 1)) = 1 + [HideInInspector] m_end_glowInDarkEmissionOptions1 ("Glow In The Dark Emission (Requires Lighting Enabled)", Float) = 0 + + // Second Blinking Emission + [HideInInspector] m_start_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + [HideInInspector][ToggleUI]_EmissionBlinkingEnabled1 ("Enable Blinking", Float) = 0 + _EmissiveBlink_Min1 ("Emissive Blink Min", Float) = 0 + _EmissiveBlink_Max1 ("Emissive Blink Max", Float) = 1 + _EmissiveBlink_Velocity1 ("Emissive Blink Velocity", Float) = 4 + _EmissionBlinkingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_blinkingEmissionOptions1 ("Blinking Emission", Float) = 0 + + // Scrolling Scrolling Emission + [HideInInspector] m_start_scrollingEmissionOptions1 ("Scrolling Emission", Float) = 0 + [HideInInspector][ToggleUI] _ScrollingEmission1 ("Enable Scrolling Emission", Float) = 0 + [ToggleUI]_EmissionScrollingUseCurve1 ("Use Curve", float) = 0 + [Curve]_EmissionScrollingCurve1 ("Curve", 2D) = "white" { } + [ToggleUI]_EmissionScrollingVertexColor1 ("VColor as position", float) = 0 + _EmissiveScroll_Direction1 ("Direction", Vector) = (0, -10, 0, 0) + _EmissiveScroll_Width1 ("Width", Float) = 10 + _EmissiveScroll_Velocity1 ("Velocity", Float) = 10 + _EmissiveScroll_Interval1 ("Interval", Float) = 20 + _EmissionScrollingOffset1 ("Offset", Float) = 0 + [HideInInspector] m_end_scrollingEmission1Options ("Scrolling Emission", Float) = 0 + [HideInInspector] m_end_emission1Options ("Emission / Glow 2", Float) = 0 + + // Flipbook + [HideInInspector] m_start_flipBook ("Flipbook", Float) = 0 + [Toggle(_SUNDISK_HIGH_QUALITY)]_EnableFlipbook ("Enable Flipbook", Float) = 0 + [ToggleUI]_FlipbookAlphaControlsFinalAlpha ("Flipbook Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookIntensityControlsAlpha ("Intensity Controls Alpha?", Float) = 0 + [ToggleUI]_FlipbookColorReplaces ("Color Replaces Flipbook", Float) = 0 + [TextureArray]_FlipbookTexArray ("Texture Array", 2DArray) = "" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookTexArrayUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookTexArrayPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookMask ("Mask", 2D) = "white" { } + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _FlipbookMaskUV ("UV", Int) = 0 + [HideInInspector][Vector2]_FlipbookMaskPan ("Panning", Vector) = (0, 0, 0, 0) + _FlipbookColor ("Color & alpha", Color) = (1, 1, 1, 1) + _FlipbookTotalFrames ("Total Frames", Int) = 1 + _FlipbookFPS ("FPS", Float) = 30.0 + _FlipbookScaleOffset ("Scale | Offset", Vector) = (1, 1, 0, 0) + [ToggleUI]_FlipbookTiled ("Tiled?", Float) = 0 + _FlipbookEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + _FlipbookRotation ("Rotation", Range(0, 360)) = 0 + _FlipbookRotationSpeed ("Rotation Speed", Float) = 0 + _FlipbookReplace ("Replace", Range(0, 1)) = 1 + _FlipbookMultiply ("Multiply", Range(0, 1)) = 0 + _FlipbookAdd ("Add", Range(0, 1)) = 0 + + // Flipbook Manual Control + [HideInInspector] m_start_manualFlipbookControl ("Manual Control", Float) = 0 + _FlipbookCurrentFrame ("Current Frame", Float) = -1 + [HideInInspector] m_end_manualFlipbookControl ("Manual Control", Float) = 0 + [HideInInspector] m_end_flipBook ("Flipbook", Float) = 0 + + // Dissolve + [HideInInspector] m_start_dissolve ("Dissolve", Float) = 0 + [Toggle(DISTORT)]_EnableDissolve ("Enable Dissolve", Float) = 0 + [Enum(Basic, 1, Point2Point, 2)] _DissolveType ("Dissolve Type", Int) = 1 + _DissolveEdgeWidth ("Edge Width", Range(0, .5)) = 0.025 + _DissolveEdgeHardness ("Edge Hardness", Range(0, 1)) = 0.5 + _DissolveEdgeColor ("Edge Color", Color) = (1, 1, 1, 1) + [Gradient]_DissolveEdgeGradient ("Edge Gradient", 2D) = "white" { } + _DissolveEdgeEmission ("Edge Emission", Range(0, 20)) = 0 + _DissolveTextureColor ("Dissolved Color", Color) = (1, 1, 1, 1) + _DissolveToTexture ("Dissolved Texture", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveToTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveToTextureUV ("UV", Int) = 0 + _DissolveToEmissionStrength ("Dissolved Emission Strength", Range(0, 20)) = 0 + _DissolveNoiseTexture ("Dissolve Noise", 2D) = "white" { } + [HideInInspector][Vector2]_DissolveNoiseTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveNoiseTextureUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertNoise ("Invert?", Float) = 0 + _DissolveDetailNoise ("Dissolve Detail Noise", 2D) = "black" { } + [HideInInspector][Vector2]_DissolveDetailNoisePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveDetailNoiseUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveInvertDetailNoise ("Invert?", Float) = 0 + _DissolveDetailStrength ("Dissolve Detail Strength", Range(0, 1)) = 0.1 + _DissolveAlpha ("Dissolve Alpha", Range(0, 1)) = 0 + _DissolveMask ("Dissolve Mask", 2D) = "white" { } + [ToggleUI]_DissolveUseVertexColors ("VertexColor.g Mask", Float) = 0 + [HideInInspector][Vector2]_DissolveMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _DissolveMaskUV ("UV", Int) = 0 + [HideInInspector][ToggleUI]_DissolveMaskInvert ("Invert?", Float) = 0 + _ContinuousDissolve ("Continuous Dissolve Speed", Float) = 0 + [HideInInspector] m_start_dissolveMasking ("Effect Masking", Float) = 0 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmissionSide ("Emission 1", Int) = 2 + [Enum(Undissolved, 0, Dissolved, 1, Both, 2)] _DissolveEmission1Side ("Emission 2", Int) = 2 + [HideInInspector] m_end_dissolveMasking ("Effect Masking", Float) = 0 + + // Point to Point Dissolve + [HideInInspector] m_start_pointToPoint ("point to point", Float) = 0 + [Enum(Local, 0, World, 1)] _DissolveP2PWorldLocal ("World/Local", Int) = 0 + _DissolveP2PEdgeLength ("Edge Length", Float) = 0.1 + [Vector3]_DissolveStartPoint ("Start Point", Vector) = (0, -1, 0, 0) + [Vector3]_DissolveEndPoint ("End Point", Vector) = (0, 1, 0, 0) + [HideInInspector] m_end_pointToPoint ("Point To Point", Float) = 0 + + // Locked in anim sldiers + [HideInInspector] m_start_BonusSliders ("Locked In Anim Sliders", Float) = 0 + _DissolveAlpha0 ("Dissolve Alpha 0", Range(-1, 1)) = 0 + _DissolveAlpha1 ("Dissolve Alpha 1", Range(-1, 1)) = 0 + _DissolveAlpha2 ("Dissolve Alpha 2", Range(-1, 1)) = 0 + _DissolveAlpha3 ("Dissolve Alpha 3", Range(-1, 1)) = 0 + _DissolveAlpha4 ("Dissolve Alpha 4", Range(-1, 1)) = 0 + _DissolveAlpha5 ("Dissolve Alpha 5", Range(-1, 1)) = 0 + _DissolveAlpha6 ("Dissolve Alpha 6", Range(-1, 1)) = 0 + _DissolveAlpha7 ("Dissolve Alpha 7", Range(-1, 1)) = 0 + _DissolveAlpha8 ("Dissolve Alpha 8", Range(-1, 1)) = 0 + _DissolveAlpha9 ("Dissolve Alpha 9", Range(-1, 1)) = 0 + [HideInInspector] m_end_BonusSliders ("Locked In Sliders", Float) = 0 + [HideInInspector] m_end_dissolve ("Dissolve", Float) = 0 + + // Panosphere + [HideInInspector] m_start_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + [Toggle(_DETAIL_MULX2)]_PanoToggle ("Enable Panosphere", Float) = 0 + [ToggleUI]_PanoInfiniteStereoToggle ("Infinite Stereo", Float) = 0 + _PanosphereColor ("Color", Color) = (1, 1, 1, 1) + _PanosphereTexture ("Texture", 2D) = "white" { } + _PanoMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_PanoMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _PanoMaskUV ("UV", Int) = 0 + _PanoEmission ("Emission Strength", Range(0, 10)) = 0 + _PanoBlend ("Alpha", Range(0, 1)) = 0 + [Vector3]_PanospherePan ("Pan Speed", Vector) = (0, 0, 0, 0) + [ToggleUI]_PanoCubeMapToggle ("Use Cubemap", Float) = 0 + [TextureNoSO]_PanoCubeMap ("CubeMap", Cube) = "" { } + [HideInInspector] m_end_panosphereOptions ("Panosphere / Cubemaps", Float) = 0 + + // Glitter + [HideInInspector] m_start_glitter ("Glitter / Sparkle", Float) = 0 + [Toggle(_SUNDISK_SIMPLE)]_GlitterEnable ("Enable Glitter?", Float) = 0 + [Enum(Angle, 0, Linear Emission, 1)]_GlitterMode ("Mode", Int) = 0 + [Enum(Circle, 0, Square, 1)]_GlitterShape ("Shape", Int) = 0 + [Enum(Add, 0, Replace, 1)] _GlitterBlendType ("Blend Mode", Int) = 0 + [HDR]_GlitterColor ("Color", Color) = (1, 1, 1) + _GlitterUseSurfaceColor ("Use Surface Color", Range(0, 1)) = 0 + _GlitterColorMap ("Glitter Color Map", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterColorMapPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterColorMapUV ("UV", Int) = 0 + [HideInInspector][Vector2]_GlitterPan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterMask ("Glitter Mask", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _GlitterMaskUV ("UV", Int) = 0 + _GlitterTexture ("Glitter Texture--{reference_properties:[_GlitterTexturePan]}", 2D) = "white" { } + [HideInInspector][Vector2]_GlitterTexturePan ("Panning", Vector) = (0, 0, 0, 0) + _GlitterTextureRotation ("Rotation Speed", Float) = 0 + _GlitterFrequency ("Glitter Density", Float) = 300.0 + _GlitterJitter ("Glitter Jitter", Range(0, 1)) = 1.0 + _GlitterSpeed ("Glitter Speed", Float) = 10.0 + _GlitterSize ("Glitter Size", Range(0, 1)) = .3 + _GlitterContrast ("Glitter Contrast--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(1, 1000)) = 300 + _GlitterAngleRange ("Glitter Angle Range--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 90)) = 90 + _GlitterMinBrightness ("Glitter Min Brightness", Range(0, 1)) = 0 + _GlitterBrightness ("Glitter Max Brightness", Range(0, 40)) = 3 + _GlitterBias ("Glitter Bias--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==0}}", Range(0, 1)) = .8 + _GlitterCenterSize ("dim light--{condition_show:{type:AND,condition1:{type:PROPERTY_BOOL,data:_GlitterMode==1},condition2:{type:PROPERTY_BOOL,data:_GlitterShape==1}}}", Range(0, 1)) = .08 + _glitterFrequencyLinearEmissive ("Frequency--{condition_show:{type:PROPERTY_BOOL,data:_GlitterMode==1}}", Range(0, 100)) = 20 + _GlitterJaggyFix ("Jaggy Fix--{condition_show:{type:PROPERTY_BOOL,data:_GlitterShape==1}}", Range(0, .1)) = .0 + + // Glitter Random Colors + [HideInInspector] m_start_glitterRandom ("Random Things", Float) = 0 + [ToggleUI]_GlitterRandomColors ("Random Colors", Float) = 0 + [MultiSlider]_GlitterMinMaxSaturation ("Saturation Range", Vector) = (0.8, 1, 0, 1) + [MultiSlider]_GlitterMinMaxBrightness ("Brightness Range", Vector) = (0.8, 1, 0, 1) + [ToggleUI]_GlitterRandomSize("Random Size?", Float) = 0 + [MultiSlider]_GlitterMinMaxSize ("Size Range", Vector) = (0.1, 0.5, 0, 1) + [ToggleUI]_GlitterRandomRotation("Random Tex Rotation", Float) = 0 + [HideInInspector] m_end_glitterRandom ("Random Colors", Float) = 0 + [HideInInspector] m_end_glitter ("Glitter / Sparkle", Float) = 0 + + // MSDF OVERLAY + [HideInInspector] m_start_Text ("MSDF Text Overlay", Float) = 0 + _TextGlyphs ("Font Array", 2D) = "black" { } + _TextPixelRange ("Pixel Range", Float) = 4.0 + [Toggle(EFFECT_BUMP)]_TextEnabled ("Text?", Float) = 0 + + // FPS + [HideInInspector] m_start_TextFPS ("FPS", Float) = 0 + [ToggleUI]_TextFPSEnabled ("FPS Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextFPSUV ("FPS UV", Int) = 0 + _TextFPSColor ("Color", Color) = (1, 1, 1, 1) + _TextFPSEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextFPSOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextFPSRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextFPSScale ("Scale", Vector) = (1, 1, 1, 1) + _TextFPSPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextFPS ("FPS", Float) = 0 + + // POSITION + [HideInInspector] m_start_TextPosition ("Position", Float) = 0 + [ToggleUI]_TextPositionEnabled ("Position Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextPositionUV ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVertical ("Vertical?", Float) = 0 + _TextPositionColor ("Color", Color) = (1, 0, 1, 1) + _TextPositionEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextPositionOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextPositionRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextPositionScale ("Scale", Vector) = (1, 1, 1, 1) + _TextPositionPadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextPosition ("Position", Float) = 0 + + // INSTANCE TIME + [HideInInspector] m_start_TextInstanceTime ("Instance Time", Float) = 0 + [ToggleUI]_TextTimeEnabled ("Time Text?", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _TextTimeUV ("Time UV", Int) = 0 + _TextTimeColor ("Color", Color) = (1, 0, 1, 1) + _TextTimeEmissionStrength ("Emission Strength", Range(0, 20)) = 0 + [Vector2]_TextTimeOffset ("Offset", Vector) = (0, 0, 0, 0) + _TextTimeRotation ("Rotation", Range(0, 360)) = 0 + [Vector2]_TextTimeScale ("Scale", Vector) = (1, 1, 1, 1) + _TextTimePadding ("Padding Reduction", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_TextInstanceTime ("Instance Time", Float) = 0 + [HideInInspector] m_end_Text ("MSDF Text Overlay", Float) = 0 + + // Mirror Rendering + [HideInInspector] m_start_mirrorOptions ("Mirror", Float) = 0 + [Toggle(_REQUIRE_UV2)]_EnableMirrorOptions ("Enable Mirror Options", Float) = 0 + [Enum(ShowInBoth, 0, ShowOnlyInMirror, 1, DontShowInMirror, 2)] _Mirror ("Show in mirror", Int) = 0 + [ToggleUI]_EnableMirrorTexture ("Enable Mirror Texture", Float) = 0 + _MirrorTexture ("Mirror Tex", 2D) = "white" { } + [HideInInspector][Vector2]_MirrorTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MirrorTextureUV ("UV", Int) = 0 + [HideInInspector] m_end_mirrorOptions ("Mirror", Float) = 0 + + // Distance Fade + [HideInInspector] m_start_distanceFade ("Distance Fade", Float) = 0 + _MainMinAlpha ("Minimum Alpha", Range(0, 1)) = 0 + _MainFadeTexture ("Fade Mask", 2D) = "white" { } + [HideInInspector][Vector2]_MainFadeTexturePan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _MainFadeTextureUV ("UV", Int) = 0 + [Vector2]_MainDistanceFade ("Distance Fade X to Y", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_distanceFade ("Distance Fade", Float) = 0 + + // Angular Fade + [HideInInspector] m_start_angularFade ("Angular Fade", Float) = 0 + [Toggle(_SUNDISK_NONE)]_EnableRandom ("Enable Angular Fade", Float) = 0 + [Enum(Camera Face Model, 0, Model Face Camera, 1, Face Each Other, 2)] _AngleType ("Angle Type", Int) = 0 + [Enum(Model, 0, Vertex, 1)] _AngleCompareTo ("Model or Vert Positon", Int) = 0 + [Vector3]_AngleForwardDirection ("Forward Direction", Vector) = (0, 0, 1, 0) + _CameraAngleMin ("Camera Angle Min", Range(0, 180)) = 45 + _CameraAngleMax ("Camera Angle Max", Range(0, 180)) = 90 + _ModelAngleMin ("Model Angle Min", Range(0, 180)) = 45 + _ModelAngleMax ("Model Angle Max", Range(0, 180)) = 90 + _AngleMinAlpha ("Min Alpha", Range(0, 1)) = 0 + [HideInInspector] m_end_angularFade ("Angular Fade", Float) = 0 + + // UV Distortion + [HideInInspector] m_start_distortionFlow ("UV Distortion", Float) = 0 + [Toggle(USER_LUT)] _EnableDistortion ("Enabled?", Float) = 0 + _DistortionMask ("Mask--{reference_properties:[_DistortionMaskPan, _DistortionMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_DistortionMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _DistortionMaskUV ("UV", Int) = 0 + _DistortionFlowTexture ("Distortion Texture 1", 2D) = "black" { } + _DistortionFlowTexture1 ("Distortion Texture 2", 2D) = "black" { } + _DistortionStrength ("Strength1", Float) = 0.5 + _DistortionStrength1 ("Strength2", Float) = 0.5 + [Vector2]_DistortionSpeed ("Speed1", Vector) = (0.5, 0.5, 0, 0) + [Vector2]_DistortionSpeed1 ("Speed2", Vector) = (0.5, 0.5, 0, 0) + [HideInInspector] m_end_distortionFlow ("UV Distortion", Float) = 0 + + // Outline Options + [HideInInspector] m_outlineOptions ("Outlines", Float) = 0 + [ToggleUI]_commentIfZero_EnableOutlinePass ("Enable Outlines", float) = 0 + [Enum(Basic, 0, Tint, 1, Rim Light, 2, Directional, 3, DropShadow, 4)]_OutlineMode ("Mode", Int) = 0 + _OutlineTintMix ("Tint Mix--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==1}}", Range(0, 1)) = 0 + _OutlineRimLightBlend ("Rim Light Blend--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==2}}", Range(0, 1)) = 0 + _OutlinePersonaDirection ("directional Offset XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==3}}", Vector) = (1, 0, 0, 0) + _OutlineDropShadowOffset ("Drop Direction XY--{condition_show:{type:PROPERTY_BOOL,data:_OutlineMode==4}}", Vector) = (1, 0, 0, 0) + [ToggleUI]_OutlineFixedSize ("Fixed Size?", Float) = 0 + [Enum(Off, 0, Normals, 1, Mask VC.r, 2)]_OutlineUseVertexColors ("Vertex Color", Float) = 0 + [ToggleUI]_OutlineLit ("Enable Lighting", Float) = 1 + _LineWidth ("Width", Float) = 0 + _LineColor ("Color", Color) = (1, 1, 1, 1) + _OutlineEmission ("Outline Emission", Float) = 0 + _OutlineTexture ("Outline Texture--{reference_properties:[_OutlineTexturePan, _OutlineTextureUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineTexturePan ("Outline Texture Pan", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineTextureUV ("UV", Int) = 0 + _OutlineMask ("Outline Mask--{reference_properties:[_OutlineMaskPan, _OutlineMaskUV]}", 2D) = "white" { } + [HideInInspector][Vector2]_OutlineMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _OutlineMaskUV ("UV", Int) = 0 + _OutlineShadowStrength ("Shadow Strength", Range(0, 1)) = 1 + [HideInInspector] m_start_outlineAdvanced ("Advanced", Float) = 0 + [Vector2]_OutlineFadeDistance ("Outline distance Fade", Vector) = (0, 0, 0, 0) + [Enum(UnityEngine.Rendering.CullMode)] _OutlineCull ("Cull", Float) = 1 + _OutlineOffsetFactor("Offset Factor", Float) = 0 + _OutlineOffsetUnits("Offset Units", Float) = 0 + [HideInInspector] m_end_outlineAdvanced ("Advanced", Float) = 0 + + // Parallax Mapping + [HideInInspector] m_ParallaxMap ("Parallax", Float) = 0 + [Toggle(_PARALLAXMAP)]_ParallaxMap ("Enable Parallax FX", Float) = 0 + [ToggleUI]_ParallaxHeightMapEnabled ("Enable Parallax Height", Float) = 0 + [ToggleUI]_ParallaxInternalMapEnabled ("Enable Parallax Internal", Float) = 0 + [HideInInspector] m_start_parallaxHeightmap ("Heightmap", Float) = 0 + [Vector2]_ParallaxHeightMapPan ("Pan", Vector) = (0, 0, 0, 0) + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3)] _ParallaxUV ("Parallax UV", Int) = 0 + _ParallaxHeightMap ("Height Map", 2D) = "black" { } + _ParallaxHeightMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxHeightMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxHeightMapMaskUV ("UV", Int) = 0 + _ParallaxStrength ("Parallax Strength", Range(0, 1)) = 0 + [HideInInspector] m_end_parallaxHeightmap ("Heightmap", Float) = 0 + [HideInInspector] m_start_parallaxInternal ("Internal", Float) = 0 + [Enum(Basic, 0, HeightMap, 1)] _ParallaxInternalHeightmapMode ("Parallax Mode", Int) = 0 + [ToggleUI]_ParallaxInternalHeightFromAlpha ("HeightFromAlpha", Float) = 0 + _ParallaxInternalMap ("Internal Map", 2D) = "black" { } + _ParallaxInternalMapMask ("Mask", 2D) = "white" { } + [HideInInspector][Vector2]_ParallaxInternalMapMaskPan ("Panning", Vector) = (0, 0, 0, 0) + [HideInInspector][Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, DistortedUV1, 4)] _ParallaxInternalMapMaskUV ("UV", Int) = 0 + _ParallaxInternalIterations ("Parallax Internal Iterations", Range(1, 50)) = 1 + _ParallaxInternalMinDepth ("Min Depth", Float) = 0 + _ParallaxInternalMaxDepth ("Max Depth", Float) = 1 + _ParallaxInternalMinFade ("Min Depth Brightness", Range(0, 5)) = 0 + _ParallaxInternalMaxFade ("Max Depth Brightness", Range(0, 5)) = 1 + _ParallaxInternalMinColor ("Min Depth Color", Color) = (1, 1, 1, 1) + _ParallaxInternalMaxColor ("Max Depth Color", Color) = (1, 1, 1, 1) + [Vector2]_ParallaxInternalPanSpeed ("Pan Speed", Vector) = (0, 0, 0, 0) + [Vector2]_ParallaxInternalPanDepthSpeed ("Per Level Speed Multiplier", Vector) = (0, 0, 0, 0) + [HideInInspector] m_end_parallaxInternal ("Internal", Float) = 0 + [HideInInspector] m_start_parallaxAdvanced ("Advanced", Float) = 0 + _ParallaxBias ("Parallax Bias (0.42)", Float) = 0.42 + [HideInInspector] m_end_parallaxAdvanced ("Advanced", Float) = 0 + + // Rendering Options + [HideInInspector] m_renderingOptions ("Rendering Options", Float) = 0 + [Enum(UnityEngine.Rendering.CullMode)] _Cull ("Cull", Float) = 2 + [Enum(UnityEngine.Rendering.CompareFunction)] _ZTest ("ZTest", Float) = 4 + [Enum(Off, 0, On, 1)] _ZWrite ("ZWrite", Int) = 1 + [Enum(Thry.ColorMask)] _ColorMask ("Color Mask", Int) = 15 + _OffsetFactor ("Offset Factor", Float) = 0.0 + _OffsetUnits ("Offset Units", Float) = 0.0 + [ToggleUI]_IgnoreFog ("Ignore Fog", Float) = 0 + [HideInInspector] Instancing ("Instancing", Float) = 0 //add this property for instancing variants settings to be shown + + // Blending Options + [HideInInspector] m_start_blending ("Blending", Float) = 0 + [Enum(Thry.BlendOp)]_BlendOp ("RGB Blend Op", Int) = 0 + [Enum(Thry.BlendOp)]_BlendOpAlpha ("Alpha Blend Op", Int) = 0 + [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Source Blend", Int) = 1 + [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Destination Blend", Int) = 0 + [HideInInspector] m_end_blending ("Blending", Float) = 0 + + // Stencils + [HideInInspector] m_start_StencilPassOptions ("Stencil", Float) = 0 + [IntRange] _StencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _StencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _StencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _StencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _StencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_StencilPassOptions ("Stencil", Float) = 0 + + // Outline Stencil + [HideInInspector] m_start_OutlineStencil ("Outline Stencil--{is_hideable:true, condition_show:{type:PROPERTY_BOOL,data:_commentIfZero_EnableOutlinePass==1}}", Float) = 0 + [IntRange] _OutlineStencilRef ("Stencil Reference Value", Range(0, 255)) = 0 + [IntRange] _OutlineStencilReadMask ("Stencil ReadMask Value", Range(0, 255)) = 255 + [IntRange] _OutlineStencilWriteMask ("Stencil WriteMask Value", Range(0, 255)) = 255 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilPassOp ("Stencil Pass Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilFailOp ("Stencil Fail Op", Float) = 0 + [Enum(UnityEngine.Rendering.StencilOp)] _OutlineStencilZFailOp ("Stencil ZFail Op", Float) = 0 + [Enum(UnityEngine.Rendering.CompareFunction)] _OutlineStencilCompareFunction ("Stencil Compare Function", Float) = 8 + [HideInInspector] m_end_OutlineStencil ("Outline Stencil", Float) = 0 + + // Debug Options + [HideInInspector] m_start_debugOptions ("Debug", Float) = 0 + [HideInInspector][Toggle(_COLOROVERLAY_ON)]_DebugEnabled ("Display Debug Info", Float) = 0 + _VertexUnwrap ("Unwrap", Range(0, 1)) = 0 + [Enum(Off, 0, Vertex Normal, 1, Pixel Normal, 2, Tangent, 3, Binormal, 4, Local 0 Distance, 5)] _DebugMeshData ("Mesh Data", Int) = 0 + [Enum(Off, 0, Attenuation, 1, Direct Lighting, 2, Indirect Lighting, 3, light Map, 4, Ramped Light Map, 5, Final Lighting, 6)] _DebugLightingData ("Lighting Data", Int) = 0 + [Enum(Off, 0, View Dir, 1, Tangent View Dir, 2, Forward Dir, 3, WorldPos, 4, View Dot Normal, 5)] _DebugCameraData ("Camera Data", Int) = 0 + [HideInInspector] m_end_debugOptions ("Debug", Float) = 0 + + //[HideInInspector] m_animationToggles ("Animation Support Toggles", Float) = 0 + //[HelpBox(1)] _AnimationToggleHelp ("You don't need to search through this list. You can enable animation support on any property by right clicking it", Int) = 0 + + // Main + [HideInInspector]_ColorAnimated ("Color & Alpha", Int) = 0 + [HideInInspector]_MainTexAnimated ("Texture", Int) = 0 + [HideInInspector]_MainTex_STAnimated ("Texture Offset/Scale", Int) = 0 + [HideInInspector]_MainTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_SaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_MainVertexColoringAnimated ("Use Vertex Color", Int) = 0 + [HideInInspector]_MainUseVertexColorAlphaAnimated ("Use Vertex Alpha", Int) = 0 + [HideInInspector]_MainEmissionStrengthAnimated ("Basic Emission", Int) = 0 + [HideInInspector]_BumpMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_BumpMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_BumpMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_BumpScaleAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_AlphaMaskAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_AlphaMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AlphaMaskUVAnimated ("UV", Int) = 0 + + //Hue Shifting + [HideInInspector]_MainHueShiftToggleAnimated ("Toggle Hueshift", Int) = 0 + [HideInInspector]_MainHueShiftReplaceAnimated ("Replace?", Int) = 0 + [HideInInspector]_MainHueShiftAnimated ("Hue Shift", Int) = 0 + [HideInInspector]_MainHueShiftSpeedAnimated ("Shift Speed", Int) = 0 + [HideInInspector]_MainHueShiftMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MainHueShiftMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainHueShiftMaskUVAnimated ("UV", Int) = 0 + + // RGB Masking + [HideInInspector]_RGBMaskEnabledAnimated ("RGB Mask Enabled", Int) = 0 + [HideInInspector]_RGBUseVertexColorsAnimated ("Use Vertex Colors", Int) = 0 + [HideInInspector]_RGBBlendMultiplicativeAnimated ("Multiplicative?", Int) = 0 + [HideInInspector]_RGBMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RGBMaskPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RedColorAnimated ("R Color", Int) = 0 + [HideInInspector]_RedTexureAnimated ("R Texture", Int) = 0 + [HideInInspector]_RGBRedPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBRed_UVAnimated ("UV", Int) = 0 + [HideInInspector]_GreenColorAnimated ("G Color", Int) = 0 + [HideInInspector]_GreenTextureAnimated ("G Texture", Int) = 0 + [HideInInspector]_RGBGreenPanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBGreen_UVAnimated ("UV", Int) = 0 + [HideInInspector]_BlueColorAnimated ("B Color", Int) = 0 + [HideInInspector]_BlueTextureAnimated ("B Texture", Int) = 0 + [HideInInspector]_RGBBluePanningAnimated ("Panning", Int) = 0 + [HideInInspector]_RGBBlue_UVAnimated ("UV", Int) = 0 + [HideInInspector]_RGBNormalBlendAnimated ("UV", Int) = 0 + + // Detail Options + [HideInInspector]_DetailMaskAnimated ("Detail Mask (R:Texture, G:Normal)", Int) = 0 + [HideInInspector]_DetailMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTintAnimated ("Detail Texture Tint", Int) = 0 + [HideInInspector]_DetailTexAnimated ("Detail Texture", Int) = 0 + [HideInInspector]_DetailTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_DetailTexIntensityAnimated ("Detail Tex Intensity", Int) = 0 + [HideInInspector]_DetailBrightnessAnimated ("Detail Brightness:", Int) = 0 + [HideInInspector]_DetailNormalMapAnimated ("Detail Normal", Int) = 0 + [HideInInspector]_DetailNormalMapScaleAnimated ("Detail Normal Intensity", Int) = 0 + [HideInInspector]_DetailNormalMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DetailNormalMapUVAnimated ("UV", Int) = 0 + + //Vertex Manipulations + [HideInInspector]_VertexManipulationLocalTranslationAnimated ("Local Translation", Int) = 0 + [HideInInspector]_VertexManipulationLocalRotationAnimated ("Local Rotation", Int) = 0 + [HideInInspector]_VertexManipulationLocalScaleAnimated ("Local Scale", Int) = 0 + [HideInInspector]_VertexManipulationWorldTranslationAnimated ("World Translation", Int) = 0 + [HideInInspector]_VertexManipulationHeightAnimated ("Vertex Height", Int) = 0 + [HideInInspector]_VertexManipulationHeightMaskAnimated ("Height Map", Int) = 0 + [HideInInspector]_VertexManipulationHeightPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VertexManipulationHeightUVAnimated ("UV", Int) = 0 + [HideInInspector]_VertexManipulationHeightBiasAnimated ("Mask Bias", Int) = 0 + [HideInInspector]_VertexRoundingEnabledAnimated ("Rounding Enabled", Int) = 0 + [HideInInspector]_VertexRoundingDivisionAnimated ("Division Amount", Int) = 0 + + // Alpha Options + [HideInInspector]_AlphaModAnimated ("Alpha Mod", Int) = 0 + [HideInInspector]_CutoffAnimated ("Alpha Cuttoff", Int) = 0 + [HideInInspector]_DitheringEnabledAnimated ("Enable Dithering", Int) = 0 + [HideInInspector]_DitherGradientAnimated ("Dither Gradient", Int) = 0 + [HideInInspector]_ForceOpaqueAnimated ("Force Opaque", Int) = 0 + [HideInInspector]_MainShadowClipModAnimated ("Shadow Clip Mod", Int) = 0 + [HideInInspector]_AlphaToMaskAnimated ("Alpha To Coverage", Int) = 0 + [HideInInspector]_MainAlphaToCoverageAnimated ("Sharpenned A2C", Int) = 0 + [HideInInspector]_AlphaPremultiplyAnimated ("Alpha Premultiply", Int) = 0 + [HideInInspector]_MainMipScaleAnimated ("Mip Level Alpha Scale", Int) = 0 + + // Decal Texture + [HideInInspector]_DecalEnabledAnimated ("Enable", Int) = 0 + [HideInInspector]_DecalColorAnimated ("Color", Int) = 0 + [HideInInspector]_DecalEmissionStrengthAnimated ("Color", Int) = 0 + [HideInInspector]_DecalTextureAnimated ("Decal", Int) = 0 + [HideInInspector]_DecalTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DecalMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DecalMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DecalTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_DecalScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_DecalPositionAnimated ("Position", Int) = 0 + [HideInInspector]_DecalRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_DecalRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_DecalBlendAddAnimated ("Add", Int) = 0 + [HideInInspector]_DecalBlendMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_DecalBlendReplaceAnimated ("Replace", Int) = 0 + + // Lighting + [HideInInspector]_EnableLightingAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LightingModeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingStandardSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_LightingShadingEnabledAnimated ("Enable Shading-",Int) = 0 + [HideInInspector]_LightingRampTypeAnimated ("Ramp Type", Int) = 0 + [HideInInspector]_ToonRampAnimated ("Lighting Ramp", Int) = 0 + [HideInInspector]_LightingShadowMaskAnimated ("Ramp Mask", Int) = 0 + [HideInInspector]_LightingShadowMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ShadowOffsetAnimated ("Ramp Offset", Int) = 0 + [HideInInspector]_LightingGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingShadowColorAnimated ("Shadow Tint", Int) = 0 + [HideInInspector]_ShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_AttenuationMultiplierAnimated ("Unity Shadows", Int) = 0 + [HideInInspector]_LightingIgnoreAmbientColorAnimated ("Ignore Ambient Color", Int) = 0 + + [HideInInspector]_LightingDirectColorModeAnimated ("D Color", Int) = 0 + [HideInInspector]_LightingIndirectColorModeAnimated ("I Color?", Int) = 0 + [HideInInspector]_LightingMonochromaticAnimated ("Monochromatic Lighting?", Int) = 0 + [HideInInspector]_LightingUncappedAnimated ("Uncapped Lighting", Int) = 0 + [HideInInspector]_LightingOnlyUnityShadowsAnimated ("Only Unity Shadows", Int) = 0 + [HideInInspector]_LightingMinLightBrightnessAnimated ("Min Brightnes", Int) = 0 + [HideInInspector]_LightingMinShadowBrightnessRatioAnimated ("Shadow:Light min Ratio", Int) = 0 + + [HideInInspector]_LightingDetailShadowsEnabledAnimated ("Enabled Detail Shadows?", Int) = 0 + [HideInInspector]_LightingDetailShadowsAnimated ("Detail Shadows", Int) = 0 + [HideInInspector]_LightingDetailShadowsPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingDetailShadowsUVAnimated ("UV", Int) = 0 + [HideInInspector]_LightingDetailStrengthAnimated ("Detail Strength", Int) = 0 + + [HideInInspector]_LightingEnableAOAnimated ("Enable AO", Int) = 0 + [HideInInspector]_LightingAOTexAnimated ("AO Map", Int) = 0 + [HideInInspector]_LightingAOTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingAOTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_AOStrengthAnimated ("AO Strength", Range(0, 1)) = 0 + + [HideInInspector]_UseShadowTextureAnimated ("EnableShadowTexture", Int) = 0 + [HideInInspector]_LightingShadowTextureAnimated ("Shadow Texture", Int) = 0 + [HideInInspector]_LightingShadowTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_LightingShadowTextureUVAnimated ("UV", Int) = 0 + + [HideInInspector]_LightingEnableHSLAnimated ("Enabled HSL Lighting", Int) = 0 + [HideInInspector]_LightingHSLIntensityAnimated ("Shadow HSL Intensity", Int) = 0 + [HideInInspector]_LightingShadowHueAnimated ("Shadow Hue Change", Int) = 0 + [HideInInspector]_LightingShadowSaturationAnimated ("Shadow Saturation Change", Int) = 0 + [HideInInspector]_LightingShadowLightnessAnimated ("Shadow Lightness Change", Int) = 0 + + // point/spot Light Settings + [HideInInspector]_commentIfZero_LightingAdditiveEnableAnimated ("Enable Additive", Int) = 0 + [HideInInspector]_LightingAdditiveTypeAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_LightingAdditiveGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_LightingAdditiveGradientEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_LightingAdditivePassthroughAnimated ("Point Light Passthrough", Int) = 0 + [HideInInspector]_LightingAdditiveDetailStrengthAnimated ("Detail Shadow Strength", Int) = 0 + [HideInInspector]_LightingAdditiveLimitIntensityAnimated ("Limit Intensity", Int) = 0 + [HideInInspector]_LightingAdditiveMaxIntensityAnimated ("Max Intensity", Int) = 0 + + // Subsurface Scattering + [HideInInspector]_EnableSSSAnimated ("Enable Subsurface Scattering", Int) = 0 + [HideInInspector]_SSSColorAnimated ("Subsurface Color", Int) = 0 + [HideInInspector]_SSSThicknessMapAnimated ("Thickness Map", Int) = 0 + [HideInInspector]_SSSThicknessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SSSThicknessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SSSThicknessModAnimated ("Thickness mod", Int) = 0 + [HideInInspector]_SSSSCaleAnimated ("Light Strength", Int) = 0 + [HideInInspector]_SSSPowerAnimated ("Light Spread", Int) = 0 + [HideInInspector]_SSSDistortionAnimated ("Light Distortion", Int) = 0 + + // Rim Lighting + [HideInInspector]_EnableRimLightingAnimated ("Enable Rim Lighting", Int) = 0 + [HideInInspector]_RimLightNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_RimLightingInvertAnimated ("Invert Rim Lighting", Int) = 0 + [HideInInspector]_RimLightColorAnimated ("Rim Color", Int) = 0 + [HideInInspector]_RimWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimStrengthAnimated ("Rim Emission", Int) = 0 + [HideInInspector]_RimBrightenAnimated ("Rim Color Brighten", Int) = 0 + [HideInInspector]_RimLightColorBiasAnimated ("Rim Color Bias", Int) = 0 + [HideInInspector]_RimTexAnimated ("Rim Texture", Int) = 0 + [HideInInspector]_RimTexPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimTexUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimMaskAnimated ("Rim Mask", Int) = 0 + [HideInInspector]_RimMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimMaskUVAnimated ("UV", Int) = 0 + + // Rim Noise + [HideInInspector]_RimWidthNoiseTextureAnimated ("Rim Width Noise", Int) = 0 + [HideInInspector]_RimWidthNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimWidthNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimWidthNoiseStrengthAnimated ("Intensity", Int) = 0 + + // Rim Shadow Mix + [HideInInspector]_ShadowMixAnimated ("Shadow Mix In", Int) = 0 + [HideInInspector]_ShadowMixThresholdAnimated ("Shadow Mix Threshold", Int) = 0 + [HideInInspector]_ShadowMixWidthModAnimated ("Shadow Mix Width Mod", Int) = 0 + + // Environmental Rim Lighting + [HideInInspector]_EnableEnvironmentalRimAnimated ("Enable Environmental Rim", Int) = 0 + [HideInInspector]_RimEnviroMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_RimEnviroMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_RimEnviroMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_RimEnviroBlurAnimated ("Blur", Int) = 0 + [HideInInspector]_RimEnviroWidthAnimated ("Rim Width", Int) = 0 + [HideInInspector]_RimEnviroSharpnessAnimated ("Rim Sharpness", Int) = 0 + [HideInInspector]_RimEnviroMinBrightnessAnimated ("Min Brightness Threshold", Int) = 0 + [HideInInspector]_RimEnviroIntensityAnimated ("Intensity", Int) = 0 + + // Metallics + [HideInInspector]_EnableMetallicAnimated ("Enable Metallics", Int) = 0 + [HideInInspector]_CubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_SampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_MetalReflectionTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_MetallicTintMapAnimated ("Tint Map", Int) = 0 + [HideInInspector]_MetallicTintMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicTintMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicMaskAnimated ("Metallic Mask", Int) = 0 + [HideInInspector]_MetallicMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MetallicMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SmoothnessMaskAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SmoothnessMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_InvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_SmoothnessAnimated ("Smoothness", Int) = 0 + + // Clearcoat + [HideInInspector]_EnableClearCoatAnimated ("Enable Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatNormalToUseAnimated ("What Normal?", Int) = 0 + [HideInInspector]_ClearCoatCubeMapAnimated ("Baked CubeMap", Int) = 0 + [HideInInspector]_ClearCoatSampleWorldAnimated ("Force Baked Cubemap", Int) = 0 + [HideInInspector]_ClearCoatTintAnimated ("Reflection Tint", Int) = 0 + [HideInInspector]_ClearCoatMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ClearCoatMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapAnimated ("Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_ClearCoatInvertSmoothnessAnimated ("Invert Smoothness Map", Int) = 0 + [HideInInspector]_ClearCoatSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_ClearCoatForceLightingAnimated ("Force Lighting", Int) = 0 + + // First Matcap + [HideInInspector]_MatcapEnableAnimated ("Enable Matcap", Int) = 0 + [HideInInspector]_MatcapColorAnimated ("Color", Int) = 0 + [HideInInspector]_MatcapAnimated ("Matcap", Int) = 0 + [HideInInspector]_MatcapBorderAnimated ("Border", Int) = 0 + [HideInInspector]_MatcapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_MatcapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_MatcapMaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_MatcapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_MatcapEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_MatcapIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_MatcapLightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_MatcapReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_MatcapMultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_MatcapAddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_MatcapNormalAnimated ("Normal to use", Int) = 0 + + // Second Matcap + [HideInInspector]_Matcap2EnableAnimated ("Enable Matcap 2", Int) = 0 + [HideInInspector]_Matcap2ColorAnimated ("Color", Int) = 0 + [HideInInspector]_Matcap2Animated ("Matcap", Int) = 0 + [HideInInspector]_Matcap2BorderAnimated ("Border", Int) = 0 + [HideInInspector]_Matcap2MaskAnimated ("Mask", Int) = 0 + [HideInInspector]_Matcap2MaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_Matcap2MaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_Matcap2MaskInvertAnimated ("Invert", Int) = 0 + [HideInInspector]_Matcap2EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_Matcap2IntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_Matcap2LightMaskAnimated ("Hide in Shadow", Int) = 0 + [HideInInspector]_Matcap2ReplaceAnimated ("Replace With Matcap", Int) = 0 + [HideInInspector]_Matcap2MultiplyAnimated ("Multiply Matcap", Int) = 0 + [HideInInspector]_Matcap2AddAnimated ("Add Matcap", Int) = 0 + [HideInInspector]_Matcap2NormalAnimated ("Normal to use", Int) = 0 + + // Specular + [HideInInspector]_EnableSpecularAnimated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularTypeAnimated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormalAnimated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTintAnimated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothnessAnimated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMapAnimated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothnessAnimated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMaskAnimated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFromAnimated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangentAnimated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1AlphaAnimated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2AlphaAnimated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1OffsetAnimated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2SmoothnessAnimated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMapAnimated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMapAnimated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStartAnimated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEndAnimated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColorAnimated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirroredAnimated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroAnimated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplierAnimated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroAnimated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplierAnimated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroPanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroUVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuterAnimated ("Inner/Outer Edge", Int) = 0 + + // Second Specular + [HideInInspector]_EnableSpecular1Animated ("Enable Specular", Int) = 0 + [HideInInspector]_SpecularType1Animated ("Specular Type", Int) = 0 + [HideInInspector]_SpecularNormal1Animated ("Normal Select", Int) = 0 + [HideInInspector]_SpecularTint1Animated ("Specular Tint", Int) = 0 + [HideInInspector]_SpecularMetallic1Animated ("Metallic", Int) = 0 + [HideInInspector]_SpecularSmoothness1Animated ("Smoothness", Int) = 0 + [HideInInspector]_SpecularMap1Animated ("Specular Map", Int) = 0 + [HideInInspector]_SpecularMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularInvertSmoothness1Animated ("Invert Smoothness", Int) = 0 + [HideInInspector]_SpecularMask1Animated ("Specular Mask", Int) = 0 + [HideInInspector]_SpecularMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SmoothnessFrom1Animated ("Smoothness From", Int) = 0 + [HideInInspector]_SpecWhatTangent1Animated ("(Bi)Tangent?", Int) = 0 + [HideInInspector]_AnisoSpec1Alpha1Animated ("Spec1 Alpha", Int) = 0 + [HideInInspector]_AnisoSpec2Alpha1Animated ("Spec2 Alpha", Int) = 0 + [HideInInspector]_Spec1Offset1Animated ("Spec1 Offset", Int) = 0 + [HideInInspector]_Spec2Smoothness1Animated ("Spec2 Smoothness", Int) = 0 + [HideInInspector]_AnisoUseTangentMap1Animated ("Use Directional Map?", Int) = 0 + [HideInInspector]_AnisoTangentMap1Animated ("Anisotropic Directional Map", Int) = 0 + [HideInInspector]_AnisoTangentMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_AnisoTangentMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonStart1Animated ("Spec Toon Start", Int) = 0 + [HideInInspector]_SpecularToonEnd1Animated ("Spec Toon End", Int) = 0 + //[ToggleUI]_CenterOutSpecColor1Animated ("Center Out SpecMap", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMirrored1Animated ("Mirrored?", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1Animated ("Micro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicroMultiplier1Animated ("Micro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMicro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1Animated ("Macro Shift", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacroMultiplier1Animated ("Macro Multiplier", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_SpecularAnisoJitterMacro1UVAnimated ("UV", Int) = 0 + [HideInInspector]_SpecularToonInnerOuter1Animated ("Inner/Outer Edge", Int) = 0 + + // First Emission + [HideInInspector]_EnableEmissionAnimated ("Enable Emission", Int) = 0 + [HideInInspector]_EmissionReplaceAnimated ("Replace Base Color", Int) = 0 + [HideInInspector]_EmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMapAnimated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMapAnimated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMaskAnimated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabledAnimated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShiftAnimated ("Hue Shift", Int) = 0 + + // Center out emission + [HideInInspector]_EmissionCenterOutEnabledAnimated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeedAnimated ("Flow Speed", Int) = 0 + + // Glow in the dark Emission + [HideInInspector]_EnableGITDEmissionAnimated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMeshAnimated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplierAnimated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplierAnimated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLightAnimated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLightAnimated ("Max Lighting", Int) = 0 + + // Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_MinAnimated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_MaxAnimated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_VelocityAnimated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffsetAnimated ("Offset", Int) = 0 + + // Scrolling Emission + [HideInInspector]_ScrollingEmissionAnimated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurveAnimated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurveAnimated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColorAnimated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_DirectionAnimated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_WidthAnimated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_VelocityAnimated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_IntervalAnimated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffsetAnimated ("Offset", Int) = 0 + + // Second Enission + [HideInInspector]_EnableEmission1Animated ("Enable Emission 2", Int) = 0 + [HideInInspector]_EmissionColor1Animated ("Emission Color", Int) = 0 + [HideInInspector]_EmissionMap1Animated ("Emission Map", Int) = 0 + [HideInInspector]_EmissionBaseColorAsMap1Animated ("Base Color as Map?", Int) = 0 + [HideInInspector]_EmissionMap1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMap1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionMask1Animated ("Emission Mask", Int) = 0 + [HideInInspector]_EmissionMask1PanAnimated ("Panning", Int) = 0 + [HideInInspector]_EmissionMask1UVAnimated ("UV", Int) = 0 + [HideInInspector]_EmissionStrength1Animated ("Emission Strength", Int) = 0 + [HideInInspector]_EmissionHueShiftEnabled1Animated ("Enable Hue Shift", Int) = 0 + [HideInInspector]_EmissionHueShift1Animated ("Hue Shift", Int) = 0 + + // Second Center Out Enission + [HideInInspector]_EmissionCenterOutEnabled1Animated ("Enable Center Out", Int) = 0 + [HideInInspector]_EmissionCenterOutSpeed1Animated ("Flow Speed", Int) = 0 + + // Second Glow In The Dark Emission + [HideInInspector]_EnableGITDEmission1Animated ("Enable Glow In The Dark", Int) = 0 + [HideInInspector]_GITDEWorldOrMesh1Animated ("Lighting Type", Int) = 0 + [HideInInspector]_GITDEMinEmissionMultiplier1Animated ("Min Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMaxEmissionMultiplier1Animated ("Max Emission Multiplier", Int) = 0 + [HideInInspector]_GITDEMinLight1Animated ("Min Lighting", Int) = 0 + [HideInInspector]_GITDEMaxLight1Animated ("Max Lighting", Int) = 0 + + // Second Blinking Emission + [HideInInspector]_EmissionBlinkingEnabledAnimated ("Blinking Enabled", Int) = 0 + [HideInInspector]_EmissiveBlink_Min1Animated ("Emissive Blink Min", Int) = 0 + [HideInInspector]_EmissiveBlink_Max1Animated ("Emissive Blink Max", Int) = 0 + [HideInInspector]_EmissiveBlink_Velocity1Animated ("Emissive Blink Velocity", Int) = 0 + [HideInInspector]_EmissionBlinkingOffset1Animated ("Offset", Int) = 0 + + // Scrolling Scrolling Emission + [HideInInspector]_ScrollingEmission1Animated ("Enable Scrolling Emission", Int) = 0 + [HideInInspector]_EmissionScrollingUseCurve1Animated ("Use Curve", Int) = 0 + [HideInInspector]_EmissionScrollingCurve1Animated ("Curve", Int) = 0 + [HideInInspector]_EmissionScrollingVertexColor1Animated ("use vcolor", Int) = 0 + [HideInInspector]_EmissiveScroll_Direction1Animated ("Direction", Int) = 0 + [HideInInspector]_EmissiveScroll_Width1Animated ("Width", Int) = 0 + [HideInInspector]_EmissiveScroll_Velocity1Animated ("Velocity", Int) = 0 + [HideInInspector]_EmissiveScroll_Interval1Animated ("Interval", Int) = 0 + [HideInInspector]_EmissionScrollingOffset1Animated ("Offset", Int) = 0 + + // Flipbook + [HideInInspector]_EnableFlipbookAnimated ("Enable Flipbook", Int) = 0 + [HideInInspector]_FlipbookAlphaControlsFinalAlphaAnimated ("Flipbook Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookIntensityControlsAlphaAnimated ("Intensity Controls Alpha?", Int) = 0 + [HideInInspector]_FlipbookColorReplacesAnimated ("Color Replaces Flipbook", Int) = 0 + [HideInInspector]_FlipbookTexArrayAnimated ("Texture Array", Int) = 0 + [HideInInspector]_FlipbookTexArrayUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookTexArrayPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_FlipbookMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_FlipbookMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_FlipbookColorAnimated ("Color & alpha", Int) = 0 + [HideInInspector]_FlipbookTotalFramesAnimated ("Total Frames", Int) = 0 + [HideInInspector]_FlipbookFPSAnimated ("FPS", Int) = 0 + [HideInInspector]_FlipbookScaleOffsetAnimated ("Scale | Offset", Int) = 0 + [HideInInspector]_FlipbookTiledAnimated ("Tiled?", Int) = 0 + [HideInInspector]_FlipbookEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_FlipbookRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_FlipbookRotationSpeedAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_FlipbookReplaceAnimated ("Replace", Int) = 0 + [HideInInspector]_FlipbookMultiplyAnimated ("Multiply", Int) = 0 + [HideInInspector]_FlipbookAddAnimated ("Add", Int) = 0 + [HideInInspector]_FlipbookCurrentFrameAnimated ("Current Frame", Int) = 0 + + // Dissolve + [HideInInspector]_EnableDissolveAnimated ("Enable Dissolve", Int) = 0 + [HideInInspector]_DissolveTypeAnimated ("Dissolve Type", Int) = 0 + [HideInInspector]_DissolveEdgeWidthAnimated ("Edge Width", Int) = 0 + [HideInInspector]_DissolveEdgeHardnessAnimated ("Edge Hardness", Int) = 0 + [HideInInspector]_DissolveEdgeColorAnimated ("Edge Color", Int) = 0 + [HideInInspector]_DissolveEdgeGradientAnimated ("Edge Gradient", Int) = 0 + [HideInInspector]_DissolveEdgeEmissionAnimated ("Edge Emission", Int) = 0 + [HideInInspector]_DissolveTextureColorAnimated ("Dissolved Color", Int) = 0 + [HideInInspector]_DissolveToTextureAnimated ("Dissolved Texture", Int) = 0 + [HideInInspector]_DissolveToTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveToTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveToEmissionStrengthAnimated ("Dissolved Emission Strength", Int) = 0 + [HideInInspector]_DissolveNoiseTextureAnimated ("Dissolve Noise", Int) = 0 + [HideInInspector]_DissolveNoiseTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveNoiseTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailNoiseAnimated ("Dissolve Detail Noise", Int) = 0 + [HideInInspector]_DissolveDetailNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveDetailNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveInvertDetailNoiseAnimated ("Invert?", Int) = 0 + [HideInInspector]_DissolveDetailStrengthAnimated ("Dissolve Detail Strength", Int) = 0 + [HideInInspector]_DissolveAlphaAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveUseVertexColorsAnimated ("Dissolve Alpha", Int) = 0 + [HideInInspector]_DissolveMaskAnimated ("Dissolve Mask", Int) = 0 + [HideInInspector]_DissolveMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DissolveMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_DissolveMaskInvertAnimated ("Invert?", Int) = 0 + [HideInInspector]_ContinuousDissolveAnimated ("Continuous Dissolve Speed", Int) = 0 + [HideInInspector]_DissolveEmissionSideAnimated ("Emission 1", Int) = 0 + [HideInInspector]_DissolveEmission1SideAnimated ("Emission 2", Int) = 0 + + // Point to Point Dissolve + [HideInInspector]_DissolveP2PWorldLocalAnimated ("World/Local", Int) = 0 + [HideInInspector]_DissolveP2PEdgeLengthAnimated ("Edge Length", Int) = 0 + [HideInInspector]_DissolveStartPointAnimated ("Start Point", Int) = 0 + [HideInInspector]_DissolveEndPointAnimated ("End Point", Int) = 0 + + [HideInInspector]_DissolveAlpha0Animated ("_DissolveAlpha0", Int) = 0 + [HideInInspector]_DissolveAlpha1Animated ("_DissolveAlpha1", Int) = 0 + [HideInInspector]_DissolveAlpha2Animated ("_DissolveAlpha2", Int) = 0 + [HideInInspector]_DissolveAlpha3Animated ("_DissolveAlpha3", Int) = 0 + [HideInInspector]_DissolveAlpha4Animated ("_DissolveAlpha4", Int) = 0 + [HideInInspector]_DissolveAlpha5Animated ("_DissolveAlpha5", Int) = 0 + [HideInInspector]_DissolveAlpha6Animated ("_DissolveAlpha6", Int) = 0 + [HideInInspector]_DissolveAlpha7Animated ("_DissolveAlpha7", Int) = 0 + [HideInInspector]_DissolveAlpha8Animated ("_DissolveAlpha8", Int) = 0 + [HideInInspector]_DissolveAlpha9Animated ("_DissolveAlpha9", Int) = 0 + + // Panosphere + [HideInInspector]_PanoToggleAnimated ("Enable Panosphere", Int) = 0 + [HideInInspector]_PanoInfiniteStereoToggleAnimated ("Infinite Stereo", Int) = 0 + [HideInInspector]_PanosphereColorAnimated ("Color", Int) = 0 + [HideInInspector]_PanosphereTextureAnimated ("Texture", Int) = 0 + [HideInInspector]_PanoMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_PanoMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_PanoMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_PanoEmissionAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_PanoBlendAnimated ("Alpha", Int) = 0 + [HideInInspector]_PanospherePanAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_PanoCubeMapToggleAnimated ("Use Cubemap", Int) = 0 + [HideInInspector]_PanoCubeMapAnimated ("CubeMap", Int) = 0 + + // Glitter + [HideInInspector]_GlitterEnableAnimated ("Enable Glitter?", Int) = 0 + [HideInInspector]_GlitterModeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterShapeAnimated ("Mode", Int) = 0 + [HideInInspector]_GlitterBlendTypeAnimated ("Blend Mode", Int) = 0 + [HideInInspector]_GlitterColorAnimated ("Color", Int) = 0 + [HideInInspector]_GlitterUseSurfaceColorAnimated ("Use Surface Color", Int) = 0 + [HideInInspector]_GlitterColorMapAnimated ("Glitter Color Map", Int) = 0 + [HideInInspector]_GlitterColorMapPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterColorMapUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_GlitterTextureAnimated ("Glitter Mask", Int) = 0 + [HideInInspector]_GlitterTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterRandomRotationAnimated ("Panning", Int) = 0 + [HideInInspector]_GlitterFrequencyAnimated ("Glitter Density", Int) = 0 + [HideInInspector]_GlitterJitterAnimated ("Glitter Jitter", Int) = 0 + [HideInInspector]_GlitterSpeedAnimated ("Glitter Wobble Speed", Int) = 0 + [HideInInspector]_GlitterSizeAnimated ("Glitter Size", Int) = 0 + [HideInInspector]_GlitterContrastAnimated ("Glitter Contrast", Int) = 0 + [HideInInspector]_GlitterAngleRangeAnimated ("Glitter Angle Range", Int) = 0 + [HideInInspector]_GlitterMinBrightnessAnimated ("Glitter Min Brightness", Int) = 0 + [HideInInspector]_GlitterBrightnessAnimated ("Glitter Max Brightness", Int) = 0 + [HideInInspector]_GlitterBiasAnimated ("Glitter Bias", Int) = 0 + [HideInInspector]_GlitterCenterSizeAnimated ("center size", Int) = 0 + [HideInInspector]_GlitterTextureRotationAnimated ("Rotation Speed", Int) = 0 + [HideInInspector]_glitterFrequencyLinearEmissiveAnimated ("Frequency", Int) = 0 + [HideInInspector]_GlitterJaggyFixAnimated ("Jaggy Fix", Int) = 0 + + // Glitter Random Colors + [HideInInspector]_GlitterRandomColorsAnimated ("Enable", Int) = 0 + [HideInInspector]_GlitterMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_GlitterMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + [HideInInspector]_GlitterRandomSizeAnimated ("random Size Toggle", Int) = 0 + [HideInInspector]_GlitterMinMaxSizeAnimated ("Min Max Random Size", Int) = 0 + + // MSDF OVERLAY + [HideInInspector]_TextGlyphsAnimated ("Font Array", Int) = 0 + [HideInInspector]_TextPixelRangeAnimated ("Pixel Range", Int) = 0 + [HideInInspector]_TextEnabledAnimated ("Text?", Int) = 0 + + // FPS + [HideInInspector]_TextFPSEnabledAnimated ("FPS Text?", Int) = 0 + [HideInInspector]_TextFPSUVAnimated ("FPS UV", Int) = 0 + [HideInInspector]_TextFPSColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextFPSEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextFPSOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextFPSRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextFPSScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextFPSPaddingAnimated ("Padding Reduction", Int) = 0 + + // POSITION + [HideInInspector]_TextPositionEnabledAnimated ("Position Text?", Int) = 0 + [HideInInspector]_TextPositionUVAnimated ("Position UV", Int) = 0 + //[ToggleUI]_TextPositionVerticalAnimated ("Vertical?", Int) = 0 + [HideInInspector]_TextPositionColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextPositionEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextPositionOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextPositionRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextPositionScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextPositionPaddingAnimated ("Padding Reduction", Int) = 0 + + // INSTANCE TIME + [HideInInspector]_TextTimeEnabledAnimated ("Time Text?", Int) = 0 + [HideInInspector]_TextTimeUVAnimated ("Time UV", Int) = 0 + [HideInInspector]_TextTimeColorAnimated ("Color", Int) = 0 + [HideInInspector]_TextTimeEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_TextTimeOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_TextTimeRotationAnimated ("Rotation", Int) = 0 + [HideInInspector]_TextTimeScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_TextTimePaddingAnimated ("Padding Reduction", Int) = 0 + + // Mirror Rendering + [HideInInspector]_EnableMirrorOptionsAnimated ("Enable Mirror Options", Int) = 0 + [HideInInspector]_MirrorAnimated ("Show in mirror", Int) = 0 + [HideInInspector]_EnableMirrorTextureAnimated ("Enable Mirror Texture", Int) = 0 + [HideInInspector]_MirrorTextureAnimated ("Mirror Tex", Int) = 0 + [HideInInspector]_MirrorTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MirrorTextureUVAnimated ("UV", Int) = 0 + + // Distance Fade + [HideInInspector]_MainMinAlphaAnimated ("Minimum Alpha", Int) = 0 + [HideInInspector]_MainFadeTextureAnimated ("Fade Mask", Int) = 0 + [HideInInspector]_MainFadeTexturePanAnimated ("Panning", Int) = 0 + [HideInInspector]_MainFadeTextureUVAnimated ("UV", Int) = 0 + [HideInInspector]_MainDistanceFadeAnimated ("Distance Fade X to Y", Int) = 0 + + // Angular Fade + [HideInInspector]_EnableRandomAnimated ("Enable Angular Fade", Int) = 0 + [HideInInspector]_AngleTypeAnimated ("Angle Type", Int) = 0 + [HideInInspector]_AngleCompareToAnimated ("Model or Vert Positon", Int) = 0 + [HideInInspector]_AngleForwardDirectionAnimated ("Forward Direction", Int) = 0 + [HideInInspector]_CameraAngleMinAnimated ("Camera Angle Min", Int) = 0 + [HideInInspector]_CameraAngleMaxAnimated ("Camera Angle Max", Int) = 0 + [HideInInspector]_ModelAngleMinAnimated ("Model Angle Min", Int) = 0 + [HideInInspector]_ModelAngleMaxAnimated ("Model Angle Max", Int) = 0 + [HideInInspector]_AngleMinAlphaAnimated ("Min Alpha", Int) = 0 + + // UV Distortion + [HideInInspector]_EnableDistortionAnimated ("Enabled?", Int) = 0 + [HideInInspector]_DistortionMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_DistortionMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_DistortionMaskUVAnimated ("Distortion Mask UV", Int) = 0 + [HideInInspector]_DistortionFlowTextureAnimated ("Distortion Texture 1", Int) = 0 + [HideInInspector]_DistortionFlowTexture1Animated ("Distortion Texture 2", Int) = 0 + [HideInInspector]_DistortionStrengthAnimated ("Strength1", Int) = 0 + [HideInInspector]_DistortionStrength1Animated ("Strength2", Int) = 0 + [HideInInspector]_DistortionSpeedAnimated ("Speed1", Int) = 0 + [HideInInspector]_DistortionSpeed1Animated ("Speed2", Int) = 0 + + // Video Options + [HideInInspector]_EnableVideoAnimated ("Enable Video", Int) = 0 + [HideInInspector]_VideoUVNumberAnimated ("Screen UV#", Int) = 0 + [HideInInspector]_VideoTypeAnimated ("Screen Type", Int) = 0 + [HideInInspector]_VideoBacklightAnimated ("Brightness", Int) = 0 + [HideInInspector]_VideoPixelTextureAnimated ("Pixel Texture", Int) = 0 + [HideInInspector]_VideoResolutionAnimated ("Resolution", Int) = 0 + [HideInInspector]_VideoMaskTextureAnimated ("Mask", Int) = 0 + [HideInInspector]_VideoMaskPanningAnimated ("Mask Pan Speed", Int) = 0 + [HideInInspector]_VideoEnableVideoPlayerAnimated ("Enable Video Player", Int) = 0 + [HideInInspector]_VideoPixelateToResolutionAnimated ("Pixelate To Resolution", Int) = 0 + [HideInInspector]_VideoRepeatVideoTextureAnimated ("Clamp To UV", Int) = 0 + [HideInInspector]_VideoPanningAnimated ("Panning Speed", Int) = 0 + [HideInInspector]_VideoTilingAnimated ("Tiling", Int) = 0 + [HideInInspector]_VideoOffsetAnimated ("Offset", Int) = 0 + [HideInInspector]_VideoSaturationAnimated ("Saturation", Int) = 0 + [HideInInspector]_VideoContrastAnimated ("Contrast boost", Int) = 0 + [HideInInspector]_VideoEnableDebugAnimated ("Enable Debug", Int) = 0 + [HideInInspector]_VideoDebugTextureAnimated ("Video Debug Tex", Int) = 0 + [HideInInspector]_VideoCRTRefreshRateAnimated ("Refresh Rate", Int) = 0 + [HideInInspector]_VideoCRTPixelEnergizedTimeAnimated ("Pixel Fade Time", Int) = 0 + [HideInInspector]_VideoGameboyRampAnimated ("Color Ramp", Int) = 0 + + // TouchFX + [HideInInspector]_EnableBulgeAnimated ("Bulge", Int) = 0 + [HideInInspector]_BulgeMaskAnimated ("Bulge Mask", Int) = 0 + [HideInInspector]_BuldgeFadeLengthAnimated ("Touch Distance", Int) = 0 + [HideInInspector]_BuldgeHeightAnimated ("Bulge Height", Int) = 0 + + [HideInInspector]_EnableTouchGlowAnimated ("Enable Touch Glow", Int) = 0 + [HideInInspector]_DepthGradientTextureUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientBlendAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientPanAnimated ("", Int) = 0 + [HideInInspector]_DepthGradientUVAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskPanAnimated ("", Int) = 0 + [HideInInspector]_DepthMaskUVAnimated ("", Int) = 0 + [HideInInspector]_DepthGlowColorAnimated ("Depth Glow Color", Int) = 0 + [HideInInspector]_DepthGradientAnimated ("Depth Gradient", Int) = 0 + [HideInInspector]_DepthMaskAnimated ("Depth Mask", Int) = 0 + [HideInInspector]_DepthGlowEmissionAnimated ("Depth Glow Emission", Int) = 0 + [HideInInspector]_FadeLengthAnimated ("Fade Length", Int) = 0 + [HideInInspector]_DepthAlphaMinAnimated ("Alpha Min", Int) = 0 + [HideInInspector]_DepthAlphaMaxAnimated ("Alpha Max", Int) = 0 + + // Hologram + [HideInInspector]_EnableHoloAnimated ("Enable Hologram Alpha", Int) = 0 + [HideInInspector]_HoloAlphaMapAnimated ("Alpha Map", Int) = 0 + [HideInInspector]_HoloCoordinateSpaceAnimated ("Coordinate Space", Int) = 0 + [HideInInspector]_HoloDirectionAnimated ("Scroll Direction", Int) = 0 + [HideInInspector]_HoloLineDensityAnimated ("Line Density", Int) = 0 + [HideInInspector]_HoloScrollSpeedAnimated ("Scroll Speed", Int) = 0 + [HideInInspector]_HoloFresnelAlphaAnimated ("Intensity", Int) = 0 + [HideInInspector]_HoloRimSharpnessAnimated ("Sharpness", Int) = 0 + [HideInInspector]_HoloRimWidthAnimated ("Width", Int) = 0 + + // GrabPass + [HideInInspector]_GrabPassUseAlphaAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabPassBlendFactorAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabSrcBlendAnimated ("Source Blend", Int) = 0 + [HideInInspector]_GrabDstBlendAnimated ("Destination Blend", Int) = 0 + [HideInInspector]_RefractionEnabledAnimated ("Enable Refraction,", Int) = 0 + [HideInInspector]_RefractionIndexAnimated ("Refraction", Int) = 0 + [HideInInspector]_RefractionChromaticAberattionAnimated ("Chromatic Aberration", Int) = 0 + [HideInInspector]_EnableBlurAnimated ("Enable Blur", Int) = 0 + [HideInInspector]_GrabBlurDistanceAnimated ("Blur Distance", Int) = 0 + [HideInInspector]_GrabBlurQualityAnimated ("Blur Quality", Int) = 0 + [HideInInspector]_GrabBlurDirectionsAnimated ("Blur Direction", Int) = 0 + + // Iridescence + [HideInInspector]_EnableIridescenceAnimated ("Enable Iridescence", Int) = 0 + [HideInInspector]_IridescenceRampAnimated ("Ramp", Int) = 0 + [HideInInspector]_IridescenceNormalToggleAnimated ("Custom Normals?", Int) = 0 + [HideInInspector]_IridescenceNormalMapAnimated ("Normal Map", Int) = 0 + [HideInInspector]_IridescenceMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_IridescenceNormalIntensityAnimated ("Normal Intensity", Int) = 0 + [HideInInspector]_IridescenceNormalUVAnimated ("Normal UV", Int) = 0 + [HideInInspector]_IridescenceMaskUVAnimated ("Mask UV", Int) = 0 + [HideInInspector]_IridescenceNormalSelectionAnimated ("Normal Select", Int) = 0 + [HideInInspector]_IridescenceIntensityAnimated ("Intensity", Int) = 0 + [HideInInspector]_IridescenceAddBlendAnimated ("Blend Add", Int) = 0 + [HideInInspector]_IridescenceReplaceBlendAnimated ("Blend Replace", Int) = 0 + [HideInInspector]_IridescenceMultiplyBlendAnimated ("Blend Multiply", Int) = 0 + [HideInInspector]_IridescenceEmissionStrengthAnimated ("Emission Strength", Int) = 0 + [HideInInspector]_IridescenceTimeAnimated ("When To Run", Int) = 0 + + // Vertex Glitching + [HideInInspector]_EnableVertexGlitchAnimated ("Enable Vertex Glitching", Int) = 0 + [HideInInspector]_VertexGlitchFrequencyAnimated ("Glitch Interval", Int) = 0 + [HideInInspector]_VertexGlitchThresholdAnimated ("Glitch Threshold", Int) = 0 + [HideInInspector]_VertexGlitchStrengthAnimated ("Glitch Strength", Int) = 0 + + // Spawn In Effects + [HideInInspector]_EnableScifiSpawnInAnimated ("Enable Sci Fi Spawn", Int) = 0 + [HideInInspector]_SpawnInNoiseAnimated ("Spawn Noise", Int) = 0 + [HideInInspector]_SpawnInNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_SpawnInAlphaAnimated ("Spawn Alpha", Int) = 0 + [HideInInspector]_SpawnInGradientStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_SpawnInGradientFinishAnimated ("Gradient End", Int) = 0 + [HideInInspector]_SpawnInEmissionColorAnimated ("Emission Color", Int) = 0 + [HideInInspector]_SpawnInEmissionOffsetAnimated ("Emission Width", Int) = 0 + [HideInInspector]_SpawnInVertOffsetAnimated ("Vertex Offset Speed", Int) = 0 + [HideInInspector]_SpawnInVertOffsetOffsetAnimated ("vert width", Int) = 0 + + // Voronoi + [HideInInspector]_VoronoiTypeAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiSpaceAnimated ("Space", Int) = 0 + [HideInInspector]_VoronoiBlendAnimated ("Blend", Int) = 0 + [HideInInspector]_EnableVoronoiAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiEffectsMaterialAlphaAnimated ("Enable Voronoi", Int) = 0 + [HideInInspector]_VoronoiMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_VoronoiMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseAnimated ("Edge Noise", Int) = 0 + [HideInInspector]_VoronoiNoisePanAnimated ("Panning", Int) = 0 + [HideInInspector]_VoronoiNoiseUVAnimated ("UV", Int) = 0 + [HideInInspector]_VoronoiNoiseIntensityAnimated ("Noise Intensity", Int) = 0 + [HideInInspector]_VoronoiColor0Animated ("Color 0", Int) = 0 + [HideInInspector]_VoronoiEmission0Animated ("Emission 0", Int) = 0 + [HideInInspector]_VoronoiColor1Animated ("Color 1", Int) = 0 + [HideInInspector]_VoronoiEmission1Animated ("Emission 1", Int) = 0 + [HideInInspector]_VoronoiGradientAnimated ("Gradient", Int) = 0 + [HideInInspector]_VoronoiScaleAnimated ("Scale", Int) = 0 + [HideInInspector]_VoronoiSpeedAnimated ("Speed", Int) = 0 + [HideInInspector]_VoronoiEnableRandomCellColorAnimated ("Rando Cell Col", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxSaturationAnimated ("Saturation Range", Int) = 0 + [HideInInspector]_VoronoiRandomMinMaxBrightnessAnimated ("Brightness Range", Int) = 0 + + // Blacklight mask + [HideInInspector]_BlackLightMaskEnabledAnimated ("Black Light Mask Enabled", Int) = 0 + [HideInInspector]_BlackLightMaskKeysAnimated ("Mask Keys", Int) = 0 + [HideInInspector]_BlackLightMaskStartAnimated ("Gradient Start", Int) = 0 + [HideInInspector]_BlackLightMaskEndAnimated ("Gradient End", Int) = 0 + [HideInInspector]_BlackLightMaskDebugAnimated ("Visualize", Int) = 0 + [HideInInspector]_BlackLightMaskMetallicAnimated ("Metallic", Int) = 0 + [HideInInspector]_BlackLightMaskClearCoatAnimated ("Clear Coat", Int) = 0 + [HideInInspector]_BlackLightMaskMatcapAnimated ("Matcap 1", Int) = 0 + [HideInInspector]_BlackLightMaskMatcap2Animated ("Matcap 2", Int) = 0 + [HideInInspector]_BlackLightMaskEmissionAnimated ("Emission 1", Int) = 0 + [HideInInspector]_BlackLightMaskEmission2Animated ("Emission 2", Int) = 0 + [HideInInspector]_BlackLightMaskFlipbookAnimated ("Flipbook", Int) = 0 + [HideInInspector]_BlackLightMaskDissolveAnimated ("Dissolve", Int) = 0 + [HideInInspector]_BlackLightMaskPanosphereAnimated ("Panosphere", Int) = 0 + [HideInInspector]_BlackLightMaskGlitterAnimated ("Glitter", Int) = 0 + [HideInInspector]_BlackLightMaskIridescenceAnimated ("Iridescence", Int) = 0 + + // Outline Options + [HideInInspector]_OutlineModeAnimated ("Mode", Int) = 0 + [HideInInspector]_OutlineFixedSizeAnimated ("Fixed Size?", Int) = 0 + [HideInInspector]_OutlineUseVertexColorsAnimated ("V Color", Int) = 0 + [HideInInspector]_OutlineLitAnimated ("Enable Lighting", Int) = 0 + [HideInInspector]_LineWidthAnimated ("Width", Int) = 0 + [HideInInspector]_LineColorAnimated ("Color", Int) = 0 + [HideInInspector]_OutlineTintMixAnimated ("Tint Mix", Int) = 0 + [HideInInspector]_OutlineEmissionAnimated ("Outline Emission", Int) = 0 + [HideInInspector]_OutlineTextureAnimated ("Outline Texture", Int) = 0 + [HideInInspector]_OutlineMaskAnimated ("Outline Mask", Int) = 0 + [HideInInspector]_OutlineTexturePanAnimated ("Outline Texture Pan", Int) = 0 + [HideInInspector]_OutlineShadowStrengthAnimated ("Shadow Strength", Int) = 0 + [HideInInspector]_OutlineRimLightBlendAnimated ("Rim Light Blend", Int) = 0 + [HideInInspector]_OutlinePersonaDirectionAnimated ("directional Offset XY", Int) = 0 + [HideInInspector]_OutlineDropShadowOffsetAnimated ("Drop Direction XY", Int) = 0 + [HideInInspector]_OutlineFadeDistanceAnimated ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetFactor ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineOffsetUnits ("Outline distance Fade", Int) = 0 + [HideInInspector]_OutlineCullAnimated ("Cull", Int) = 0 + + // Parallax Mapping + [HideInInspector]_ParallaxMapAnimated ("Enable Parallax FX", Int) = 0 + [HideInInspector]_ParallaxHeightMapEnabledAnimated ("Enable Parallax Height", Int) = 0 + [HideInInspector]_ParallaxInternalMapEnabledAnimated ("Enable Parallax Internal", Int) = 0 + [HideInInspector]_ParallaxHeightMapPanAnimated ("Pan", Int) = 0 + [HideInInspector]_ParallaxUVAnimated ("Parallax UV", Int) = 0 + [HideInInspector]_ParallaxHeightMapAnimated ("Height Map", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxHeightMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxStrengthAnimated ("Parallax Strength", Int) = 0 + [HideInInspector]_ParallaxInternalHeightmapModeAnimated ("Parallax Mode", Int) = 0 + [HideInInspector]_ParallaxInternalHeightFromAlphaAnimated ("HeightFromAlpha", Int) = 0 + [HideInInspector]_ParallaxInternalMapAnimated ("Internal Map", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskAnimated ("Mask", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskPanAnimated ("Panning", Int) = 0 + [HideInInspector]_ParallaxInternalMapMaskUVAnimated ("UV", Int) = 0 + [HideInInspector]_ParallaxInternalIterationsAnimated ("Parallax Internal Iterations", Int) = 0 + [HideInInspector]_ParallaxInternalMinDepthAnimated ("Min Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMaxDepthAnimated ("Max Depth", Int) = 0 + [HideInInspector]_ParallaxInternalMinFadeAnimated ("Min Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMaxFadeAnimated ("Max Depth Brightness", Int) = 0 + [HideInInspector]_ParallaxInternalMinColorAnimated ("Min Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalMaxColorAnimated ("Max Depth Color", Int) = 0 + [HideInInspector]_ParallaxInternalPanSpeedAnimated ("Pan Speed", Int) = 0 + [HideInInspector]_ParallaxInternalPanDepthSpeedAnimated ("Per Level Speed Multiplier", Int) = 0 + [HideInInspector]_ParallaxBiasAnimated ("Parallax Bias (0.42)", Int) = 0 + + // Rendering Options + [HideInInspector]_CullAnimated ("Cull", Int) = 0 + [HideInInspector]_ZTestAnimated ("ZTest", Int) = 0 + [HideInInspector]_ZWriteAnimated ("ZWrite", Int) = 0 + [HideInInspector]_ColorMaskAnimated ("Color Mask", Int) = 0 + [HideInInspector]_OffsetFactorAnimated ("Offset Factor", Int) = 0 + [HideInInspector]_OffsetUnitsAnimated ("Offset Units", Int) = 0 + [HideInInspector]_IgnoreFogAnimated ("Ignore Fog", Int) = 0 + + // Blending Options + [HideInInspector]_BlendOpAnimated ("RGB Blend Op", Int) = 0 + [HideInInspector]_BlendOpAlphaAnimated ("Alpha Blend Op", Int) = 0 + [HideInInspector]_SrcBlendAnimated ("RGB Source Blend", Int) = 0 + [HideInInspector]_DstBlendAnimated ("RGB Destination Blend", Int) = 0 + + // Stencils + [HideInInspector]_StencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_StencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_StencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_StencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_StencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_StencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_StencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Outline Stencil + [HideInInspector]_OutlineStencilRefAnimated ("Stencil Reference Value", Int) = 0 + [HideInInspector]_OutlineStencilReadMaskAnimated ("Stencil ReadMask Value", Int) = 0 + [HideInInspector]_OutlineStencilWriteMaskAnimated ("Stencil WriteMask Value", Int) = 0 + [HideInInspector]_OutlineStencilPassOpAnimated ("Stencil Pass Op", Int) = 0 + [HideInInspector]_OutlineStencilFailOpAnimated ("Stencil Fail Op", Int) = 0 + [HideInInspector]_OutlineStencilZFailOpAnimated ("Stencil ZFail Op", Int) = 0 + [HideInInspector]_OutlineStencilCompareFunctionAnimated ("Stencil Compare Function", Int) = 0 + + // Debug Options + [HideInInspector]_VertexUnwrapAnimated ("Unwrap", Range(0, 1)) = 0 + [HideInInspector]_DebugMeshDataAnimated ("Mesh Data", Int) = 0 + [HideInInspector]_DebugLightingDataAnimated ("Lighting Data", Int) = 0 + [HideInInspector]_DebugCameraDataAnimated ("Camera Data", Int) = 0 + } + + + //originalEditorCustomEditor "PoiToon" + CustomEditor "Thry.ShaderEditor" + SubShader + { + Tags { "RenderType" = "Opaque" "Queue" = "Geometry" } + +// //EnableOutlinePass +// Pass +// { +// Name "Outline" +// Tags { "LightMode" = "ForwardBase" } +// Stencil +// { +// Ref [_OutlineStencilRef] +// ReadMask [_OutlineStencilReadMask] +// WriteMask [_OutlineStencilWriteMask] +// Comp [_OutlineStencilCompareFunction] +// Pass [_OutlineStencilPassOp] +// Fail [_OutlineStencilFailOp] +// ZFail [_OutlineStencilZFailOp] +// } +// ZTest [_ZTest] +// ColorMask [_ColorMask] +// Offset [_OutlineOffsetFactor], [_OutlineOffsetUnits] +// BlendOp [_BlendOp], [_BlendOpAlpha] +// Blend [_SrcBlend] [_DstBlend] +// ZWrite [_ZWrite] +// AlphaToMask [_AlphaToMask] +// Cull [_OutlineCull] +// CGPROGRAM +// +// #pragma target 5.0 +// #define FORWARD_BASE_PASS +// #define OUTLINE +// float _Mode; +// // patreon Additive +// // Black Light Mask +//// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF +// // voronoi +//// #pragma shader_feature CHROMATIC_ABERRATION +// // UV Distortion +//// #pragma shader_feature USER_LUT +// // Vertex Offsets +//// #pragma shader_feature AUTO_EXPOSURE +// // Mirror +//// #pragma shader_feature _REQUIRE_UV2 +// // Random +//// #pragma shader_feature _SUNDISK_NONE +// // Dissolve +//// #pragma shader_feature DISTORT +// // Lighting +//// #pragma shader_feature VIGNETTE_MASKED +// #pragma multi_compile_fwdbase +// #pragma fragmentoption ARB_precision_hint_fastest +// #pragma multi_compile_fog +// #pragma multi_compile_instancing +// #pragma vertex vert +// #pragma fragment frag +// #include "../Includes/CGI_PoiPassOutline.cginc" +// ENDCG +// +// } + //EnableOutlinePass + + Pass + { + Name "MainPass" + Tags { "LightMode" = "ForwardBase" } + + Stencil + { + Ref [_StencilRef] + ReadMask [_StencilReadMask] + WriteMask [_StencilWriteMask] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + + ZWrite [_ZWrite] + Cull [_Cull] + AlphaToMask [_AlphaToMask] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend [_SrcBlend] [_DstBlend] + + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_BASE_PASS + float _Mode; + // Base Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + #pragma multi_compile _ VERTEXLIGHT_ON + // patreon Base + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Grab Pass Blur +// #pragma shader_feature CHROMATIC_ABERRATION_LOW + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Touch Color +// #pragma shader_feature GRAIN + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma multi_compile_instancing + #pragma multi_compile_fwdbase + #pragma fragmentoption ARB_precision_hint_fastest + #pragma multi_compile_fog + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + + //LightingAdditiveEnable + Pass + { + Name "ForwardAddPass" + Tags { "LightMode" = "ForwardAdd" } + + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + ZWrite Off + BlendOp [_BlendOp], [_BlendOpAlpha] + Blend One One + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define FORWARD_ADD_PASS + float _Mode; + // Add Pass Features + // Decal +// #pragma shader_feature GEOM_TYPE_BRANCH + // patreon Additive + // Black Light Mask +// #pragma shader_feature _SPECULARHIGHLIGHTS_OFF + // voronoi +// #pragma shader_feature CHROMATIC_ABERRATION + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Bulge +// #pragma shader_feature BLOOM_LOW +// #pragma shader_feature _PARALLAX_MAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Disable Directionals +// #pragma shader_feature _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A + + #pragma multi_compile_instancing + #pragma multi_compile_fwdadd_fullshadows + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + //LightingAdditiveEnable + + //LightingCastShadows + Pass + { + Name "ShadowCasterPass" + Tags { "LightMode" = "ShadowCaster" } + Stencil + { + Ref [_StencilRef] + Comp [_StencilCompareFunction] + Pass [_StencilPassOp] + Fail [_StencilFailOp] + ZFail [_StencilZFailOp] + } + AlphaToMask Off + ZWrite [_ZWrite] + Cull [_Cull] + ZTest [_ZTest] + ColorMask [_ColorMask] + Offset [_OffsetFactor], [_OffsetUnits] + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_SHADOW + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Vertex Offsets +// #pragma shader_feature AUTO_EXPOSURE + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Dissolve +// #pragma shader_feature DISTORT + #pragma multi_compile_instancing + #pragma vertex vertShadowCaster + #pragma fragment fragShadowCaster + #include "../Includes/CGI_PoiPassShadow.cginc" + ENDCG + + } + //LightingCastShadows + + Pass + { + Tags { "LightMode" = "Meta" } + Cull Off + CGPROGRAM +#define OPTIMIZER_ENABLED +#define VIGNETTE_MASKED +#define _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A +#define PROPSHADER_IS_USING_THRY_EDITOR 69 +#define PROPSHADER_MASTER_LABEL 0 +#define PROPSHADER_PRESETS 0 +#define PROPSHADER_PROPERTIES_LABEL_FILE 0 +#define PROPFOOTER_YOUTUBE 0 +#define PROPFOOTER_TWITTER 0 +#define PROPFOOTER_PATREON 0 +#define PROPFOOTER_DISCORD 0 +#define PROPFOOTER_GITHUB 0 +#define PROP_FORGOTTOLOCKMATERIAL 1 +#define PROP_SHADEROPTIMIZERENABLED 0 +#define PROP_LOCKTOOLTIP 0 +#define PROP_MODE 0 +#define PROPM_LOCKINGINFO 0 +#define PROP_HELPBOXLOCKING 0 +#define PROP_HELPBOXHIDELOCKING 0 +#define PROPM_MAINOPTIONS 1 +#define PROP_MAINTEX +#define PROP_MAINTEXTUREUV 0 +#define PROP_SATURATION 0 +#define PROP_MAINEMISSIONSTRENGTH 0 +#define PROP_BUMPMAPUV 0 +#define PROP_BUMPSCALE 1 +#define PROP_ALPHAMASKUV 0 +#define PROPM_START_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTTOGGLE 0 +#define PROP_MAINHUESHIFTREPLACE 1 +#define PROP_MAINHUESHIFT 0 +#define PROP_MAINHUESHIFTSPEED 0 +#define PROP_MAINHUESHIFTMASKUV 0 +#define PROPM_END_MAINHUESHIFT 0 +#define PROPM_START_RGBMASK 0 +#define PROP_RGBMASKENABLED 0 +#define PROP_RGBUSEVERTEXCOLORS 0 +#define PROP_RGBBLENDMULTIPLICATIVE 0 +#define PROP_RGBMASKUV 0 +#define PROP_RGBRED_UV 0 +#define PROP_RGBGREEN_UV 0 +#define PROP_RGBBLUE_UV 0 +#define PROP_RGBNORMALSENABLED 0 +#define PROP_RGBNORMALBLEND 0 +#define PROP_RGBNORMALRUV 0 +#define PROP_RGBNORMALRSCALE 0 +#define PROP_RGBNORMALGUV 0 +#define PROP_RGBNORMALGSCALE 0 +#define PROP_RGBNORMALBUV 0 +#define PROP_RGBNORMALBSCALE 0 +#define PROPM_END_RGBMASK 0 +#define PROPM_START_DETAILOPTIONS 0 +#define PROP_DETAILENABLED 0 +#define PROP_DETAILMASKUV 0 +#define PROP_DETAILTEXUV 0 +#define PROP_DETAILTEXINTENSITY 1 +#define PROP_DETAILBRIGHTNESS 1 +#define PROP_DETAILNORMALMAPSCALE 1 +#define PROP_DETAILNORMALMAPUV 0 +#define PROPM_END_DETAILOPTIONS 0 +#define PROPM_START_MAINVERTEXCOLORS 0 +#define PROP_MAINVERTEXCOLORING 0 +#define PROP_MAINUSEVERTEXCOLORALPHA 0 +#define PROPM_END_MAINVERTEXCOLORS 0 +#define PROPM_START_VERTEXMANIPULATION 0 +#define PROP_VERTEXMANIPULATIONSENABLED 0 +#define PROP_VERTEXMANIPULATIONHEIGHT 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUV 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIAS 0 +#define PROP_VERTEXROUNDINGENABLED 0 +#define PROP_VERTEXROUNDINGDIVISION 500 +#define PROPM_END_VERTEXMANIPULATION 0 +#define PROPM_START_ALPHA 0 +#define PROP_CUTOFF 0.5 +#define PROP_DITHERINGENABLED 0 +#define PROP_DITHERGRADIENT 0.1 +#define PROP_FORCEOPAQUE 0 +#define PROP_MAINSHADOWCLIPMOD 0 +#define PROP_ALPHATOMASK 0 +#define PROP_MAINALPHATOCOVERAGE 0 +#define PROP_MAINMIPSCALE 0.25 +#define PROP_ALPHAPREMULTIPLY 0 +#define PROP_ALPHAMOD 0 +#define PROPM_END_ALPHA 0 +#define PROPM_START_DECALSECTION 0 +#define PROP_DECALENABLED 0 +#define PROP_DECALEMISSIONSTRENGTH 0 +#define PROP_DECALTEXTUREUV 0 +#define PROP_DECALMASKUV 0 +#define PROP_DECALTILED 0 +#define PROP_DECALROTATION 0 +#define PROP_DECALROTATIONSPEED 0 +#define PROP_DECALBLENDADD 0 +#define PROP_DECALBLENDMULTIPLY 0 +#define PROP_DECALBLENDREPLACE 0 +#define PROPM_END_DECALSECTION 0 +#define PROPM_START_BACKFACE 0 +#define PROP_BACKFACEENABLED 0 +#define PROP_BACKFACETEXTUREUV 0 +#define PROP_BACKFACEDETAILINTENSITY 1 +#define PROP_BACKFACEHUESHIFT 0 +#define PROP_BACKFACEEMISSIONSTRENGTH 0 +#define PROPM_END_BACKFACE 0 +#define PROPM_LIGHTINGOPTIONS 0 +#define PROPM_START_LIGHTING 0 +#define PROP_ENABLELIGHTING 1 +#define PROP_LIGHTINGMODE 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESS 0 +#define PROP_LIGHTINGSHADINGENABLED 0 +#define PROP_LIGHTINGRAMPTYPE 0 +#define PROP_TOONRAMP +#define PROP_LIGHTINGSHADOWMASKUV 0 +#define PROP_SHADOWOFFSET 0 +#define PROP_LIGHTINGGRADIENTSTART 0 +#define PROP_LIGHTINGGRADIENTEND 0.5 +#define PROP_SHADOWSTRENGTH 1 +#define PROP_ATTENUATIONMULTIPLIER 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLOR 0 +#define PROPM_START_LIGHTINGMODIFIERS 0 +#define PROP_LIGHTINGDIRECTCOLORMODE 0 +#define PROP_LIGHTINGINDIRECTCOLORMODE 0 +#define PROP_LIGHTINGUNCAPPED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWS 0 +#define PROP_LIGHTINGMONOCHROMATIC 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESS 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIO 0 +#define PROPM_END_LIGHTINGMODIFIERS 0 +#define PROPM_START_DETAILSHADOWS 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLED 0 +#define PROP_LIGHTINGDETAILSHADOWSUV 0 +#define PROP_LIGHTINGDETAILSTRENGTH 1 +#define PROPM_END_DETAILSHADOWS 0 +#define PROPM_START_AMBIENTOCCLUSION 0 +#define PROP_LIGHTINGENABLEAO 0 +#define PROP_LIGHTINGAOTEXUV 0 +#define PROP_AOSTRENGTH 1 +#define PROPM_END_AMBIENTOCCLUSION 0 +#define PROPM_START_SHADOWTEXTURE 0 +#define PROP_USESHADOWTEXTURE 0 +#define PROP_LIGHTINGSHADOWTEXTUREUV 0 +#define PROPM_END_SHADOWTEXTURE 0 +#define PROPM_START_LIGHTINGHSL 0 +#define PROP_LIGHTINGENABLEHSL 0 +#define PROP_LIGHTINGHSLINTENSITY 1 +#define PROP_LIGHTINGSHADOWHUE 0.5 +#define PROP_LIGHTINGSHADOWSATURATION 0.5 +#define PROP_LIGHTINGSHADOWLIGHTNESS 0.5 +#define PROPM_END_LIGHTINGHSL 0 +#define PROPM_START_LIGHTINGADVANCED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLE 1 +#define PROP_LIGHTINGADDITIVETYPE 1 +#define PROP_LIGHTINGADDITIVEGRADIENTSTART 0 +#define PROP_LIGHTINGADDITIVEGRADIENTEND 0.5 +#define PROP_LIGHTINGADDITIVEPASSTHROUGH 0.5 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTH 1 +#define PROP_LIGHTINGADDITIVELIMITINTENSITY 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITY 1 +#define PROP_DISABLEDIRECTIONALINADD 1 +#define PROPM_END_LIGHTINGADVANCED 0 +#define PROPM_END_LIGHTING 0 +#define PROPM_START_SUBSURFACE 0 +#define PROP_ENABLESSS 0 +#define PROP_SSSTHICKNESSMAPUV 0 +#define PROP_SSSTHICKNESSMOD 0 +#define PROP_SSSSCALE 0.25 +#define PROP_SSSPOWER 5 +#define PROP_SSSDISTORTION 1 +#define PROPM_END_SUBSURFACE 0 +#define PROPM_START_RIMLIGHTOPTIONS 0 +#define PROP_ENABLERIMLIGHTING 0 +#define PROP_RIMLIGHTNORMAL 1 +#define PROP_RIMLIGHTINGINVERT 0 +#define PROP_RIMWIDTH 0.8 +#define PROP_RIMSHARPNESS 0.25 +#define PROP_RIMSTRENGTH 0 +#define PROP_RIMBRIGHTEN 0 +#define PROP_RIMLIGHTCOLORBIAS 0 +#define PROP_RIMTEXUV 0 +#define PROP_RIMMASKUV 0 +#define PROPM_START_RIMWIDTHNOISE 0 +#define PROP_RIMWIDTHNOISETEXTUREUV 0 +#define PROP_RIMWIDTHNOISESTRENGTH 0.1 +#define PROPM_END_RIMWIDTHNOISE 0 +#define PROPM_START_SHADOWMIX 0 +#define PROP_SHADOWMIX 0 +#define PROP_SHADOWMIXTHRESHOLD 0.5 +#define PROP_SHADOWMIXWIDTHMOD 0.5 +#define PROPM_END_SHADOWMIX 0 +#define PROPM_END_RIMLIGHTOPTIONS 0 +#define PROPM_START_REFLECTIONRIM 0 +#define PROP_ENABLEENVIRONMENTALRIM 0 +#define PROP_RIMENVIROMASKUV 0 +#define PROP_RIMENVIROBLUR 0.7 +#define PROP_RIMENVIROWIDTH 0.45 +#define PROP_RIMENVIROSHARPNESS 0 +#define PROP_RIMENVIROMINBRIGHTNESS 0 +#define PROP_RIMENVIROINTENSITY 1 +#define PROPM_END_REFLECTIONRIM 0 +#define PROPM_START_BAKEDLIGHTING 0 +#define PROP_GIEMISSIONMULTIPLIER 1 +#define PROPDSGI 0 +#define PROPLIGHTMAPFLAGS 0 +#define PROPM_END_BAKEDLIGHTING 0 +#define PROPM_START_METALLIC 0 +#define PROP_ENABLEMETALLIC 0 +#define PROP_CUBEMAP +#define PROP_SAMPLEWORLD 0 +#define PROP_METALLICTINTMAPUV 0 +#define PROP_METALLICMASKUV 0 +#define PROP_METALLIC 0 +#define PROP_SMOOTHNESSMASKUV 0 +#define PROP_INVERTSMOOTHNESS 0 +#define PROP_SMOOTHNESS 0 +#define PROPM_END_METALLIC 0 +#define PROPM_START_CLEARCOAT 0 +#define PROP_ENABLECLEARCOAT 0 +#define PROP_CLEARCOATNORMALTOUSE 0 +#define PROP_CLEARCOATCUBEMAP +#define PROP_CLEARCOATSAMPLEWORLD 0 +#define PROP_CLEARCOATMASKUV 0 +#define PROP_CLEARCOAT 1 +#define PROP_CLEARCOATSMOOTHNESSMAPUV 0 +#define PROP_CLEARCOATINVERTSMOOTHNESS 0 +#define PROP_CLEARCOATSMOOTHNESS 0 +#define PROP_CLEARCOATFORCELIGHTING 0 +#define PROPM_END_CLEARCOAT 0 +#define PROPM_START_MATCAP 0 +#define PROP_MATCAPENABLE 0 +#define PROP_MATCAPBORDER 0.43 +#define PROP_MATCAPMASKUV 0 +#define PROP_MATCAPMASKINVERT 0 +#define PROP_MATCAPEMISSIONSTRENGTH 0 +#define PROP_MATCAPINTENSITY 1 +#define PROP_MATCAPLIGHTMASK 0 +#define PROP_MATCAPREPLACE 1 +#define PROP_MATCAPMULTIPLY 0 +#define PROP_MATCAPADD 0 +#define PROP_MATCAPNORMAL 1 +#define PROPM_END_MATCAP 0 +#define PROPM_START_MATCAP2 0 +#define PROP_MATCAP2ENABLE 0 +#define PROP_MATCAP2BORDER 0.43 +#define PROP_MATCAP2MASKUV 0 +#define PROP_MATCAP2MASKINVERT 0 +#define PROP_MATCAP2EMISSIONSTRENGTH 0 +#define PROP_MATCAP2INTENSITY 1 +#define PROP_MATCAP2LIGHTMASK 0 +#define PROP_MATCAP2REPLACE 0 +#define PROP_MATCAP2MULTIPLY 0 +#define PROP_MATCAP2ADD 0 +#define PROP_MATCAP2NORMAL 1 +#define PROPM_END_MATCAP2 0 +#define PROPM_START_SPECULAR 0 +#define PROP_ENABLESPECULAR 0 +#define PROP_SPECULARTYPE 1 +#define PROP_SPECULARNORMAL 1 +#define PROP_SPECULARMETALLIC 0 +#define PROP_SPECULARMETALLICMAPUV 0 +#define PROP_SPECULARSMOOTHNESS 1 +#define PROP_SPECULARMAPUV 0 +#define PROP_SPECULARINVERTSMOOTHNESS 0 +#define PROP_SPECULARMASKUV 0 +#define PROP_SMOOTHNESSFROM 1 +#define PROP_SPECWHATTANGENT 0 +#define PROP_ANISOSPEC1ALPHA 1 +#define PROP_ANISOSPEC2ALPHA 1 +#define PROP_SPEC1OFFSET 0 +#define PROP_SPEC2SMOOTHNESS 0 +#define PROP_ANISOUSETANGENTMAP 0 +#define PROP_ANISOTANGENTMAPUV 0 +#define PROP_SPECULARTOONSTART 0.95 +#define PROP_SPECULARTOONEND 1 +#define PROP_SPECULARANISOJITTERMIRRORED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMICROUV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER 0 +#define PROP_SPECULARANISOJITTERMACROUV 0 +#define PROPM_END_SPECULAR 0 +#define PROPM_START_SPECULAR1 0 +#define PROP_ENABLESPECULAR1 0 +#define PROP_SPECULARTYPE1 1 +#define PROP_SPECULARNORMAL1 1 +#define PROP_SPECULARMETALLIC1 0 +#define PROP_SPECULARMETALLICMAP1UV 0 +#define PROP_SPECULARSMOOTHNESS1 0.75 +#define PROP_SPECULARMAP1UV 0 +#define PROP_SPECULARINVERTSMOOTHNESS1 0 +#define PROP_SPECULARMASK1UV 0 +#define PROP_SMOOTHNESSFROM1 1 +#define PROP_SPECWHATTANGENT1 0 +#define PROP_ANISOSPEC1ALPHA1 1 +#define PROP_ANISOSPEC2ALPHA1 1 +#define PROP_SPEC1OFFSET1 0 +#define PROP_SPEC2SMOOTHNESS1 0 +#define PROP_ANISOUSETANGENTMAP1 0 +#define PROP_ANISOTANGENTMAP1UV 0 +#define PROP_SPECULARTOONSTART1 0.95 +#define PROP_SPECULARTOONEND1 1 +#define PROP_SPECULARANISOJITTERMIRRORED1 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMICRO1UV 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1 0 +#define PROP_SPECULARANISOJITTERMACRO1UV 0 +#define PROPM_END_SPECULAR1 0 +#define PROPM_SPECIAL_EFFECTS 0 +#define PROPM_START_EMISSIONOPTIONS 0 +#define PROP_ENABLEEMISSION 0 +#define PROP_EMISSIONREPLACE 0 +#define PROP_EMISSIONBASECOLORASMAP 0 +#define PROP_EMISSIONMAPUV 0 +#define PROP_EMISSIONMASKUV 0 +#define PROP_EMISSIONSTRENGTH 0 +#define PROP_EMISSIONHUESHIFTENABLED 0 +#define PROP_EMISSIONHUESHIFT 0 +#define PROPM_START_CENTEROUTEMISSION 0 +#define PROP_EMISSIONCENTEROUTENABLED 0 +#define PROP_EMISSIONCENTEROUTSPEED 5 +#define PROPM_END_CENTEROUTEMISSION 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS 0 +#define PROP_ENABLEGITDEMISSION 0 +#define PROP_GITDEWORLDORMESH 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER 0 +#define PROP_GITDEMINLIGHT 0 +#define PROP_GITDEMAXLIGHT 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS 0 +#define PROP_EMISSIONBLINKINGENABLED 0 +#define PROP_EMISSIVEBLINK_MIN 0 +#define PROP_EMISSIVEBLINK_MAX 1 +#define PROP_EMISSIVEBLINK_VELOCITY 4 +#define PROP_EMISSIONBLINKINGOFFSET 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS 0 +#define PROP_SCROLLINGEMISSION 0 +#define PROP_EMISSIONSCROLLINGUSECURVE 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR 0 +#define PROP_EMISSIVESCROLL_WIDTH 10 +#define PROP_EMISSIVESCROLL_VELOCITY 10 +#define PROP_EMISSIVESCROLL_INTERVAL 20 +#define PROP_EMISSIONSCROLLINGOFFSET 0 +#define PROPM_END_SCROLLINGEMISSIONOPTIONS 0 +#define PROPM_END_EMISSIONOPTIONS 0 +#define PROPM_START_EMISSION1OPTIONS 0 +#define PROP_ENABLEEMISSION1 0 +#define PROP_EMISSIONBASECOLORASMAP1 0 +#define PROP_EMISSIONMAP1UV 0 +#define PROP_EMISSIONMASK1UV 0 +#define PROP_EMISSIONSTRENGTH1 0 +#define PROP_EMISSIONHUESHIFTENABLED1 0 +#define PROP_EMISSIONHUESHIFT1 0 +#define PROPM_START_CENTEROUTEMISSION1 0 +#define PROP_EMISSIONCENTEROUTENABLED1 0 +#define PROP_EMISSIONCENTEROUTSPEED1 5 +#define PROPM_END_CENTEROUTEMISSION1 0 +#define PROPM_START_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROP_ENABLEGITDEMISSION1 0 +#define PROP_GITDEWORLDORMESH1 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1 1 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1 0 +#define PROP_GITDEMINLIGHT1 0 +#define PROP_GITDEMAXLIGHT1 1 +#define PROPM_END_GLOWINDARKEMISSIONOPTIONS1 0 +#define PROPM_START_BLINKINGEMISSIONOPTIONS1 0 +#define PROP_EMISSIONBLINKINGENABLED1 0 +#define PROP_EMISSIVEBLINK_MIN1 0 +#define PROP_EMISSIVEBLINK_MAX1 1 +#define PROP_EMISSIVEBLINK_VELOCITY1 4 +#define PROP_EMISSIONBLINKINGOFFSET1 0 +#define PROPM_END_BLINKINGEMISSIONOPTIONS1 0 +#define PROPM_START_SCROLLINGEMISSIONOPTIONS1 0 +#define PROP_SCROLLINGEMISSION1 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1 0 +#define PROP_EMISSIVESCROLL_WIDTH1 10 +#define PROP_EMISSIVESCROLL_VELOCITY1 10 +#define PROP_EMISSIVESCROLL_INTERVAL1 20 +#define PROP_EMISSIONSCROLLINGOFFSET1 0 +#define PROPM_END_SCROLLINGEMISSION1OPTIONS 0 +#define PROPM_END_EMISSION1OPTIONS 0 +#define PROPM_START_FLIPBOOK 0 +#define PROP_ENABLEFLIPBOOK 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHA 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHA 0 +#define PROP_FLIPBOOKCOLORREPLACES 0 +#define PROP_FLIPBOOKTEXARRAYUV 0 +#define PROP_FLIPBOOKMASKUV 0 +#define PROP_FLIPBOOKTOTALFRAMES 1 +#define PROP_FLIPBOOKFPS 30 +#define PROP_FLIPBOOKTILED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTH 0 +#define PROP_FLIPBOOKROTATION 0 +#define PROP_FLIPBOOKROTATIONSPEED 0 +#define PROP_FLIPBOOKREPLACE 1 +#define PROP_FLIPBOOKMULTIPLY 0 +#define PROP_FLIPBOOKADD 0 +#define PROPM_START_MANUALFLIPBOOKCONTROL 0 +#define PROP_FLIPBOOKCURRENTFRAME -1 +#define PROPM_END_MANUALFLIPBOOKCONTROL 0 +#define PROPM_END_FLIPBOOK 0 +#define PROPM_START_DISSOLVE 0 +#define PROP_ENABLEDISSOLVE 0 +#define PROP_DISSOLVETYPE 1 +#define PROP_DISSOLVEEDGEWIDTH 0.025 +#define PROP_DISSOLVEEDGEHARDNESS 0.5 +#define PROP_DISSOLVEEDGEEMISSION 0 +#define PROP_DISSOLVETOTEXTUREUV 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTH 0 +#define PROP_DISSOLVENOISETEXTUREUV 0 +#define PROP_DISSOLVEINVERTNOISE 0 +#define PROP_DISSOLVEDETAILNOISEUV 0 +#define PROP_DISSOLVEINVERTDETAILNOISE 0 +#define PROP_DISSOLVEDETAILSTRENGTH 0.1 +#define PROP_DISSOLVEALPHA 0 +#define PROP_DISSOLVEUSEVERTEXCOLORS 0 +#define PROP_DISSOLVEMASKUV 0 +#define PROP_DISSOLVEMASKINVERT 0 +#define PROP_CONTINUOUSDISSOLVE 0 +#define PROPM_START_DISSOLVEMASKING 0 +#define PROP_DISSOLVEEMISSIONSIDE 2 +#define PROP_DISSOLVEEMISSION1SIDE 2 +#define PROPM_END_DISSOLVEMASKING 0 +#define PROPM_START_POINTTOPOINT 0 +#define PROP_DISSOLVEP2PWORLDLOCAL 0 +#define PROP_DISSOLVEP2PEDGELENGTH 0.1 +#define PROPM_END_POINTTOPOINT 0 +#define PROPM_START_BONUSSLIDERS 0 +#define PROP_DISSOLVEALPHA0 0 +#define PROP_DISSOLVEALPHA1 0 +#define PROP_DISSOLVEALPHA2 0 +#define PROP_DISSOLVEALPHA3 0 +#define PROP_DISSOLVEALPHA4 0 +#define PROP_DISSOLVEALPHA5 0 +#define PROP_DISSOLVEALPHA6 0 +#define PROP_DISSOLVEALPHA7 0 +#define PROP_DISSOLVEALPHA8 0 +#define PROP_DISSOLVEALPHA9 0 +#define PROPM_END_BONUSSLIDERS 0 +#define PROPM_END_DISSOLVE 0 +#define PROPM_START_PANOSPHEREOPTIONS 0 +#define PROP_PANOTOGGLE 0 +#define PROP_PANOINFINITESTEREOTOGGLE 0 +#define PROP_PANOMASKUV 0 +#define PROP_PANOEMISSION 0 +#define PROP_PANOBLEND 0 +#define PROP_PANOCUBEMAPTOGGLE 0 +#define PROPM_END_PANOSPHEREOPTIONS 0 +#define PROPM_START_GLITTER 0 +#define PROP_GLITTERENABLE 0 +#define PROP_GLITTERMODE 0 +#define PROP_GLITTERSHAPE 0 +#define PROP_GLITTERBLENDTYPE 0 +#define PROP_GLITTERUSESURFACECOLOR 0 +#define PROP_GLITTERCOLORMAPUV 0 +#define PROP_GLITTERMASKUV 0 +#define PROP_GLITTERTEXTUREROTATION 0 +#define PROP_GLITTERFREQUENCY 300 +#define PROP_GLITTERJITTER 1 +#define PROP_GLITTERSPEED 10 +#define PROP_GLITTERSIZE 0.3 +#define PROP_GLITTERCONTRAST 300 +#define PROP_GLITTERANGLERANGE 90 +#define PROP_GLITTERMINBRIGHTNESS 0 +#define PROP_GLITTERBRIGHTNESS 3 +#define PROP_GLITTERBIAS 0.8 +#define PROP_GLITTERCENTERSIZE 0.08 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVE 20 +#define PROP_GLITTERJAGGYFIX 0 +#define PROPM_START_GLITTERRANDOM 0 +#define PROP_GLITTERRANDOMCOLORS 0 +#define PROP_GLITTERRANDOMSIZE 0 +#define PROP_GLITTERRANDOMROTATION 0 +#define PROPM_END_GLITTERRANDOM 0 +#define PROPM_END_GLITTER 0 +#define PROPM_START_TEXT 0 +#define PROP_TEXTPIXELRANGE 4 +#define PROP_TEXTENABLED 0 +#define PROPM_START_TEXTFPS 0 +#define PROP_TEXTFPSENABLED 0 +#define PROP_TEXTFPSUV 0 +#define PROP_TEXTFPSEMISSIONSTRENGTH 0 +#define PROP_TEXTFPSROTATION 0 +#define PROPM_END_TEXTFPS 0 +#define PROPM_START_TEXTPOSITION 0 +#define PROP_TEXTPOSITIONENABLED 0 +#define PROP_TEXTPOSITIONUV 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTH 0 +#define PROP_TEXTPOSITIONROTATION 0 +#define PROPM_END_TEXTPOSITION 0 +#define PROPM_START_TEXTINSTANCETIME 0 +#define PROP_TEXTTIMEENABLED 0 +#define PROP_TEXTTIMEUV 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTH 0 +#define PROP_TEXTTIMEROTATION 0 +#define PROPM_END_TEXTINSTANCETIME 0 +#define PROPM_END_TEXT 0 +#define PROPM_START_MIRROROPTIONS 0 +#define PROP_ENABLEMIRROROPTIONS 0 +#define PROP_MIRROR 0 +#define PROP_ENABLEMIRRORTEXTURE 0 +#define PROP_MIRRORTEXTUREUV 0 +#define PROPM_END_MIRROROPTIONS 0 +#define PROPM_START_DISTANCEFADE 0 +#define PROP_MAINMINALPHA 0 +#define PROP_MAINFADETEXTUREUV 0 +#define PROPM_END_DISTANCEFADE 0 +#define PROPM_START_ANGULARFADE 0 +#define PROP_ENABLERANDOM 0 +#define PROP_ANGLETYPE 0 +#define PROP_ANGLECOMPARETO 0 +#define PROP_CAMERAANGLEMIN 45 +#define PROP_CAMERAANGLEMAX 90 +#define PROP_MODELANGLEMIN 45 +#define PROP_MODELANGLEMAX 90 +#define PROP_ANGLEMINALPHA 0 +#define PROPM_END_ANGULARFADE 0 +#define PROPM_START_DISTORTIONFLOW 0 +#define PROP_ENABLEDISTORTION 0 +#define PROP_DISTORTIONMASKUV 0 +#define PROP_DISTORTIONSTRENGTH 0.5 +#define PROP_DISTORTIONSTRENGTH1 0.5 +#define PROPM_END_DISTORTIONFLOW 0 +#define PROPM_OUTLINEOPTIONS 0 +#define PROP_COMMENTIFZERO_ENABLEOUTLINEPASS 0 +#define PROP_OUTLINEMODE 0 +#define PROP_OUTLINETINTMIX 0 +#define PROP_OUTLINERIMLIGHTBLEND 0 +#define PROP_OUTLINEFIXEDSIZE 0 +#define PROP_OUTLINEUSEVERTEXCOLORS 0 +#define PROP_OUTLINELIT 1 +#define PROP_LINEWIDTH 0 +#define PROP_OUTLINEEMISSION 0 +#define PROP_OUTLINETEXTUREUV 0 +#define PROP_OUTLINEMASKUV 0 +#define PROP_OUTLINESHADOWSTRENGTH 1 +#define PROPM_START_OUTLINEADVANCED 0 +#define PROP_OUTLINECULL 1 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROPM_END_OUTLINEADVANCED 0 +#define PROPM_PARALLAXMAP 0 +#define PROP_PARALLAXMAP 0 +#define PROP_PARALLAXHEIGHTMAPENABLED 0 +#define PROP_PARALLAXINTERNALMAPENABLED 0 +#define PROPM_START_PARALLAXHEIGHTMAP 0 +#define PROP_PARALLAXUV 0 +#define PROP_PARALLAXHEIGHTMAPMASKUV 0 +#define PROP_PARALLAXSTRENGTH 0 +#define PROPM_END_PARALLAXHEIGHTMAP 0 +#define PROPM_START_PARALLAXINTERNAL 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODE 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHA 0 +#define PROP_PARALLAXINTERNALMAPMASKUV 0 +#define PROP_PARALLAXINTERNALITERATIONS 1 +#define PROP_PARALLAXINTERNALMINDEPTH 0 +#define PROP_PARALLAXINTERNALMAXDEPTH 1 +#define PROP_PARALLAXINTERNALMINFADE 0 +#define PROP_PARALLAXINTERNALMAXFADE 1 +#define PROPM_END_PARALLAXINTERNAL 0 +#define PROPM_START_PARALLAXADVANCED 0 +#define PROP_PARALLAXBIAS 0.42 +#define PROPM_END_PARALLAXADVANCED 0 +#define PROPM_RENDERINGOPTIONS 0 +#define PROP_CULL 2 +#define PROP_ZTEST 4 +#define PROP_ZWRITE 1 +#define PROP_COLORMASK 15 +#define PROP_OFFSETFACTOR 0 +#define PROP_OFFSETUNITS 0 +#define PROP_IGNOREFOG 0 +#define PROPINSTANCING 0 +#define PROPM_START_BLENDING 0 +#define PROP_BLENDOP 0 +#define PROP_BLENDOPALPHA 0 +#define PROP_SRCBLEND 1 +#define PROP_DSTBLEND 0 +#define PROPM_END_BLENDING 0 +#define PROPM_START_STENCILPASSOPTIONS 0 +#define PROP_STENCILREF 0 +#define PROP_STENCILREADMASK 255 +#define PROP_STENCILWRITEMASK 255 +#define PROP_STENCILPASSOP 0 +#define PROP_STENCILFAILOP 0 +#define PROP_STENCILZFAILOP 0 +#define PROP_STENCILCOMPAREFUNCTION 8 +#define PROPM_END_STENCILPASSOPTIONS 0 +#define PROPM_START_OUTLINESTENCIL 0 +#define PROP_OUTLINESTENCILREF 0 +#define PROP_OUTLINESTENCILREADMASK 255 +#define PROP_OUTLINESTENCILWRITEMASK 255 +#define PROP_OUTLINESTENCILPASSOP 0 +#define PROP_OUTLINESTENCILFAILOP 0 +#define PROP_OUTLINESTENCILZFAILOP 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTION 8 +#define PROPM_END_OUTLINESTENCIL 0 +#define PROPM_START_DEBUGOPTIONS 0 +#define PROP_DEBUGENABLED 0 +#define PROP_VERTEXUNWRAP 0 +#define PROP_DEBUGMESHDATA 0 +#define PROP_DEBUGLIGHTINGDATA 0 +#define PROP_DEBUGCAMERADATA 0 +#define PROPM_END_DEBUGOPTIONS 0 +#define PROP_COLORANIMATED 0 +#define PROP_MAINTEXANIMATED 0 +#define PROP_MAINTEX_STANIMATED 0 +#define PROP_MAINTEXPANANIMATED 0 +#define PROP_MAINTEXTUREUVANIMATED 0 +#define PROP_SATURATIONANIMATED 0 +#define PROP_MAINVERTEXCOLORINGANIMATED 0 +#define PROP_MAINUSEVERTEXCOLORALPHAANIMATED 0 +#define PROP_MAINEMISSIONSTRENGTHANIMATED 0 +#define PROP_BUMPMAPANIMATED 0 +#define PROP_BUMPMAPUVANIMATED 0 +#define PROP_BUMPMAPPANANIMATED 0 +#define PROP_BUMPSCALEANIMATED 0 +#define PROP_ALPHAMASKANIMATED 0 +#define PROP_ALPHAMASKPANANIMATED 0 +#define PROP_ALPHAMASKUVANIMATED 0 +#define PROP_MAINHUESHIFTTOGGLEANIMATED 0 +#define PROP_MAINHUESHIFTREPLACEANIMATED 0 +#define PROP_MAINHUESHIFTANIMATED 0 +#define PROP_MAINHUESHIFTSPEEDANIMATED 0 +#define PROP_MAINHUESHIFTMASKANIMATED 0 +#define PROP_MAINHUESHIFTMASKPANANIMATED 0 +#define PROP_MAINHUESHIFTMASKUVANIMATED 0 +#define PROP_RGBMASKENABLEDANIMATED 0 +#define PROP_RGBUSEVERTEXCOLORSANIMATED 0 +#define PROP_RGBBLENDMULTIPLICATIVEANIMATED 0 +#define PROP_RGBMASKANIMATED 0 +#define PROP_RGBMASKPANNINGANIMATED 0 +#define PROP_RGBMASKUVANIMATED 0 +#define PROP_REDCOLORANIMATED 0 +#define PROP_REDTEXUREANIMATED 0 +#define PROP_RGBREDPANNINGANIMATED 0 +#define PROP_RGBRED_UVANIMATED 0 +#define PROP_GREENCOLORANIMATED 0 +#define PROP_GREENTEXTUREANIMATED 0 +#define PROP_RGBGREENPANNINGANIMATED 0 +#define PROP_RGBGREEN_UVANIMATED 0 +#define PROP_BLUECOLORANIMATED 0 +#define PROP_BLUETEXTUREANIMATED 0 +#define PROP_RGBBLUEPANNINGANIMATED 0 +#define PROP_RGBBLUE_UVANIMATED 0 +#define PROP_RGBNORMALBLENDANIMATED 0 +#define PROP_DETAILMASKANIMATED 0 +#define PROP_DETAILMASKPANANIMATED 0 +#define PROP_DETAILMASKUVANIMATED 0 +#define PROP_DETAILTINTANIMATED 0 +#define PROP_DETAILTEXANIMATED 0 +#define PROP_DETAILTEXPANANIMATED 0 +#define PROP_DETAILTEXUVANIMATED 0 +#define PROP_DETAILTEXINTENSITYANIMATED 0 +#define PROP_DETAILBRIGHTNESSANIMATED 0 +#define PROP_DETAILNORMALMAPANIMATED 0 +#define PROP_DETAILNORMALMAPSCALEANIMATED 0 +#define PROP_DETAILNORMALMAPPANANIMATED 0 +#define PROP_DETAILNORMALMAPUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALROTATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONLOCALSCALEANIMATED 0 +#define PROP_VERTEXMANIPULATIONWORLDTRANSLATIONANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTMASKANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTPANANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTUVANIMATED 0 +#define PROP_VERTEXMANIPULATIONHEIGHTBIASANIMATED 0 +#define PROP_VERTEXROUNDINGENABLEDANIMATED 0 +#define PROP_VERTEXROUNDINGDIVISIONANIMATED 0 +#define PROP_ALPHAMODANIMATED 0 +#define PROP_CUTOFFANIMATED 0 +#define PROP_DITHERINGENABLEDANIMATED 0 +#define PROP_DITHERGRADIENTANIMATED 0 +#define PROP_FORCEOPAQUEANIMATED 0 +#define PROP_MAINSHADOWCLIPMODANIMATED 0 +#define PROP_ALPHATOMASKANIMATED 0 +#define PROP_MAINALPHATOCOVERAGEANIMATED 0 +#define PROP_ALPHAPREMULTIPLYANIMATED 0 +#define PROP_MAINMIPSCALEANIMATED 0 +#define PROP_DECALENABLEDANIMATED 0 +#define PROP_DECALCOLORANIMATED 0 +#define PROP_DECALEMISSIONSTRENGTHANIMATED 0 +#define PROP_DECALTEXTUREANIMATED 0 +#define PROP_DECALTEXTUREPANANIMATED 0 +#define PROP_DECALTEXTUREUVANIMATED 0 +#define PROP_DECALMASKANIMATED 0 +#define PROP_DECALMASKPANANIMATED 0 +#define PROP_DECALMASKUVANIMATED 0 +#define PROP_DECALTILEDANIMATED 0 +#define PROP_DECALSCALEANIMATED 0 +#define PROP_DECALPOSITIONANIMATED 0 +#define PROP_DECALROTATIONANIMATED 0 +#define PROP_DECALROTATIONSPEEDANIMATED 0 +#define PROP_DECALBLENDADDANIMATED 0 +#define PROP_DECALBLENDMULTIPLYANIMATED 0 +#define PROP_DECALBLENDREPLACEANIMATED 0 +#define PROP_ENABLELIGHTINGANIMATED 0 +#define PROP_LIGHTINGMODEANIMATED 0 +#define PROP_LIGHTINGSTANDARDSMOOTHNESSANIMATED 0 +#define PROP_LIGHTINGSHADINGENABLEDANIMATED 0 +#define PROP_LIGHTINGRAMPTYPEANIMATED 0 +#define PROP_TOONRAMPANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKPANANIMATED 0 +#define PROP_LIGHTINGSHADOWMASKUVANIMATED 0 +#define PROP_SHADOWOFFSETANIMATED 0 +#define PROP_LIGHTINGGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGSHADOWCOLORANIMATED 0 +#define PROP_SHADOWSTRENGTHANIMATED 0 +#define PROP_ATTENUATIONMULTIPLIERANIMATED 0 +#define PROP_LIGHTINGIGNOREAMBIENTCOLORANIMATED 0 +#define PROP_LIGHTINGDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGINDIRECTCOLORMODEANIMATED 0 +#define PROP_LIGHTINGMONOCHROMATICANIMATED 0 +#define PROP_LIGHTINGUNCAPPEDANIMATED 0 +#define PROP_LIGHTINGONLYUNITYSHADOWSANIMATED 0 +#define PROP_LIGHTINGMINLIGHTBRIGHTNESSANIMATED 0 +#define PROP_LIGHTINGMINSHADOWBRIGHTNESSRATIOANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSENABLEDANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSPANANIMATED 0 +#define PROP_LIGHTINGDETAILSHADOWSUVANIMATED 0 +#define PROP_LIGHTINGDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGENABLEAOANIMATED 0 +#define PROP_LIGHTINGAOTEXANIMATED 0 +#define PROP_LIGHTINGAOTEXPANANIMATED 0 +#define PROP_LIGHTINGAOTEXUVANIMATED 0 +#define PROP_AOSTRENGTHANIMATED 0 +#define PROP_USESHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREPANANIMATED 0 +#define PROP_LIGHTINGSHADOWTEXTUREUVANIMATED 0 +#define PROP_LIGHTINGENABLEHSLANIMATED 0 +#define PROP_LIGHTINGHSLINTENSITYANIMATED 0 +#define PROP_LIGHTINGSHADOWHUEANIMATED 0 +#define PROP_LIGHTINGSHADOWSATURATIONANIMATED 0 +#define PROP_LIGHTINGSHADOWLIGHTNESSANIMATED 0 +#define PROP_COMMENTIFZERO_LIGHTINGADDITIVEENABLEANIMATED 0 +#define PROP_LIGHTINGADDITIVETYPEANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTSTARTANIMATED 0 +#define PROP_LIGHTINGADDITIVEGRADIENTENDANIMATED 0 +#define PROP_LIGHTINGADDITIVEPASSTHROUGHANIMATED 0 +#define PROP_LIGHTINGADDITIVEDETAILSTRENGTHANIMATED 0 +#define PROP_LIGHTINGADDITIVELIMITINTENSITYANIMATED 0 +#define PROP_LIGHTINGADDITIVEMAXINTENSITYANIMATED 0 +#define PROP_ENABLESSSANIMATED 0 +#define PROP_SSSCOLORANIMATED 0 +#define PROP_SSSTHICKNESSMAPANIMATED 0 +#define PROP_SSSTHICKNESSMAPPANANIMATED 0 +#define PROP_SSSTHICKNESSMAPUVANIMATED 0 +#define PROP_SSSTHICKNESSMODANIMATED 0 +#define PROP_SSSSCALEANIMATED 0 +#define PROP_SSSPOWERANIMATED 0 +#define PROP_SSSDISTORTIONANIMATED 0 +#define PROP_ENABLERIMLIGHTINGANIMATED 0 +#define PROP_RIMLIGHTNORMALANIMATED 0 +#define PROP_RIMLIGHTINGINVERTANIMATED 0 +#define PROP_RIMLIGHTCOLORANIMATED 0 +#define PROP_RIMWIDTHANIMATED 0 +#define PROP_RIMSHARPNESSANIMATED 0 +#define PROP_RIMSTRENGTHANIMATED 0 +#define PROP_RIMBRIGHTENANIMATED 0 +#define PROP_RIMLIGHTCOLORBIASANIMATED 0 +#define PROP_RIMTEXANIMATED 0 +#define PROP_RIMTEXPANANIMATED 0 +#define PROP_RIMTEXUVANIMATED 0 +#define PROP_RIMMASKANIMATED 0 +#define PROP_RIMMASKPANANIMATED 0 +#define PROP_RIMMASKUVANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREPANANIMATED 0 +#define PROP_RIMWIDTHNOISETEXTUREUVANIMATED 0 +#define PROP_RIMWIDTHNOISESTRENGTHANIMATED 0 +#define PROP_SHADOWMIXANIMATED 0 +#define PROP_SHADOWMIXTHRESHOLDANIMATED 0 +#define PROP_SHADOWMIXWIDTHMODANIMATED 0 +#define PROP_ENABLEENVIRONMENTALRIMANIMATED 0 +#define PROP_RIMENVIROMASKANIMATED 0 +#define PROP_RIMENVIROMASKPANANIMATED 0 +#define PROP_RIMENVIROMASKUVANIMATED 0 +#define PROP_RIMENVIROBLURANIMATED 0 +#define PROP_RIMENVIROWIDTHANIMATED 0 +#define PROP_RIMENVIROSHARPNESSANIMATED 0 +#define PROP_RIMENVIROMINBRIGHTNESSANIMATED 0 +#define PROP_RIMENVIROINTENSITYANIMATED 0 +#define PROP_ENABLEMETALLICANIMATED 0 +#define PROP_CUBEMAPANIMATED 0 +#define PROP_SAMPLEWORLDANIMATED 0 +#define PROP_METALREFLECTIONTINTANIMATED 0 +#define PROP_METALLICTINTMAPANIMATED 0 +#define PROP_METALLICTINTMAPPANANIMATED 0 +#define PROP_METALLICTINTMAPUVANIMATED 0 +#define PROP_METALLICMASKANIMATED 0 +#define PROP_METALLICMASKPANANIMATED 0 +#define PROP_METALLICMASKUVANIMATED 0 +#define PROP_METALLICANIMATED 0 +#define PROP_SMOOTHNESSMASKANIMATED 0 +#define PROP_SMOOTHNESSMASKPANANIMATED 0 +#define PROP_SMOOTHNESSMASKUVANIMATED 0 +#define PROP_INVERTSMOOTHNESSANIMATED 0 +#define PROP_SMOOTHNESSANIMATED 0 +#define PROP_ENABLECLEARCOATANIMATED 0 +#define PROP_CLEARCOATNORMALTOUSEANIMATED 0 +#define PROP_CLEARCOATCUBEMAPANIMATED 0 +#define PROP_CLEARCOATSAMPLEWORLDANIMATED 0 +#define PROP_CLEARCOATTINTANIMATED 0 +#define PROP_CLEARCOATMASKANIMATED 0 +#define PROP_CLEARCOATMASKPANANIMATED 0 +#define PROP_CLEARCOATMASKUVANIMATED 0 +#define PROP_CLEARCOATANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPPANANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSMAPUVANIMATED 0 +#define PROP_CLEARCOATINVERTSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATSMOOTHNESSANIMATED 0 +#define PROP_CLEARCOATFORCELIGHTINGANIMATED 0 +#define PROP_MATCAPENABLEANIMATED 0 +#define PROP_MATCAPCOLORANIMATED 0 +#define PROP_MATCAPANIMATED 0 +#define PROP_MATCAPBORDERANIMATED 0 +#define PROP_MATCAPMASKANIMATED 0 +#define PROP_MATCAPMASKPANANIMATED 0 +#define PROP_MATCAPMASKINVERTANIMATED 0 +#define PROP_MATCAPMASKUVANIMATED 0 +#define PROP_MATCAPEMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAPINTENSITYANIMATED 0 +#define PROP_MATCAPLIGHTMASKANIMATED 0 +#define PROP_MATCAPREPLACEANIMATED 0 +#define PROP_MATCAPMULTIPLYANIMATED 0 +#define PROP_MATCAPADDANIMATED 0 +#define PROP_MATCAPNORMALANIMATED 0 +#define PROP_MATCAP2ENABLEANIMATED 0 +#define PROP_MATCAP2COLORANIMATED 0 +#define PROP_MATCAP2ANIMATED 0 +#define PROP_MATCAP2BORDERANIMATED 0 +#define PROP_MATCAP2MASKANIMATED 0 +#define PROP_MATCAP2MASKPANANIMATED 0 +#define PROP_MATCAP2MASKUVANIMATED 0 +#define PROP_MATCAP2MASKINVERTANIMATED 0 +#define PROP_MATCAP2EMISSIONSTRENGTHANIMATED 0 +#define PROP_MATCAP2INTENSITYANIMATED 0 +#define PROP_MATCAP2LIGHTMASKANIMATED 0 +#define PROP_MATCAP2REPLACEANIMATED 0 +#define PROP_MATCAP2MULTIPLYANIMATED 0 +#define PROP_MATCAP2ADDANIMATED 0 +#define PROP_MATCAP2NORMALANIMATED 0 +#define PROP_ENABLESPECULARANIMATED 0 +#define PROP_SPECULARTYPEANIMATED 0 +#define PROP_SPECULARNORMALANIMATED 0 +#define PROP_SPECULARTINTANIMATED 0 +#define PROP_SPECULARMETALLICANIMATED 0 +#define PROP_SPECULARSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMAPANIMATED 0 +#define PROP_SPECULARMAPPANANIMATED 0 +#define PROP_SPECULARMAPUVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESSANIMATED 0 +#define PROP_SPECULARMASKANIMATED 0 +#define PROP_SPECULARMASKPANANIMATED 0 +#define PROP_SPECULARMASKUVANIMATED 0 +#define PROP_SMOOTHNESSFROMANIMATED 0 +#define PROP_SPECWHATTANGENTANIMATED 0 +#define PROP_ANISOSPEC1ALPHAANIMATED 0 +#define PROP_ANISOSPEC2ALPHAANIMATED 0 +#define PROP_SPEC1OFFSETANIMATED 0 +#define PROP_SPEC2SMOOTHNESSANIMATED 0 +#define PROP_ANISOUSETANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPANIMATED 0 +#define PROP_ANISOTANGENTMAPPANANIMATED 0 +#define PROP_ANISOTANGENTMAPUVANIMATED 0 +#define PROP_SPECULARTOONSTARTANIMATED 0 +#define PROP_SPECULARTOONENDANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRROREDANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROUVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIERANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROPANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROUVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTERANIMATED 0 +#define PROP_ENABLESPECULAR1ANIMATED 0 +#define PROP_SPECULARTYPE1ANIMATED 0 +#define PROP_SPECULARNORMAL1ANIMATED 0 +#define PROP_SPECULARTINT1ANIMATED 0 +#define PROP_SPECULARMETALLIC1ANIMATED 0 +#define PROP_SPECULARSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMAP1ANIMATED 0 +#define PROP_SPECULARMAP1PANANIMATED 0 +#define PROP_SPECULARMAP1UVANIMATED 0 +#define PROP_SPECULARINVERTSMOOTHNESS1ANIMATED 0 +#define PROP_SPECULARMASK1ANIMATED 0 +#define PROP_SPECULARMASK1PANANIMATED 0 +#define PROP_SPECULARMASK1UVANIMATED 0 +#define PROP_SMOOTHNESSFROM1ANIMATED 0 +#define PROP_SPECWHATTANGENT1ANIMATED 0 +#define PROP_ANISOSPEC1ALPHA1ANIMATED 0 +#define PROP_ANISOSPEC2ALPHA1ANIMATED 0 +#define PROP_SPEC1OFFSET1ANIMATED 0 +#define PROP_SPEC2SMOOTHNESS1ANIMATED 0 +#define PROP_ANISOUSETANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1ANIMATED 0 +#define PROP_ANISOTANGENTMAP1PANANIMATED 0 +#define PROP_ANISOTANGENTMAP1UVANIMATED 0 +#define PROP_SPECULARTOONSTART1ANIMATED 0 +#define PROP_SPECULARTOONEND1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMIRRORED1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMICRO1UVANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACROMULTIPLIER1ANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1PANANIMATED 0 +#define PROP_SPECULARANISOJITTERMACRO1UVANIMATED 0 +#define PROP_SPECULARTOONINNEROUTER1ANIMATED 0 +#define PROP_ENABLEEMISSIONANIMATED 0 +#define PROP_EMISSIONREPLACEANIMATED 0 +#define PROP_EMISSIONCOLORANIMATED 0 +#define PROP_EMISSIONMAPANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAPANIMATED 0 +#define PROP_EMISSIONMAPPANANIMATED 0 +#define PROP_EMISSIONMAPUVANIMATED 0 +#define PROP_EMISSIONMASKANIMATED 0 +#define PROP_EMISSIONMASKPANANIMATED 0 +#define PROP_EMISSIONMASKUVANIMATED 0 +#define PROP_EMISSIONSTRENGTHANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLEDANIMATED 0 +#define PROP_EMISSIONHUESHIFTANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLEDANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEEDANIMATED 0 +#define PROP_ENABLEGITDEMISSIONANIMATED 0 +#define PROP_GITDEWORLDORMESHANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIERANIMATED 0 +#define PROP_GITDEMINLIGHTANIMATED 0 +#define PROP_GITDEMAXLIGHTANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MINANIMATED 0 +#define PROP_EMISSIVEBLINK_MAXANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITYANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSETANIMATED 0 +#define PROP_SCROLLINGEMISSIONANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVEANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLORANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTIONANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTHANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITYANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVALANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSETANIMATED 0 +#define PROP_ENABLEEMISSION1ANIMATED 0 +#define PROP_EMISSIONCOLOR1ANIMATED 0 +#define PROP_EMISSIONMAP1ANIMATED 0 +#define PROP_EMISSIONBASECOLORASMAP1ANIMATED 0 +#define PROP_EMISSIONMAP1PANANIMATED 0 +#define PROP_EMISSIONMAP1UVANIMATED 0 +#define PROP_EMISSIONMASK1ANIMATED 0 +#define PROP_EMISSIONMASK1PANANIMATED 0 +#define PROP_EMISSIONMASK1UVANIMATED 0 +#define PROP_EMISSIONSTRENGTH1ANIMATED 0 +#define PROP_EMISSIONHUESHIFTENABLED1ANIMATED 0 +#define PROP_EMISSIONHUESHIFT1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTENABLED1ANIMATED 0 +#define PROP_EMISSIONCENTEROUTSPEED1ANIMATED 0 +#define PROP_ENABLEGITDEMISSION1ANIMATED 0 +#define PROP_GITDEWORLDORMESH1ANIMATED 0 +#define PROP_GITDEMINEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMAXEMISSIONMULTIPLIER1ANIMATED 0 +#define PROP_GITDEMINLIGHT1ANIMATED 0 +#define PROP_GITDEMAXLIGHT1ANIMATED 0 +#define PROP_EMISSIONBLINKINGENABLEDANIMATED 0 +#define PROP_EMISSIVEBLINK_MIN1ANIMATED 0 +#define PROP_EMISSIVEBLINK_MAX1ANIMATED 0 +#define PROP_EMISSIVEBLINK_VELOCITY1ANIMATED 0 +#define PROP_EMISSIONBLINKINGOFFSET1ANIMATED 0 +#define PROP_SCROLLINGEMISSION1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGUSECURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGCURVE1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGVERTEXCOLOR1ANIMATED 0 +#define PROP_EMISSIVESCROLL_DIRECTION1ANIMATED 0 +#define PROP_EMISSIVESCROLL_WIDTH1ANIMATED 0 +#define PROP_EMISSIVESCROLL_VELOCITY1ANIMATED 0 +#define PROP_EMISSIVESCROLL_INTERVAL1ANIMATED 0 +#define PROP_EMISSIONSCROLLINGOFFSET1ANIMATED 0 +#define PROP_ENABLEFLIPBOOKANIMATED 0 +#define PROP_FLIPBOOKALPHACONTROLSFINALALPHAANIMATED 0 +#define PROP_FLIPBOOKINTENSITYCONTROLSALPHAANIMATED 0 +#define PROP_FLIPBOOKCOLORREPLACESANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYUVANIMATED 0 +#define PROP_FLIPBOOKTEXARRAYPANANIMATED 0 +#define PROP_FLIPBOOKMASKANIMATED 0 +#define PROP_FLIPBOOKMASKUVANIMATED 0 +#define PROP_FLIPBOOKMASKPANANIMATED 0 +#define PROP_FLIPBOOKCOLORANIMATED 0 +#define PROP_FLIPBOOKTOTALFRAMESANIMATED 0 +#define PROP_FLIPBOOKFPSANIMATED 0 +#define PROP_FLIPBOOKSCALEOFFSETANIMATED 0 +#define PROP_FLIPBOOKTILEDANIMATED 0 +#define PROP_FLIPBOOKEMISSIONSTRENGTHANIMATED 0 +#define PROP_FLIPBOOKROTATIONANIMATED 0 +#define PROP_FLIPBOOKROTATIONSPEEDANIMATED 0 +#define PROP_FLIPBOOKREPLACEANIMATED 0 +#define PROP_FLIPBOOKMULTIPLYANIMATED 0 +#define PROP_FLIPBOOKADDANIMATED 0 +#define PROP_FLIPBOOKCURRENTFRAMEANIMATED 0 +#define PROP_ENABLEDISSOLVEANIMATED 0 +#define PROP_DISSOLVETYPEANIMATED 0 +#define PROP_DISSOLVEEDGEWIDTHANIMATED 0 +#define PROP_DISSOLVEEDGEHARDNESSANIMATED 0 +#define PROP_DISSOLVEEDGECOLORANIMATED 0 +#define PROP_DISSOLVEEDGEGRADIENTANIMATED 0 +#define PROP_DISSOLVEEDGEEMISSIONANIMATED 0 +#define PROP_DISSOLVETEXTURECOLORANIMATED 0 +#define PROP_DISSOLVETOTEXTUREANIMATED 0 +#define PROP_DISSOLVETOTEXTUREPANANIMATED 0 +#define PROP_DISSOLVETOTEXTUREUVANIMATED 0 +#define PROP_DISSOLVETOEMISSIONSTRENGTHANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREPANANIMATED 0 +#define PROP_DISSOLVENOISETEXTUREUVANIMATED 0 +#define PROP_DISSOLVEINVERTNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEPANANIMATED 0 +#define PROP_DISSOLVEDETAILNOISEUVANIMATED 0 +#define PROP_DISSOLVEINVERTDETAILNOISEANIMATED 0 +#define PROP_DISSOLVEDETAILSTRENGTHANIMATED 0 +#define PROP_DISSOLVEALPHAANIMATED 0 +#define PROP_DISSOLVEUSEVERTEXCOLORSANIMATED 0 +#define PROP_DISSOLVEMASKANIMATED 0 +#define PROP_DISSOLVEMASKPANANIMATED 0 +#define PROP_DISSOLVEMASKUVANIMATED 0 +#define PROP_DISSOLVEMASKINVERTANIMATED 0 +#define PROP_CONTINUOUSDISSOLVEANIMATED 0 +#define PROP_DISSOLVEEMISSIONSIDEANIMATED 0 +#define PROP_DISSOLVEEMISSION1SIDEANIMATED 0 +#define PROP_DISSOLVEP2PWORLDLOCALANIMATED 0 +#define PROP_DISSOLVEP2PEDGELENGTHANIMATED 0 +#define PROP_DISSOLVESTARTPOINTANIMATED 0 +#define PROP_DISSOLVEENDPOINTANIMATED 0 +#define PROP_DISSOLVEALPHA0ANIMATED 0 +#define PROP_DISSOLVEALPHA1ANIMATED 0 +#define PROP_DISSOLVEALPHA2ANIMATED 0 +#define PROP_DISSOLVEALPHA3ANIMATED 0 +#define PROP_DISSOLVEALPHA4ANIMATED 0 +#define PROP_DISSOLVEALPHA5ANIMATED 0 +#define PROP_DISSOLVEALPHA6ANIMATED 0 +#define PROP_DISSOLVEALPHA7ANIMATED 0 +#define PROP_DISSOLVEALPHA8ANIMATED 0 +#define PROP_DISSOLVEALPHA9ANIMATED 0 +#define PROP_PANOTOGGLEANIMATED 0 +#define PROP_PANOINFINITESTEREOTOGGLEANIMATED 0 +#define PROP_PANOSPHERECOLORANIMATED 0 +#define PROP_PANOSPHERETEXTUREANIMATED 0 +#define PROP_PANOMASKANIMATED 0 +#define PROP_PANOMASKPANANIMATED 0 +#define PROP_PANOMASKUVANIMATED 0 +#define PROP_PANOEMISSIONANIMATED 0 +#define PROP_PANOBLENDANIMATED 0 +#define PROP_PANOSPHEREPANANIMATED 0 +#define PROP_PANOCUBEMAPTOGGLEANIMATED 0 +#define PROP_PANOCUBEMAPANIMATED 0 +#define PROP_GLITTERENABLEANIMATED 0 +#define PROP_GLITTERMODEANIMATED 0 +#define PROP_GLITTERSHAPEANIMATED 0 +#define PROP_GLITTERBLENDTYPEANIMATED 0 +#define PROP_GLITTERCOLORANIMATED 0 +#define PROP_GLITTERUSESURFACECOLORANIMATED 0 +#define PROP_GLITTERCOLORMAPANIMATED 0 +#define PROP_GLITTERCOLORMAPPANANIMATED 0 +#define PROP_GLITTERCOLORMAPUVANIMATED 0 +#define PROP_GLITTERPANANIMATED 0 +#define PROP_GLITTERMASKANIMATED 0 +#define PROP_GLITTERMASKPANANIMATED 0 +#define PROP_GLITTERMASKUVANIMATED 0 +#define PROP_GLITTERTEXTUREANIMATED 0 +#define PROP_GLITTERTEXTUREPANANIMATED 0 +#define PROP_GLITTERRANDOMROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYANIMATED 0 +#define PROP_GLITTERJITTERANIMATED 0 +#define PROP_GLITTERSPEEDANIMATED 0 +#define PROP_GLITTERSIZEANIMATED 0 +#define PROP_GLITTERCONTRASTANIMATED 0 +#define PROP_GLITTERANGLERANGEANIMATED 0 +#define PROP_GLITTERMINBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBRIGHTNESSANIMATED 0 +#define PROP_GLITTERBIASANIMATED 0 +#define PROP_GLITTERCENTERSIZEANIMATED 0 +#define PROP_GLITTERTEXTUREROTATIONANIMATED 0 +#define PROP_GLITTERFREQUENCYLINEAREMISSIVEANIMATED 0 +#define PROP_GLITTERJAGGYFIXANIMATED 0 +#define PROP_GLITTERRANDOMCOLORSANIMATED 0 +#define PROP_GLITTERMINMAXSATURATIONANIMATED 0 +#define PROP_GLITTERMINMAXBRIGHTNESSANIMATED 0 +#define PROP_GLITTERRANDOMSIZEANIMATED 0 +#define PROP_GLITTERMINMAXSIZEANIMATED 0 +#define PROP_TEXTGLYPHSANIMATED 0 +#define PROP_TEXTPIXELRANGEANIMATED 0 +#define PROP_TEXTENABLEDANIMATED 0 +#define PROP_TEXTFPSENABLEDANIMATED 0 +#define PROP_TEXTFPSUVANIMATED 0 +#define PROP_TEXTFPSCOLORANIMATED 0 +#define PROP_TEXTFPSEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTFPSOFFSETANIMATED 0 +#define PROP_TEXTFPSROTATIONANIMATED 0 +#define PROP_TEXTFPSSCALEANIMATED 0 +#define PROP_TEXTFPSPADDINGANIMATED 0 +#define PROP_TEXTPOSITIONENABLEDANIMATED 0 +#define PROP_TEXTPOSITIONUVANIMATED 0 +#define PROP_TEXTPOSITIONCOLORANIMATED 0 +#define PROP_TEXTPOSITIONEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTPOSITIONOFFSETANIMATED 0 +#define PROP_TEXTPOSITIONROTATIONANIMATED 0 +#define PROP_TEXTPOSITIONSCALEANIMATED 0 +#define PROP_TEXTPOSITIONPADDINGANIMATED 0 +#define PROP_TEXTTIMEENABLEDANIMATED 0 +#define PROP_TEXTTIMEUVANIMATED 0 +#define PROP_TEXTTIMECOLORANIMATED 0 +#define PROP_TEXTTIMEEMISSIONSTRENGTHANIMATED 0 +#define PROP_TEXTTIMEOFFSETANIMATED 0 +#define PROP_TEXTTIMEROTATIONANIMATED 0 +#define PROP_TEXTTIMESCALEANIMATED 0 +#define PROP_TEXTTIMEPADDINGANIMATED 0 +#define PROP_ENABLEMIRROROPTIONSANIMATED 0 +#define PROP_MIRRORANIMATED 0 +#define PROP_ENABLEMIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREANIMATED 0 +#define PROP_MIRRORTEXTUREPANANIMATED 0 +#define PROP_MIRRORTEXTUREUVANIMATED 0 +#define PROP_MAINMINALPHAANIMATED 0 +#define PROP_MAINFADETEXTUREANIMATED 0 +#define PROP_MAINFADETEXTUREPANANIMATED 0 +#define PROP_MAINFADETEXTUREUVANIMATED 0 +#define PROP_MAINDISTANCEFADEANIMATED 0 +#define PROP_ENABLERANDOMANIMATED 0 +#define PROP_ANGLETYPEANIMATED 0 +#define PROP_ANGLECOMPARETOANIMATED 0 +#define PROP_ANGLEFORWARDDIRECTIONANIMATED 0 +#define PROP_CAMERAANGLEMINANIMATED 0 +#define PROP_CAMERAANGLEMAXANIMATED 0 +#define PROP_MODELANGLEMINANIMATED 0 +#define PROP_MODELANGLEMAXANIMATED 0 +#define PROP_ANGLEMINALPHAANIMATED 0 +#define PROP_ENABLEDISTORTIONANIMATED 0 +#define PROP_DISTORTIONMASKANIMATED 0 +#define PROP_DISTORTIONMASKPANANIMATED 0 +#define PROP_DISTORTIONMASKUVANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTUREANIMATED 0 +#define PROP_DISTORTIONFLOWTEXTURE1ANIMATED 0 +#define PROP_DISTORTIONSTRENGTHANIMATED 0 +#define PROP_DISTORTIONSTRENGTH1ANIMATED 0 +#define PROP_DISTORTIONSPEEDANIMATED 0 +#define PROP_DISTORTIONSPEED1ANIMATED 0 +#define PROP_ENABLEVIDEOANIMATED 0 +#define PROP_VIDEOUVNUMBERANIMATED 0 +#define PROP_VIDEOTYPEANIMATED 0 +#define PROP_VIDEOBACKLIGHTANIMATED 0 +#define PROP_VIDEOPIXELTEXTUREANIMATED 0 +#define PROP_VIDEORESOLUTIONANIMATED 0 +#define PROP_VIDEOMASKTEXTUREANIMATED 0 +#define PROP_VIDEOMASKPANNINGANIMATED 0 +#define PROP_VIDEOENABLEVIDEOPLAYERANIMATED 0 +#define PROP_VIDEOPIXELATETORESOLUTIONANIMATED 0 +#define PROP_VIDEOREPEATVIDEOTEXTUREANIMATED 0 +#define PROP_VIDEOPANNINGANIMATED 0 +#define PROP_VIDEOTILINGANIMATED 0 +#define PROP_VIDEOOFFSETANIMATED 0 +#define PROP_VIDEOSATURATIONANIMATED 0 +#define PROP_VIDEOCONTRASTANIMATED 0 +#define PROP_VIDEOENABLEDEBUGANIMATED 0 +#define PROP_VIDEODEBUGTEXTUREANIMATED 0 +#define PROP_VIDEOCRTREFRESHRATEANIMATED 0 +#define PROP_VIDEOCRTPIXELENERGIZEDTIMEANIMATED 0 +#define PROP_VIDEOGAMEBOYRAMPANIMATED 0 +#define PROP_ENABLEBULGEANIMATED 0 +#define PROP_BULGEMASKANIMATED 0 +#define PROP_BULDGEFADELENGTHANIMATED 0 +#define PROP_BULDGEHEIGHTANIMATED 0 +#define PROP_ENABLETOUCHGLOWANIMATED 0 +#define PROP_DEPTHGRADIENTTEXTUREUVANIMATED 0 +#define PROP_DEPTHGRADIENTBLENDANIMATED 0 +#define PROP_DEPTHGRADIENTPANANIMATED 0 +#define PROP_DEPTHGRADIENTUVANIMATED 0 +#define PROP_DEPTHMASKPANANIMATED 0 +#define PROP_DEPTHMASKUVANIMATED 0 +#define PROP_DEPTHGLOWCOLORANIMATED 0 +#define PROP_DEPTHGRADIENTANIMATED 0 +#define PROP_DEPTHMASKANIMATED 0 +#define PROP_DEPTHGLOWEMISSIONANIMATED 0 +#define PROP_FADELENGTHANIMATED 0 +#define PROP_DEPTHALPHAMINANIMATED 0 +#define PROP_DEPTHALPHAMAXANIMATED 0 +#define PROP_ENABLEHOLOANIMATED 0 +#define PROP_HOLOALPHAMAPANIMATED 0 +#define PROP_HOLOCOORDINATESPACEANIMATED 0 +#define PROP_HOLODIRECTIONANIMATED 0 +#define PROP_HOLOLINEDENSITYANIMATED 0 +#define PROP_HOLOSCROLLSPEEDANIMATED 0 +#define PROP_HOLOFRESNELALPHAANIMATED 0 +#define PROP_HOLORIMSHARPNESSANIMATED 0 +#define PROP_HOLORIMWIDTHANIMATED 0 +#define PROP_GRABPASSUSEALPHAANIMATED 0 +#define PROP_GRABPASSBLENDFACTORANIMATED 0 +#define PROP_GRABSRCBLENDANIMATED 0 +#define PROP_GRABDSTBLENDANIMATED 0 +#define PROP_REFRACTIONENABLEDANIMATED 0 +#define PROP_REFRACTIONINDEXANIMATED 0 +#define PROP_REFRACTIONCHROMATICABERATTIONANIMATED 0 +#define PROP_ENABLEBLURANIMATED 0 +#define PROP_GRABBLURDISTANCEANIMATED 0 +#define PROP_GRABBLURQUALITYANIMATED 0 +#define PROP_GRABBLURDIRECTIONSANIMATED 0 +#define PROP_ENABLEIRIDESCENCEANIMATED 0 +#define PROP_IRIDESCENCERAMPANIMATED 0 +#define PROP_IRIDESCENCENORMALTOGGLEANIMATED 0 +#define PROP_IRIDESCENCENORMALMAPANIMATED 0 +#define PROP_IRIDESCENCEMASKANIMATED 0 +#define PROP_IRIDESCENCENORMALINTENSITYANIMATED 0 +#define PROP_IRIDESCENCENORMALUVANIMATED 0 +#define PROP_IRIDESCENCEMASKUVANIMATED 0 +#define PROP_IRIDESCENCENORMALSELECTIONANIMATED 0 +#define PROP_IRIDESCENCEINTENSITYANIMATED 0 +#define PROP_IRIDESCENCEADDBLENDANIMATED 0 +#define PROP_IRIDESCENCEREPLACEBLENDANIMATED 0 +#define PROP_IRIDESCENCEMULTIPLYBLENDANIMATED 0 +#define PROP_IRIDESCENCEEMISSIONSTRENGTHANIMATED 0 +#define PROP_IRIDESCENCETIMEANIMATED 0 +#define PROP_ENABLEVERTEXGLITCHANIMATED 0 +#define PROP_VERTEXGLITCHFREQUENCYANIMATED 0 +#define PROP_VERTEXGLITCHTHRESHOLDANIMATED 0 +#define PROP_VERTEXGLITCHSTRENGTHANIMATED 0 +#define PROP_ENABLESCIFISPAWNINANIMATED 0 +#define PROP_SPAWNINNOISEANIMATED 0 +#define PROP_SPAWNINNOISEINTENSITYANIMATED 0 +#define PROP_SPAWNINALPHAANIMATED 0 +#define PROP_SPAWNINGRADIENTSTARTANIMATED 0 +#define PROP_SPAWNINGRADIENTFINISHANIMATED 0 +#define PROP_SPAWNINEMISSIONCOLORANIMATED 0 +#define PROP_SPAWNINEMISSIONOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETANIMATED 0 +#define PROP_SPAWNINVERTOFFSETOFFSETANIMATED 0 +#define PROP_VORONOITYPEANIMATED 0 +#define PROP_VORONOISPACEANIMATED 0 +#define PROP_VORONOIBLENDANIMATED 0 +#define PROP_ENABLEVORONOIANIMATED 0 +#define PROP_VORONOIEFFECTSMATERIALALPHAANIMATED 0 +#define PROP_VORONOIMASKANIMATED 0 +#define PROP_VORONOIMASKPANANIMATED 0 +#define PROP_VORONOIMASKUVANIMATED 0 +#define PROP_VORONOINOISEANIMATED 0 +#define PROP_VORONOINOISEPANANIMATED 0 +#define PROP_VORONOINOISEUVANIMATED 0 +#define PROP_VORONOINOISEINTENSITYANIMATED 0 +#define PROP_VORONOICOLOR0ANIMATED 0 +#define PROP_VORONOIEMISSION0ANIMATED 0 +#define PROP_VORONOICOLOR1ANIMATED 0 +#define PROP_VORONOIEMISSION1ANIMATED 0 +#define PROP_VORONOIGRADIENTANIMATED 0 +#define PROP_VORONOISCALEANIMATED 0 +#define PROP_VORONOISPEEDANIMATED 0 +#define PROP_VORONOIENABLERANDOMCELLCOLORANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXSATURATIONANIMATED 0 +#define PROP_VORONOIRANDOMMINMAXBRIGHTNESSANIMATED 0 +#define PROP_BLACKLIGHTMASKENABLEDANIMATED 0 +#define PROP_BLACKLIGHTMASKKEYSANIMATED 0 +#define PROP_BLACKLIGHTMASKSTARTANIMATED 0 +#define PROP_BLACKLIGHTMASKENDANIMATED 0 +#define PROP_BLACKLIGHTMASKDEBUGANIMATED 0 +#define PROP_BLACKLIGHTMASKMETALLICANIMATED 0 +#define PROP_BLACKLIGHTMASKCLEARCOATANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAPANIMATED 0 +#define PROP_BLACKLIGHTMASKMATCAP2ANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSIONANIMATED 0 +#define PROP_BLACKLIGHTMASKEMISSION2ANIMATED 0 +#define PROP_BLACKLIGHTMASKFLIPBOOKANIMATED 0 +#define PROP_BLACKLIGHTMASKDISSOLVEANIMATED 0 +#define PROP_BLACKLIGHTMASKPANOSPHEREANIMATED 0 +#define PROP_BLACKLIGHTMASKGLITTERANIMATED 0 +#define PROP_BLACKLIGHTMASKIRIDESCENCEANIMATED 0 +#define PROP_OUTLINEMODEANIMATED 0 +#define PROP_OUTLINEFIXEDSIZEANIMATED 0 +#define PROP_OUTLINEUSEVERTEXCOLORSANIMATED 0 +#define PROP_OUTLINELITANIMATED 0 +#define PROP_LINEWIDTHANIMATED 0 +#define PROP_LINECOLORANIMATED 0 +#define PROP_OUTLINETINTMIXANIMATED 0 +#define PROP_OUTLINEEMISSIONANIMATED 0 +#define PROP_OUTLINETEXTUREANIMATED 0 +#define PROP_OUTLINEMASKANIMATED 0 +#define PROP_OUTLINETEXTUREPANANIMATED 0 +#define PROP_OUTLINESHADOWSTRENGTHANIMATED 0 +#define PROP_OUTLINERIMLIGHTBLENDANIMATED 0 +#define PROP_OUTLINEPERSONADIRECTIONANIMATED 0 +#define PROP_OUTLINEDROPSHADOWOFFSETANIMATED 0 +#define PROP_OUTLINEFADEDISTANCEANIMATED 0 +#define PROP_OUTLINEOFFSETFACTOR 0 +#define PROP_OUTLINEOFFSETUNITS 0 +#define PROP_OUTLINECULLANIMATED 0 +#define PROP_PARALLAXMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPENABLEDANIMATED 0 +#define PROP_PARALLAXINTERNALMAPENABLEDANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPPANANIMATED 0 +#define PROP_PARALLAXUVANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKPANANIMATED 0 +#define PROP_PARALLAXHEIGHTMAPMASKUVANIMATED 0 +#define PROP_PARALLAXSTRENGTHANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTMAPMODEANIMATED 0 +#define PROP_PARALLAXINTERNALHEIGHTFROMALPHAANIMATED 0 +#define PROP_PARALLAXINTERNALMAPANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKPANANIMATED 0 +#define PROP_PARALLAXINTERNALMAPMASKUVANIMATED 0 +#define PROP_PARALLAXINTERNALITERATIONSANIMATED 0 +#define PROP_PARALLAXINTERNALMINDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMAXDEPTHANIMATED 0 +#define PROP_PARALLAXINTERNALMINFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMAXFADEANIMATED 0 +#define PROP_PARALLAXINTERNALMINCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALMAXCOLORANIMATED 0 +#define PROP_PARALLAXINTERNALPANSPEEDANIMATED 0 +#define PROP_PARALLAXINTERNALPANDEPTHSPEEDANIMATED 0 +#define PROP_PARALLAXBIASANIMATED 0 +#define PROP_CULLANIMATED 0 +#define PROP_ZTESTANIMATED 0 +#define PROP_ZWRITEANIMATED 0 +#define PROP_COLORMASKANIMATED 0 +#define PROP_OFFSETFACTORANIMATED 0 +#define PROP_OFFSETUNITSANIMATED 0 +#define PROP_IGNOREFOGANIMATED 0 +#define PROP_BLENDOPANIMATED 0 +#define PROP_BLENDOPALPHAANIMATED 0 +#define PROP_SRCBLENDANIMATED 0 +#define PROP_DSTBLENDANIMATED 0 +#define PROP_STENCILREFANIMATED 0 +#define PROP_STENCILREADMASKANIMATED 0 +#define PROP_STENCILWRITEMASKANIMATED 0 +#define PROP_STENCILPASSOPANIMATED 0 +#define PROP_STENCILFAILOPANIMATED 0 +#define PROP_STENCILZFAILOPANIMATED 0 +#define PROP_STENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_OUTLINESTENCILREFANIMATED 0 +#define PROP_OUTLINESTENCILREADMASKANIMATED 0 +#define PROP_OUTLINESTENCILWRITEMASKANIMATED 0 +#define PROP_OUTLINESTENCILPASSOPANIMATED 0 +#define PROP_OUTLINESTENCILFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILZFAILOPANIMATED 0 +#define PROP_OUTLINESTENCILCOMPAREFUNCTIONANIMATED 0 +#define PROP_VERTEXUNWRAPANIMATED 0 +#define PROP_DEBUGMESHDATAANIMATED 0 +#define PROP_DEBUGLIGHTINGDATAANIMATED 0 +#define PROP_DEBUGCAMERADATAANIMATED 0 + + + #pragma target 5.0 + #define POI_META_PASS + float _Mode; + // UV Distortion +// #pragma shader_feature USER_LUT + // Hologram Alpha +// #pragma shader_feature DEPTH_OF_FIELD + //Video +// #pragma shader_feature BLOOM +// #pragma shader_feature _PARALLAXMAP + // Mirror +// #pragma shader_feature _REQUIRE_UV2 + // Random +// #pragma shader_feature _SUNDISK_NONE + // Hue Shift +// #pragma shader_feature COLOR_GRADING_HDR + // Dissolve +// #pragma shader_feature DISTORT + // Panosphere +// #pragma shader_feature _DETAIL_MULX2 + // Lighting +// #pragma shader_feature VIGNETTE_MASKED + // Flipbook +// #pragma shader_feature _SUNDISK_HIGH_QUALITY + // Rim Lighting +// #pragma shader_feature _GLOSSYREFLECTIONS_OFF + // Enviro Rim +// #pragma shader_feature _MAPPING_6_FRAMES_LAYOUT + // Metal +// #pragma shader_feature _METALLICGLOSSMAP + // Iridescence +// #pragma shader_feature BLOOM_LENS_DIRT + // Matcap +// #pragma shader_feature _COLORADDSUBDIFF_ON + // Specular +// #pragma shader_feature _SPECGLOSSMAP + // SubSurface +// #pragma shader_feature _TERRAIN_NORMAL_MAP + // Debug +// #pragma shader_feature _COLOROVERLAY_ON + // Glitter +// #pragma shader_feature _SUNDISK_SIMPLE + // RGBMask +// #pragma shader_feature VIGNETTE + // RGB NORMALS +// #pragma shader_feature GEOM_TYPE_MESH + //Details +// #pragma shader_feature FINALPASS + // Text +// #pragma shader_feature EFFECT_BUMP + // Emission 1 +// #pragma shader_feature _EMISSION + // Emission 2 +// #pragma shader_feature EFFECT_HUE_VARIATION + // Clear Coat +// #pragma shader_feature _COLORCOLOR_ON + #pragma vertex vert + #pragma fragment frag + #include "../Includes/CGI_PoiPass.cginc" + ENDCG + + } + } +} diff --git a/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta new file mode 100644 index 00000000..973fd225 --- /dev/null +++ b/VRCSDK3AvatarsQuestLegacy/Assets/Avatars/Erwin Cow/Materials/OptimizedShaders/skin color-654df2de/Assets/Resources/Poyomi/Shaders/Toon/Shaders/S_Poiyomi_Toon.shader.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 6aaddcf3ca9434c41959f9880b4d5a95 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + userData: + assetBundleName: + assetBundleVariant: -- cgit v1.2.3-freya