Hair_files.cmake 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. #
  2. # Copyright (c) Contributors to the Open 3D Engine Project.
  3. # For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. #
  5. # SPDX-License-Identifier: Apache-2.0 OR MIT
  6. #
  7. #
  8. #set(tressfx_sources
  9. set(FILES
  10. External/Code/src/Math/Vector3D.h
  11. External/Code/src/Math/Vector3D.cpp
  12. External/Code/src/Math/Transform.h
  13. External/Code/src/Math/Transform.cpp
  14. External/Code/src/Math/Quaternion.h
  15. External/Code/src/Math/Quaternion.cpp
  16. External/Code/src/Math/Matrix33.h
  17. External/Code/src/Math/Matrix33.cpp
  18. External/Code/src/TressFX/AMD_Types.h
  19. External/Code/src/TressFX/AMD_TressFX.h
  20. External/Code/src/TressFX/TressFXCommon.h
  21. External/Code/src/TressFX/TressFXAsset.h
  22. External/Code/src/TressFX/TressFXAsset.cpp
  23. External/Code/src/TressFX/TressFXConstantBuffers.h
  24. External/Code/src/TressFX/TressFXFileFormat.h
  25. External/Code/src/TressFX/TressFXSettings.h
  26. External/Code/src/TressFX/TressFXSettings.cpp
  27. # External/Code/src/Math/Quaternion.h
  28. #)
  29. #
  30. #set(atom_hair_sources
  31. Code/HairModule.h
  32. Code/Rendering/HairCommon.h
  33. Code/Rendering/HairCommon.cpp
  34. Code/Rendering/HairDispatchItem.h
  35. Code/Rendering/HairDispatchItem.cpp
  36. Code/Rendering/HairFeatureProcessor.cpp
  37. Code/Rendering/HairFeatureProcessor.h
  38. Code/Rendering/HairRenderObject.cpp
  39. Code/Rendering/HairRenderObject.h
  40. Code/Rendering/SharedBuffer.cpp
  41. Code/Rendering/SharedBuffer.h
  42. Code/Rendering/HairLightingModels.h
  43. Code/Rendering/HairGlobalSettings.h
  44. Code/Rendering/HairGlobalSettings.cpp
  45. Code/Rendering/HairGlobalSettingsBus.h
  46. #)
  47. #
  48. #set(atom_hair_components
  49. Code/Components/HairSystemComponent.h
  50. Code/Components/HairSystemComponent.cpp
  51. Code/Components/EditorHairComponent.h
  52. Code/Components/EditorHairComponent.cpp
  53. Code/Components/HairComponent.h
  54. Code/Components/HairComponent.cpp
  55. Code/Components/HairComponentController.h
  56. Code/Components/HairComponentController.cpp
  57. Code/Components/HairComponentConfig.h
  58. Code/Components/HairComponentConfig.cpp
  59. #)
  60. #
  61. #set(atom_hair_passes
  62. # The simulation pass class shared by all simulation / skinning compute passes
  63. Code/Passes/HairSkinningComputePass.h
  64. Code/Passes/HairSkinningComputePass.cpp
  65. # Base class of all geometry raster passes
  66. Code/Passes/HairGeometryRasterPass.h
  67. Code/Passes/HairGeometryRasterPass.cpp
  68. # ShortCut rendering technique - pass classes
  69. Code/Passes/HairShortCutGeometryDepthAlphaPass.h
  70. Code/Passes/HairShortCutGeometryDepthAlphaPass.cpp
  71. Code/Passes/HairShortCutGeometryShadingPass.h
  72. Code/Passes/HairShortCutGeometryShadingPass.cpp
  73. # PPLL rendering technique - geometry raster pass
  74. Code/Passes/HairPPLLRasterPass.h
  75. Code/Passes/HairPPLLRasterPass.cpp
  76. # PP full screen resolve pass
  77. Code/Passes/HairPPLLResolvePass.h
  78. Code/Passes/HairPPLLResolvePass.cpp
  79. #)
  80. #
  81. #set(atom_hair_interfaces
  82. Code/Rendering/HairBuffersSemantics.h
  83. Code/Rendering/HairSharedBufferInterface.h
  84. Code/Components/HairBus.h
  85. Code/Assets/HairAsset.h
  86. Code/Assets/HairAsset.cpp
  87. #)
  88. #set(shaders_sources
  89. # Geometry and Full Screen azsl utility files
  90. Assets/Shaders/HairRenderingSrgs.azsli
  91. Assets/Shaders/HairStrands.azsli
  92. Assets/Shaders/HairUtilities.azsli
  93. Assets/Shaders/HairFullScreenUtils.azsli
  94. Assets/Shaders/HairLighting.azsli
  95. Assets/Shaders/HairLightingEquations.azsli
  96. Assets/Shaders/HairLightTypes.azsli
  97. Assets/Shaders/HairSurface.azsli
  98. # ShortCut technique shaders (using multiple RTs instead of PPLL for GPU memory reduction)
  99. Assets/Shaders/HairShortCutGeometryDepthAlpha.azsl
  100. Assets/Shaders/HairShortCutResolveDepth.azsl
  101. Assets/Shaders/HairShortCutGeometryShading.azsl
  102. Assets/Shaders/HairShortCutResolveColor.azsl
  103. # Rendering azsl files
  104. Assets/Shaders/HairRenderingFillPPLL.azsl
  105. Assets/Shaders/HairRenderingResolvePPLL.azsl
  106. # Simulation Compute azsl files
  107. Assets/Shaders/HairComputeSrgs.azsli
  108. Assets/Shaders/HairSimulationComputeSrgs.azsli
  109. Assets/Shaders/HairSimulationCommon.azsli
  110. Assets/Shaders/HairSimulationCompute.azsl
  111. # Collision azsl files - to be included soon
  112. # Assets/Shaders/HairCollisionPrepareSDF.azsl
  113. # Assets/Shaders/HairCollisionWithSDF.azsl
  114. # Simulation Compute .shader files
  115. Assets/Shaders/HairGlobalShapeConstraintsCompute.shader
  116. Assets/Shaders/HairCalculateStrandLevelDataCompute.shader
  117. Assets/Shaders/HairVelocityShockPropagationCompute.shader
  118. Assets/Shaders/HairLocalShapeConstraintsCompute.shader
  119. Assets/Shaders/HairLengthConstraintsWindAndCollisionCompute.shader
  120. Assets/Shaders/HairUpdateFollowHairCompute.shader
  121. # PPLL Render .shader file
  122. Assets/Shaders/HairRenderingFillPPLL.shader
  123. Assets/Shaders/HairRenderingResolvePPLL.shader
  124. # ShortCut Render .shader file
  125. Assets/Shaders/HairShortCutGeometryDepthAlpha.shader
  126. Assets/Shaders/HairShortCutResolveDepth.shader
  127. Assets/Shaders/HairShortCutGeometryShading.shader
  128. Assets/Shaders/HairShortCutResolveColor.shader
  129. # Colisions .shader files - to be included soon
  130. # Assets/Shaders/HairCollisionInitializeSDF.shader
  131. # Assets/Shaders/HairCollisionConstructSDF.shader
  132. # Assets/Shaders/HairCollisionFinalizeSDF.shader
  133. # Assets/Shaders/HairCollisionWithSDF.shader
  134. #)
  135. #
  136. #set(atom_hair_passes
  137. # Compute simulation and skinning passes
  138. Assets/Passes/HairParentPass.pass
  139. Assets/Passes/HairParentShortCutPass.pass
  140. Assets/Passes/HairGlobalShapeConstraintsCompute.pass
  141. Assets/Passes/HairCalculateStrandLevelDataCompute.pass
  142. Assets/Passes/HairVelocityShockPropagationCompute.pass
  143. Assets/Passes/HairLocalShapeConstraintsCompute.pass
  144. Assets/Passes/HairLengthConstraintsWindAndCollisionCompute.pass
  145. Assets/Passes/HairUpdateFollowHairCompute.pass
  146. # PPLL render passes
  147. Assets/Passes/HairFillPPLL.pass
  148. Assets/Passes/HairResolvePPLL.pass
  149. # Shortcut render passes
  150. Assets/Passes/HairShortCutGeometryDepthAlpha.pass
  151. Assets/Passes/HairShortCutResolveDepth.pass
  152. Assets/Passes/HairShortCutGeometryShading.pass
  153. Assets/Passes/HairShortCutResolveColor.pass
  154. )
  155. set(SKIP_UNITY_BUILD_INCLUSION_FILES
  156. #Add files that are in the shared here.
  157. )
  158. #include_directories(src src/TressFX)
  159. #add_subdirectory(src)
  160. source_group("Math Sources" FILES ${math_sources})
  161. source_group("TressFX Sources" FILES ${tressfx_sources})
  162. source_group("Atom Hair Sources" FILES ${atom_hair_sources})
  163. source_group("Atom Hair Components" FILES ${atom_hair_components})
  164. source_group("Atom Hair Passes" FILES ${atom_hair_passes})
  165. source_group("Atom Hair Interfaces" FILES ${atom_hair_interfaces})
  166. source_group("Common Sources" FILES ${common_sources})
  167. source_group("Shader Sources" FILES ${shaders_sources})