Files
HauntedBloodlines/Assets/PuppetFace/Scripts/MeshModify.compute
2025-05-29 22:31:40 +03:00

27 lines
526 B
Plaintext

// NewComputeShader.compute
#pragma kernel MoveVertex
struct Vertex
{
float3 pos;
float3 prevPos;
};
struct Driver
{
float3 pos;
float radius;
};
RWStructuredBuffer<Vertex> vertexBuffer;
RWStructuredBuffer<Driver> driverBuffer;
[numthreads(16,1,1)]
void MoveVertex (uint3 id : SV_DispatchThreadID)
{
float dist =saturate( 1-driverBuffer[0].radius*distance(vertexBuffer[id.x].prevPos, driverBuffer[0].pos));
vertexBuffer[id.x].pos =vertexBuffer[id.x].prevPos + dist*(driverBuffer[1].pos-driverBuffer[0].pos);
}