HairCalculateRenderPositions.h 655 B

12345678910111213141516
  1. // Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
  2. // SPDX-FileCopyrightText: 2026 Jorrit Rouwe
  3. // SPDX-License-Identifier: MIT
  4. float3 SkinRenderVertex(uint inVertexIndex)
  5. {
  6. // Calculating resulting render position
  7. float3 out_position = float3(0, 0, 0);
  8. for (uint idx = inVertexIndex * cHairNumSVertexInfluences, idx_end = idx + cHairNumSVertexInfluences; idx < idx_end; ++idx)
  9. {
  10. JPH_HairSVertexInfluence inf = gSVertexInfluences[idx];
  11. JPH_HairPosition sim_vtx = gPositions[inf.mVertexIndex];
  12. out_position += inf.mWeight * (sim_vtx.mPosition + JPH_QuatMulVec3(sim_vtx.mRotation, inf.mRelativePosition));
  13. }
  14. return out_position;
  15. }