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 --- .../Shaders/Includes/CGI_PoiRandom.cginc | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Includes/CGI_PoiRandom.cginc (limited to 'VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Includes/CGI_PoiRandom.cginc') diff --git a/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Includes/CGI_PoiRandom.cginc b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Includes/CGI_PoiRandom.cginc new file mode 100644 index 00000000..6473b764 --- /dev/null +++ b/VRCSDK3AvatarsLegacy/Assets/_PoiyomiShaders/Shaders/Includes/CGI_PoiRandom.cginc @@ -0,0 +1,39 @@ +#ifndef POI_RANDOM + #define POI_RANDOM + + float _EnableRandom; + float m_start_Angle; + uint _AngleType; + float3 _AngleForwardDirection; + float _CameraAngleMin, _CameraAngleMax; + float _ModelAngleMin, _ModelAngleMax; + float _AngleMinAlpha; + uint _AngleCompareTo; + + float ApplyAngleBasedRendering(float3 modelPos, float3 worldPos) + { + half cameraAngleMin = _CameraAngleMin / 180; + half cameraAngleMax = _CameraAngleMax / 180; + half modelAngleMin = _ModelAngleMin / 180; + half modelAngleMax = _ModelAngleMax / 180; + float3 pos = _AngleCompareTo == 0 ? modelPos : worldPos; + half3 cameraToModelDirection = normalize(pos - getCameraPosition()); + half3 modelForwardDirection = normalize(mul(unity_ObjectToWorld, normalize(_AngleForwardDirection))); + 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 (_AngleType == 0) + { + return max(cameraLookAtModel, _AngleMinAlpha); + } + else if(_AngleType == 1) + { + return max(modelLookAtCamera, _AngleMinAlpha); + } + else if(_AngleType == 2) + { + return max(cameraLookAtModel * modelLookAtCamera, _AngleMinAlpha); + } + return 1; + } + +#endif \ No newline at end of file -- cgit v1.2.3-freya