2026-03-18 20:09:32 +03:00

22 lines
432 B
Plaintext

#pragma kernel Read
Texture2D<float4> Source;
int Row;
int Column;
RWStructuredBuffer<float4> Result;
[numthreads(8,1,1)]
void Read(uint id : SV_DispatchThreadID)
{
float width, height;
Source.GetDimensions(width, height);
uint x = id.x % Row;
uint y = id.x / Row;
uint pixelx = (x + 0.5) * width / Row;
uint pixely = (y + 0.5) * height / Column;
Result[id.x] = Source[uint2(pixelx, pixely)];
}