summaryrefslogtreecommitdiffstats
path: root/Scripts/GrassGridBlit.shader
diff options
context:
space:
mode:
authoryum <yum.food.vr@gmail.com>2026-02-24 00:35:46 -0800
committeryum <yum.food.vr@gmail.com>2026-02-24 00:35:46 -0800
commitc1709ef4a57ab10e83afd9dfbed7e162e88c06d9 (patch)
tree706a2ae64bd581f5fc55a56d822f628aedd8c96b /Scripts/GrassGridBlit.shader
parent498d393177591b0001d322ba1fa784b332a376d2 (diff)
Delete grass (unused)
Diffstat (limited to 'Scripts/GrassGridBlit.shader')
-rwxr-xr-xScripts/GrassGridBlit.shader77
1 files changed, 0 insertions, 77 deletions
diff --git a/Scripts/GrassGridBlit.shader b/Scripts/GrassGridBlit.shader
deleted file mode 100755
index f4dc872..0000000
--- a/Scripts/GrassGridBlit.shader
+++ /dev/null
@@ -1,77 +0,0 @@
-Shader "yum_food/GrassGridBlit"
-{
- Properties
- {
- }
- SubShader
- {
- Tags { "RenderType"="Opaque" }
- LOD 100
-
- Pass
- {
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
-
- #include "UnityCG.cginc"
-
- struct appdata
- {
- float4 vertex : POSITION;
- float2 uv : TEXCOORD0;
- };
-
- struct v2f
- {
- float2 uv : TEXCOORD0;
- float4 vertex : SV_POSITION;
- };
-
- // Grid parameters
- float3 _PlayerGridPos; // Player's grid cell position (x, y, z)
- int3 _GridCount; // Number of instances along each axis
- int3 _GridHalf; // Half dimensions for centering around player
- int2 _TexDimensions; // Texture width and height
-
- v2f vert (appdata v)
- {
- v2f o;
- o.vertex = UnityObjectToClipPos(v.vertex);
- o.uv = v.uv;
- return o;
- }
-
- float4 frag (v2f i) : SV_Target
- {
- // Convert UV to pixel coordinates
- int2 pixelCoord = int2(i.uv.x * _TexDimensions.x, i.uv.y * _TexDimensions.y);
-
- // Convert pixel coordinate to instance index
- int instanceID = pixelCoord.x + pixelCoord.y * _TexDimensions.x;
-
- // Calculate total valid instances
- int totalInstances = _GridCount.x * _GridCount.y * _GridCount.z;
-
- // If this pixel is beyond valid instances, output invalid marker
- if (instanceID >= totalInstances) {
- return float4(0, 0, 0, -1); // Alpha = -1 marks invalid
- }
-
- // Convert instance index to local grid coordinates (0 to GridCount-1)
- int localX = instanceID % _GridCount.x;
- int localY = (instanceID / _GridCount.x) % _GridCount.y;
- int localZ = instanceID / (_GridCount.x * _GridCount.y);
-
- // Convert to world grid coordinates centered around player
- int worldX = _PlayerGridPos.x - _GridHalf.x + localX;
- int worldY = _PlayerGridPos.y - _GridHalf.y + localY;
- int worldZ = _PlayerGridPos.z - _GridHalf.z + localZ;
-
- // Store world grid coordinates in RGB channels, alpha = 0 marks valid
- return float4(worldX, worldY, worldZ, 0);
- }
- ENDCG
- }
- }
-}