forked from LeenkxTeam/LNXSDK
29 lines
779 B
HLSL
29 lines
779 B
HLSL
// Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
|
|
// SPDX-FileCopyrightText: 2026 Jorrit Rouwe
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
#include "HairTeleportBindings.h"
|
|
#include "HairCommon.h"
|
|
|
|
JPH_SHADER_FUNCTION_BEGIN(void, main, cHairPerVertexBatch, 1, 1)
|
|
JPH_SHADER_PARAM_THREAD_ID(tid)
|
|
JPH_SHADER_FUNCTION_END
|
|
{
|
|
// Check if this is a valid vertex
|
|
uint vtx = tid.x;
|
|
if (vtx >= cNumVertices)
|
|
return;
|
|
|
|
// Initialize position based on the initial vertex data
|
|
JPH_HairPosition pos;
|
|
pos.mPosition = gInitialPositions[vtx];
|
|
pos.mRotation = JPH_QuatDecompress(gInitialBishops[vtx]);
|
|
gPositions[vtx] = pos;
|
|
|
|
// Initialize velocity to zero
|
|
JPH_HairVelocity vel;
|
|
vel.mVelocity = float3(0, 0, 0);
|
|
vel.mAngularVelocity = float3(0, 0, 0);
|
|
gVelocities[vtx] = vel;
|
|
}
|