2
0

HairWrapper.cpp 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. // Jolt Physics Library (https://github.com/jrouwe/JoltPhysics)
  2. // SPDX-FileCopyrightText: 2026 Jorrit Rouwe
  3. // SPDX-License-Identifier: MIT
  4. #include <Jolt/Jolt.h>
  5. #ifdef JPH_USE_CPU_COMPUTE
  6. #include <Jolt/Shaders/HairWrapper.h>
  7. #define JPH_SHADER_NAME HairTeleport
  8. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  9. #include "HairTeleport.hlsl"
  10. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  11. #include "HairTeleportBindings.h"
  12. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  13. #define JPH_SHADER_NAME HairApplyDeltaTransform
  14. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  15. #include "HairApplyDeltaTransform.hlsl"
  16. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  17. #include "HairApplyDeltaTransformBindings.h"
  18. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  19. #define JPH_SHADER_NAME HairSkinVertices
  20. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  21. #include "HairSkinVertices.hlsl"
  22. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  23. #include "HairSkinVerticesBindings.h"
  24. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  25. #define JPH_SHADER_NAME HairSkinRoots
  26. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  27. #include "HairSkinRoots.hlsl"
  28. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  29. #include "HairSkinRootsBindings.h"
  30. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  31. #define JPH_SHADER_NAME HairApplyGlobalPose
  32. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  33. #include "HairApplyGlobalPose.hlsl"
  34. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  35. #include "HairApplyGlobalPoseBindings.h"
  36. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  37. #define JPH_SHADER_NAME HairCalculateCollisionPlanes
  38. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  39. #include "HairCalculateCollisionPlanes.hlsl"
  40. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  41. #include "HairCalculateCollisionPlanesBindings.h"
  42. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  43. #define JPH_SHADER_NAME HairGridClear
  44. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  45. #include "HairGridClear.hlsl"
  46. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  47. #include "HairGridClearBindings.h"
  48. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  49. #define JPH_SHADER_NAME HairGridAccumulate
  50. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  51. #include "HairGridAccumulate.hlsl"
  52. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  53. #include "HairGridAccumulateBindings.h"
  54. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  55. #define JPH_SHADER_NAME HairGridNormalize
  56. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  57. #include "HairGridNormalize.hlsl"
  58. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  59. #include "HairGridNormalizeBindings.h"
  60. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  61. #define JPH_SHADER_NAME HairIntegrate
  62. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  63. #include "HairIntegrate.hlsl"
  64. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  65. #include "HairIntegrateBindings.h"
  66. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  67. #define JPH_SHADER_NAME HairUpdateRoots
  68. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  69. #include "HairUpdateRoots.hlsl"
  70. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  71. #include "HairUpdateRootsBindings.h"
  72. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  73. #define JPH_SHADER_NAME HairUpdateStrands
  74. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  75. #include "HairUpdateStrands.hlsl"
  76. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  77. #include "HairUpdateStrandsBindings.h"
  78. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  79. #define JPH_SHADER_NAME HairUpdateVelocity
  80. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  81. #include "HairUpdateVelocity.hlsl"
  82. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  83. #include "HairUpdateVelocityBindings.h"
  84. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  85. #define JPH_SHADER_NAME HairUpdateVelocityIntegrate
  86. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  87. #include "HairUpdateVelocityIntegrate.hlsl"
  88. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  89. #include "HairUpdateVelocityIntegrateBindings.h"
  90. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  91. #define JPH_SHADER_NAME HairCalculateRenderPositions
  92. #include <Jolt/Compute/CPU/WrapShaderBegin.h>
  93. #include "HairCalculateRenderPositions.hlsl"
  94. #include <Jolt/Compute/CPU/WrapShaderBindings.h>
  95. #include "HairCalculateRenderPositionsBindings.h"
  96. #include <Jolt/Compute/CPU/WrapShaderEnd.h>
  97. JPH_NAMESPACE_BEGIN
  98. void JPH_EXPORT HairRegisterShaders(ComputeSystemCPU *inComputeSystem)
  99. {
  100. JPH_REGISTER_SHADER(inComputeSystem, HairTeleport);
  101. JPH_REGISTER_SHADER(inComputeSystem, HairApplyDeltaTransform);
  102. JPH_REGISTER_SHADER(inComputeSystem, HairSkinVertices);
  103. JPH_REGISTER_SHADER(inComputeSystem, HairSkinRoots);
  104. JPH_REGISTER_SHADER(inComputeSystem, HairApplyGlobalPose);
  105. JPH_REGISTER_SHADER(inComputeSystem, HairCalculateCollisionPlanes);
  106. JPH_REGISTER_SHADER(inComputeSystem, HairGridClear);
  107. JPH_REGISTER_SHADER(inComputeSystem, HairGridAccumulate);
  108. JPH_REGISTER_SHADER(inComputeSystem, HairGridNormalize);
  109. JPH_REGISTER_SHADER(inComputeSystem, HairIntegrate);
  110. JPH_REGISTER_SHADER(inComputeSystem, HairUpdateRoots);
  111. JPH_REGISTER_SHADER(inComputeSystem, HairUpdateStrands);
  112. JPH_REGISTER_SHADER(inComputeSystem, HairUpdateVelocity);
  113. JPH_REGISTER_SHADER(inComputeSystem, HairUpdateVelocityIntegrate);
  114. JPH_REGISTER_SHADER(inComputeSystem, HairCalculateRenderPositions);
  115. }
  116. JPH_NAMESPACE_END
  117. #endif // JPH_USE_CPU_COMPUTE