diff options
author | tylermurphy534 <tylermurphy534@gmail.com> | 2022-11-06 15:12:42 -0500 |
---|---|---|
committer | tylermurphy534 <tylermurphy534@gmail.com> | 2022-11-06 15:12:42 -0500 |
commit | eb84bb298d2b95aec7b2ae12cbf25ac64f25379a (patch) | |
tree | efd616a157df06ab661c6d56651853431ac6b08b /VRCSDK3Worlds/Assets/Bakery/ftFarSphereRenderBase.cginc | |
download | unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.gz unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.tar.bz2 unityprojects-eb84bb298d2b95aec7b2ae12cbf25ac64f25379a.zip |
move to self host
Diffstat (limited to '')
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/ftFarSphereRenderBase.cginc | 70 | ||||
-rw-r--r-- | VRCSDK3Worlds/Assets/Bakery/ftFarSphereRenderBase.cginc.meta | 9 |
2 files changed, 79 insertions, 0 deletions
diff --git a/VRCSDK3Worlds/Assets/Bakery/ftFarSphereRenderBase.cginc b/VRCSDK3Worlds/Assets/Bakery/ftFarSphereRenderBase.cginc new file mode 100644 index 00000000..2c12619f --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/ftFarSphereRenderBase.cginc @@ -0,0 +1,70 @@ +struct appdata +{ + float4 vertex : POSITION; + float2 uv : TEXCOORD0; + float3 normal : NORMAL0; +}; + +struct v2f +{ + float4 vertex : SV_POSITION; + float2 uv : TEXCOORD0; + float3 normal : TEXCOORD1; + float3 worldPos : TEXCOORD2; +}; + +sampler2D _MainTex; +float4 _MainTex_ST; +//float4 _Color; +//float4x4 cullMatrices[64]; +//float cullMatricesCount; + +float2 texelOffset; + +v2f vert (appdata v) +{ + v2f o; + + o.vertex = mul(unity_ObjectToWorld, v.vertex); + o.worldPos = o.vertex.xyz; + + o.vertex = mul(UNITY_MATRIX_VP, float4(o.vertex.xyz,1)); + o.vertex.xy += texelOffset * o.vertex.w; + + o.uv = TRANSFORM_TEX(v.uv, _MainTex); + + o.normal = normalize(mul((float3x3)unity_ObjectToWorld, v.normal)); + + return o; +} + +struct MRT +{ + float4 AlbedoAlpha : SV_Target0; + float4 Normal : SV_Target1; +}; + +MRT frag (v2f IN) +{ + /* + for(int i=0; i<cullMatricesCount; i++) + { + float3 w = mul(cullMatrices[i], float4(IN.worldPos,1)).xyz; + w = abs(w * 2); + bool outside = (max(max(w.x, w.y), w.z) > 1); + if (!outside) discard; + } + */ + + MRT mrt; + mrt.AlbedoAlpha = tex2D(_MainTex, IN.uv);// * _Color; +#ifdef OPAQUE + mrt.AlbedoAlpha.a = 1; +#else + mrt.AlbedoAlpha.a = max(mrt.AlbedoAlpha.a, 1.0f / 255.0f); // 0 is reserved for projClip +#endif + mrt.Normal = float4(IN.normal * 0.5 + 0.5, 1); + + return mrt; +} + diff --git a/VRCSDK3Worlds/Assets/Bakery/ftFarSphereRenderBase.cginc.meta b/VRCSDK3Worlds/Assets/Bakery/ftFarSphereRenderBase.cginc.meta new file mode 100644 index 00000000..fbefaa09 --- /dev/null +++ b/VRCSDK3Worlds/Assets/Bakery/ftFarSphereRenderBase.cginc.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 39e1e2e9bb9edd249be122365cd7f27b +timeCreated: 1621331743 +licenseType: Store +ShaderImporter: + defaultTextures: [] + userData: + assetBundleName: + assetBundleVariant: |