Explorar el Código

1.同步插件

qianzhuqing hace 2 años
padre
commit
aad397a770
Se han modificado 100 ficheros con 91827 adiciones y 0 borrados
  1. 678 0
      Lux URP Essentials/ChangeLog.txt
  2. 7 0
      Lux URP Essentials/ChangeLog.txt.meta
  3. 8 0
      Lux URP Essentials/Demos.meta
  4. 8 0
      Lux URP Essentials/Example Content.meta
  5. 8 0
      Lux URP Essentials/Example Content/Volumetrics.meta
  6. 8 0
      Lux URP Essentials/Example Content/Volumetrics/Light Beam.meta
  7. BIN
      Lux URP Essentials/Example Content/Volumetrics/Light Beam/SM_LightBeam.fbx
  8. 96 0
      Lux URP Essentials/Example Content/Volumetrics/Light Beam/SM_LightBeam.fbx.meta
  9. BIN
      Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_LightBeam_FallOff.psd
  10. 127 0
      Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_LightBeam_FallOff.psd.meta
  11. BIN
      Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_LightBeam_SpotMask.psd
  12. 127 0
      Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_LightBeam_SpotMask.psd.meta
  13. BIN
      Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_PerlinNoise.psd
  14. 103 0
      Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_PerlinNoise.psd.meta
  15. 8 0
      Lux URP Essentials/Example Content/Volumetrics/Volumes.meta
  16. BIN
      Lux URP Essentials/Example Content/Volumetrics/Volumes/SM_Half_UnitSphere.fbx
  17. 96 0
      Lux URP Essentials/Example Content/Volumetrics/Volumes/SM_Half_UnitSphere.fbx.meta
  18. BIN
      Lux URP Essentials/Example Content/Volumetrics/Volumes/SM_UnitSphere.fbx
  19. 96 0
      Lux URP Essentials/Example Content/Volumetrics/Volumes/SM_UnitSphere.fbx.meta
  20. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement.meta
  21. BIN
      Lux URP Essentials/Lux SRP Grass Displacement.pdf
  22. 7 0
      Lux URP Essentials/Lux SRP Grass Displacement.pdf.meta
  23. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo.meta
  24. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations.meta
  25. 72 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations/Sphere (animated).controller
  26. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations/Sphere (animated).controller.meta
  27. 205 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations/Sphere Animation.anim
  28. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations/Sphere Animation.anim.meta
  29. 77727 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Grass Displacement RenderFeature Demo.unity
  30. 7 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Grass Displacement RenderFeature Demo.unity.meta
  31. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials.meta
  32. 124 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Cube orange.mat
  33. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Cube orange.mat.meta
  34. 117 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Desert Grass Patch Texture Displace.mat
  35. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Desert Grass Patch Texture Displace.mat.meta
  36. 124 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Ground simple.mat
  37. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Ground simple.mat.meta
  38. 33 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Radial Displacement Dynamic Alpha.mat
  39. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Radial Displacement Dynamic Alpha.mat.meta
  40. 33 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Radial Displacement.mat
  41. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Radial Displacement.mat.meta
  42. 33 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Rectangular Displacement.mat
  43. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Rectangular Displacement.mat.meta
  44. 124 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere blue.mat
  45. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere blue.mat.meta
  46. 124 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere green.mat
  47. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere green.mat.meta
  48. 124 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere red.mat
  49. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere red.mat.meta
  50. 124 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere yellow.mat
  51. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere yellow.mat.meta
  52. 99 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M_SimpleFlower Texture Displace.mat
  53. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M_SimpleFlower Texture Displace.mat.meta
  54. 27 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/Unlit_DebugDisplacement.mat
  55. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/Unlit_DebugDisplacement.mat.meta
  56. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs.meta
  57. 81 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Grass Patch RenderFeature.prefab
  58. 7 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Grass Patch RenderFeature.prefab.meta
  59. 4771 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Particle System (Trail Follower).prefab
  60. 7 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Particle System (Trail Follower).prefab.meta
  61. 4959 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Turbine.prefab
  62. 7 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Turbine.prefab.meta
  63. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test.meta
  64. BIN
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test/LightingData.asset
  65. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test/LightingData.asset.meta
  66. BIN
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test/ReflectionProbe-0.exr
  67. 139 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test/ReflectionProbe-0.exr.meta
  68. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts.meta
  69. 32 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts/RotateAndMove.cs
  70. 11 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts/RotateAndMove.cs.meta
  71. 16 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts/SmoothFollow.cs
  72. 11 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts/SmoothFollow.cs.meta
  73. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures.meta
  74. BIN
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures/T Displacement Normal.psd
  75. 139 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures/T Displacement Normal.psd.meta
  76. BIN
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures/T Displacement Rectangular.psd
  77. 139 0
      Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures/T Displacement Rectangular.psd.meta
  78. 56 0
      Lux URP Essentials/Lux SRP Grass Displacement/ForwardRenderer GrassDisplacement.asset
  79. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/ForwardRenderer GrassDisplacement.asset.meta
  80. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts.meta
  81. 67 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/ControlDisplacer.cs
  82. 11 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/ControlDisplacer.cs.meta
  83. 73 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/ControlDisplacerParticleSys.cs
  84. 11 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/ControlDisplacerParticleSys.cs.meta
  85. 37 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/DebugGrassDisplacementTex.cs
  86. 11 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/DebugGrassDisplacementTex.cs.meta
  87. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/Editor.meta
  88. 19 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/Editor/LayerAttributeDrawer.cs
  89. 11 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/Editor/LayerAttributeDrawer.cs.meta
  90. 206 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/GrassDisplacementRenderFeature.cs
  91. 11 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/GrassDisplacementRenderFeature.cs.meta
  92. 11 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/LayerAtributes.cs
  93. 11 0
      Lux URP Essentials/Lux SRP Grass Displacement/Scripts/LayerAtributes.cs.meta
  94. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Shaders.meta
  95. 8 0
      Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Debug.meta
  96. 58 0
      Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Debug/DebugDisplacement.shader
  97. 9 0
      Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Debug/DebugDisplacement.shader.meta
  98. 199 0
      Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Simple Displacement FX Debug.shader
  99. 9 0
      Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Simple Displacement FX Debug.shader.meta
  100. 0 0
      Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Simple Displacement FX.shader

+ 678 - 0
Lux URP Essentials/ChangeLog.txt

@@ -0,0 +1,678 @@
+## Link to the latest version of the documentation:
+https://docs.google.com/document/d/1ck3hmPzKUdewHfwsvmPYwSPCP8azwtpzN7aOLJHvMqE/edit#
+
+
+## Version 1.82
+
+### Added
+- LuxURP_BillboardBounds.cs added which lets you tweak the billboards' mesh bounds to prevent them from being culled too early.
+
+Following changes only affect the URP 12.1 package:
+
+### Fixed
+- Fixed ambient occlusion debug view for skin, hair, lit extended and clear coat shaders.
+- Fixed billboard shader and screen space shadows (upright only, view aligned billboards should not cast shadows at all).
+- Fixed DepthOnly shaders.
+- Fixed Fuzzy shader declaring _MainTex twice.
+
+### Changed
+- Wind, foliage and grass bending reworked:
+- - Wind uses simplified inputs.
+- - Wind may change the frequencies of higher level animations according to the main strength.
+- - Wind derives turbulence from main wind now. Turbulence as set on wind zone will be ignored.
+- - Lux Wind params renamed from LWRP to URP. Example: "_LuxLWRPWindDirSize" --> "_LuxURPWindDirSize"
+- - Foliage shader now supports additional, advanced turbulence and simple displacement (touch bending - WIP) which has to be enabled in the material inspector.
+- - Foliage shader includes vertex color debug mode so no additional shader is required.
+- - Grass shader now supports displacement (touch bending) which has to be enabled in the material inspector. The "Lux URP Grass TextureDisplace" shader is deprecated. 
+- Shader Graphs: Toon Lighting V1 shaders converted to V2.
+
+### Added
+- Tree Creator shaders now support deferred lighting (approximated) and decals.
+- Grass Displacement: Shader for trail renderers added.
+- Skin shader: Added support for detail normals. 
+
+### Known Issues
+- Debug view in deferred is still as corrupted as using built in shaders! So switch to forward to debug your materials.
+
+
+
+## Version 1.81
+
+- Package for URP 10.7.0 added
+- Package for URP 12.1 updated
+
+### Fixed
+- Depth Normal shaders
+- Muted some compiler warnings.
+- Muted the "LuxURP_GrassMeshPostprocessor" script to prevent long re import times in huge projects.
+
+### Changed
+- Procedural Texturing Node: Dynamic branching added.
+
+
+
+## Version 1.8
+
+- Package for URP 12.1 updated and custom lighting for shader graph added.
+
+
+## Version 1.78
+
+- Package for URP 12.1 added.
+
+
+## Version 1.77
+
+- URP 11: Several fixes for VR added.
+
+
+## Version 1.76.1
+
+- Preview package for URP 12 b5 added.
+
+
+## Version 1.76
+
+- Preview package for URP 12 added.
+
+
+## Version 1.75
+
+### Fixed
+- Fixed hair lighting on mobile.
+- Changed color inputs to half4.
+
+
+## Version 1.74
+
+### Fixed
+- Fixed terrain shader for URP 10+.
+
+
+## Version 1.73
+
+### Fixed
+- Point light shadow for URP 11.
+
+## Version 1.72
+
+### Fixed
+- Improper content of version 1.71.
+- GUIDs fixed.
+- URP 11: Terrain Base shader fixed to support SRP batcher.
+
+### Changed
+- URP 10 & 11: Terrain Mesh Blend and SSAO.
+
+### Added
+- Custom billboard quad mesh added to fix culling issues.
+
+
+## Version 1.71
+
+### Fixed
+- Terrain shader in URP 10.3.2 and 11.0.0: Clip holes fixed
+
+
+## Version 1.7
+
+### Added
+- Uber shader: Detail textures added.
+- Foliage and Grass shaders: "Alpha To Coverage" added. Please use it wisely.
+- Cloth STL shader added which uses the S_tandard T_exture L_ayout and stores opacity in the alpha of the base texture.
+- URP 11: Preview for URP 11 added which supports screen space shadows and point light shadows.
+- URP 10 + 11: Depth DepthNormal Only shader added.
+
+### Changed
+- URP 11: Optimized vertex to fragment stucture according to URP 12.
+
+### Fixed
+- Billboard shader: Fixed "receive fog".
+
+
+## Version 1.65
+
+### Fixed:
+Toon shader: Fixed support for the SRP batcher.
+Flat shading shaders: Fixed for mobile.
+
+### Changed:
+URP 10 preview: Updated to URP 10.3.2.
+Toon shader: Improved specular on mobile.
+ 
+
+## Version 1.64
+
+### Fixed:
+URP 10.2.2.: Skin distance fade fixed.
+URP 10.2.2.: Skin / transmission: Transmission fixed for add lights.
+Terrain shader: Fixed stereo rendering add pass.
+
+
+## Version 1.63
+
+### Changed:
+- Terrain Shader: Procedurally tiled detail texture now gets sampled in world space.
+
+### Fixed:
+- Fixed Lux URP Lit Extended shader for URP 7.5.2 
+- Fixed foliage shader going nuts on mobile after a while.
+- Fixed DistanceFadeDrawer in grass, foliage and decal shader.
+
+
+## Version 1.62
+
+### Added:
+- URP 10.2.2 - Decal lit shader:
+- - Support for sampling the SSAO normal buffer to get smoother normals added.
+- - Full support for SSAO added.
+
+### Fixed:
+- URP 10.2.2 - Mesh Terrain shader: Fixed vertex colors support.
+
+
+## Version 1.61
+
+### Fixed:
+- Toon Lighting Version 2: Shader Graph lighting fixed.
+- Box Volume shader: Fixed error when gradient texture was enabled.
+- Tree Creator Leaves Optimized shader: Fixed DepthNormal pass (URP 10.2.2.).
+- Various shaders: Fixed anisotropic tangent.
+
+### Added:
+- Toon Lighting Version 2: Anisotropic specular added.
+
+
+## Version 1.6
+
+### Added:
+- Toon Lighting Version 2: Support form multiple steps, custom ramps and gradients.
+
+
+## Version 1.51
+
+### Added:
+- Skin Lighting: Lets you choose between vertex normal and specular normal for the diffuse if diffuse normal sample is disabled.
+
+
+## Version 1.5
+
+### Added:
+- Decals: HQ sampling added to avoid artifacts at depth discontinuities.
+- Skin: Ambient back scattering added.
+- URP 10.2. preview package added which supports SSAO and Shadowmasks.
+
+
+## Version 1.471
+
+### Fixed:
+- Decals fixed for PS4/PS5.
+
+
+## Version 1.47
+
+### Added:
+- Skin shading node for Shader Graph added.
+- Skin shading: Support for curvature texture added.
+
+### Changed:
+- Lux URP Skin shader: Ambient Reflection Strength exposed. Ambient diffuse lighting now uses proper diffuse normal.
+- Lux URP Skin shader: Lowered default import size of the LUT to 64px.
+
+
+## Version 1.461
+
+### Fixed:
+- Lux URP Grass TextureDisplace shader
+
+
+## Version 1.46
+
+### Fixed:
+- Lux extended/extended Uber: Fixed viewDir construction in pixelshader
+- Lux extended GUI: Fixed material settings being applied delayed
+- Lux extended Uber GUI: Fixed transparent material settings if alpha testing is enabled
+- Lux skin shader: Turning off specular lighting now works properly
+- Lux hair shader: Specular shift now works even if no shift mask is assigned
+- Versatile blend shader: Fixed "shadow shift" from going crazy in case the sampled scene depth is not close to the mesh
+
+###  Changed:
+- Lux extended Uber GUI: Removed old style render queue offsets (+50). You may have to adjust the render queues of your materials!
+
+### Addded:
+- Skin, transmission and foliage shader: "Mask by incoming shadow strength": Lets you suppress transmission from point lights (which do not cast any shadows)
+
+
+## Version 1.451
+
+### Fixed:
+- Skin shader
+
+## Version 1.45
+
+### Changed:
+- Shader Graph based shaders: Now listed under "Lux URP/Shader Graphs/..."
+- HLSL shaders: Bitangent gets calculated in the fragment shader (according to URP 7.41)
+- Uber shader: Alpha Clipping for transparent workflow exposed in the inspector
+- Skin Shader: Base Color exposed
+
+### Added:
+- Advanced parallax subgraph
+- Camera fading subgraph
+- Uber shader: LOD cross fading added (using custom dithering instead of the built in one)
+- Uber shader: Tooltips for advanced surface inputs added
+
+## Version 1.44
+
+### Fixed:
+- Lux URP version - Fixed usage of some old keywords.
+
+## Version 1.43
+
+### Added:
+- Lux URP version - Skin shader: Shadow and shadow sampling bias added.
+
+## Version 1.42
+
+### Added:
+- Lux URP version: Improved Sampling Shader Graph node added.
+
+## Version 1.41
+
+### Changed:
+- Changed shadow sampling in all HLSL shaders to match URP 7.2. A package for URP 7.1.8. is included.
+- Due to the new shadow sampling the terrain blend and versatile blend shader now have new inputs and work differently when it comes to shadows.
+- Added dirty fix to the terrain shader to receive shadows if cascades are set to: no cascades.
+
+## Version 1.40
+
+### Fixed:
+- Fixed false input struct IN in billboard and grass shader.
+- Foliage Demo: Fixed culling of solid grass material and set it to off.
+- Volumetrics Demo: Fixed glass material.
+
+### Added:
+- Lux URP version: Started to add help links for the HLSL shaders (located at the top of the material inspector).
+
+## Version 1.39
+
+### Changed:
+- Lux URP version: Started to wipe out the old "LWRP" naming of shaders, passes, ... . I updated the included demo materials but yours might miss their shaders. Sorry for the inconvenience.
+
+### Added:
+- Lux URP version: Versatile Blend Shader added (experimental - looking for feedback).
+
+### Notes:
+- Lux LWRP version will be locked to version 1.38 - unless somebody stands up.
+
+## Version 1.38
+
+### Changed:
+- URP package: Switched to URP 7.1.8
+- URP grass displacement: Added some more displacement inputs.
+
+### Fixed:
+- Foliage and grass shader: LuxLWRPDistanceFadeDrawer script fixed. You have adjust your fade distance!
+- URP package: Ported optional alpha testing to the foliage and grass shader.
+
+### Added:
+- Grass shader: Option to sample main bending from vertex color alpha added - which lets you use models e.g. from Naturemanufacturer.
+- Grass shader: Culling exposed.
+
+## Version 1.37
+
+### Changed:
+- URP package: Switched to Unity 2019.3.0f5 and URP 7.1.7
+- Hair shaders: Rim Transmission Intensity now accepts values between 0 - 8.
+
+### Fixed:
+- Hair shader: Depth pass picks up culling settings.
+- Hair shader: Specular shift fixed.
+- Hair blend shader: Shadows fixed.
+
+### Added:
+- Hair shader: Allows you to setup culling for the shadow caster pass.
+
+## Version 1.36
+
+### Changed:
+- Terrain blend shader: Now properly handles different near clipping planes so the preview in the scene view should match what you get in the game view. 
+- Box volume and decal shaders: Slightly optimized.
+- Decal shaders: Support for single pass instanced backported to LWRP.
+
+### Fixed:
+- Fixed some materials in the volumetrics demo.
+
+## Version 1.35
+
+### Added:
+- Terrain shader: Support for stochastic procedural texturing on the first terrain layer added.
+
+## Version 1.34
+
+### Added:
+- Lux Lit Uber shader: Camera Fade added to fade out objects towards the camera.
+
+### Fixed:
+- Lux Lit Uber shader GUI: Missing _MainTex assignment fixed.
+
+## Version 1.33
+
+### Added:
+- Toon Lighting: Directional and additional shadow bias added which lets you control the shadow strength and create Zelda like lighting.
+
+### Changed:
+- Toon Lighting: Stabilized rim lighting.
+
+## Version 1.32
+
+### Changed:
+- Lux LWRP Extended Lit Parallax shader: renamed to Uber
+
+### Added:
+- Lux LWRP Extended Lit Uber shader:
+- - Support for bent normals added.
+- - Horizon Occlusion added.
+- - Geometric Specular Anti Aliasing added.
+- - GI to AO added.
+
+## Version 1.31
+
+### Fixed:
+- Decal, Terrain shader: UnpackNormalScale wrapped properly (mobile).
+- Decal Lit shader: Normals fixed for mobile (caused by half precision).
+
+### Added:
+- Decal Lit shader: Fade between scene geometry's normal and projected decal normal.
+- Volumetric shaders added: Light beam, box and sphere volume.
+
+### Changed:
+- URP: Changed to version 7.1.6
+
+
+## Version 1.30
+
+### Added:
+- Alpha tested outline shader added.
+
+## Version 1.29
+
+### Changed:
+- Preview of the grass displacement system updated (URP only).
+
+### Fixed:
+- Decals Demo scene fixed (URP version).
+
+## Version 1.28
+
+### Fixed:
+- Cloth Shader: Fixed per pixel tangent and bitangent for very strong normals.
+- Decals Demo scene fixed (decals excluded using render queue did not use a proper material).
+- Grass Prefab: Missing script removed.
+
+### Changed:
+- Water shader: Lets you disable Refraction.
+
+### Added:
+- Preview of the grass displacement system added (URP only).
+
+## Version 1.27
+
+### Added:
+- Added "Lux LWRP/ Lit Extended Parallax" shader.
+- Added "ToggleRimSelection".cs as an example for how toggle rim lighting dynamically based on selection. Updated docs.
+
+### Changed:
+- Procedural texturing: Changed some halfs to floats.
+- Mesh Terrain shader: Changed some halfs to floats.
+
+### Fixed:
+- Fixed "M Challenger Eyes Reflect" material in the human demo which was accidently set to render double sided.
+- Fixed "M Broadleaf Shrub Math" material in the vegetation demo which did not use alpha testing.
+
+
+## Version 1.26
+
+### Changed:
+- URP: Changed to version 7.1.5
+
+### Added:
+- Fuzzy Lighting shader added.
+- Fuzzy Lighting added to Top Down Projection shader (rock).
+- Water, glass, decal shaders (URP): Added support for GLES 20.
+
+### Fixed:
+- Water and glass shaders (URP): Fixed depth sampling.
+
+## Version 1.25
+
+### Added:
+- Terrain shader (URP only): Added support for single pass instanced rendering.
+- Lit particles (URP only): Added support for single pass instanced rendering.
+
+## Version 1.24
+
+### Fixed:
+- Transmission HLSL shader: Specular fixed.
+- Water shader (URP): Fixed depth buffer sampling if camera opaque texture is set to be downsampled.
+
+## Version 1.23
+
+### Changed:
+- Hair shader: Alpha To Coverage exposed
+
+### Fixed:
+- Fixed materials in URP package
+
+## Version 1.22
+
+### Changed:
+- Hair shader: Cull exposed
+- URP: Experimental support for "single pass instanced" rendering added to the decal, water and glass shader.
+- PLEASE NOTE: Shader graph shaders do not support VR using URP at all... they are broken.
+
+### Added:
+- Hair shader: VFACE added which provides proper lighting on back faces.
+
+## Version 1.21
+
+### Fixed:
+- Terrain Mesh Shader vertex colors fixed (thanks to Zoltan Gubics). Alpha now gets setup automatically - just like in the splat map version.
+- Orthographic water and decal shaders fixed for OpenGL/GL ES.
+
+## Version 1.2
+
+### Added:
+- Orthographic support added to the decal shaders.
+
+## Version 1.19
+
+### Changed:
+- Mesh terrain shader: Moved to folder "Terrain Mesh"
+
+### Added:
+- Parallax terrain shader added.
+- Terrain blend shader added (experimental).
+
+## Version ## Version 1.18
+
+### Changed:
+- Grass and foliage shader: Made alpha testing optional. You may have to revisit your materials.1.18
+
+### Changed:
+- Grass and foliage shader: Made alpha testing optional. You may have to revisit your materials.
+
+## Version 1.17
+
+### Added:
+- Flat shading HLSL shader and node added.
+
+## Version 1.16
+
+### Added:
+- Procedural stochastic and procedural sampling node for shader graph added.
+
+## Version 1.15
+
+### Added:
+- Package containing tweaked shaders for URP 7.1.2.
+
+### Fixed:
+- Alebdo meta pass for Clear Coat shadergraph fixed.
+
+## Version 1.14
+
+### Added:
+- Added single pass stereo support for shaders using the camera depth and opaque texture.
+- Tree Creator shaders added.
+
+## Version 1.13
+
+### Added:
+- Glass shader: Proper shadows added for directional lights. No depth write only object needed anymore.
+- Custom node for Shader Graph added: Transparent lighting.
+
+### Changed
+
+- Documentation of how to setup complex glass materials. Please visit it again.
+
+## Version 1.121
+
+### Added
+- Toon outline shader: Added option to scale outline width by object size.
+
+## Version 1.12
+
+### Added
+- Custom nodes for Shader Graph added:
+
+- - Charlie Sheen, GGX anisotropic and clear coat lighting added.
+- - Helper nodes added: Double sided normalTS and Metallic Albedo to Specular Albedo.
+
+### Fixed
+- Custom Transmission Lighting node: Occlusion fixed.
+- Clear Coat Lighting: Wrong NdotL for clear coat layer fixed.
+
+
+## Version 1.11
+
+### Added
+- Custom nodes for Shader Graph added: Toon lighting and transmission.
+
+## Version 1.1
+
+### Added
+- Lit particles shaders added. 
+
+## Version 1.09
+
+### Added
+- Glass shader added. 
+
+### Fixed: 
+- Hair Shader: Mask Map label and description fixed.
+- Decal.cs: Fixed minor serialization issue.
+
+### Changed
+- Hair Blend Shader: ZTest parameter exposed.
+- Hair and beard materials: HD version added.
+
+## Version 1.08
+
+### Added
+- Transmission shader added.
+
+### Changed
+- Shader GUI reworked to better match the built in one.
+- "Subsurface scattering" renamed to "Transmission" to better fit the HDRP terminology.
+- Clear Coat BRDF optimized.
+- Shader inputs cleaned up.
+- Custom shader GUI scripts updated.
+
+### Fixed
+- Lit Extended Shader: Missing #pragma shader_feature _Emission added.
+- Skin Shader: Incorrect diffuse normal sampling on Android fixed.
+
+## Version 1.07
+
+### Added
+- Cloth shader
+- Clear Coat shader
+
+### Changed
+- Subsurface Scattering renamed to Transmission to better fit the terminology used in HDRP.
+- Transmission: Distortion exposed.
+- Custom lighting functions cleaned up.
+
+## Version 1.06
+
+### Added
+- Billboard shader
+
+## Version 1.051
+
+### Fixed
+- Hair Shader: Issues with unity 2019.2 and LWRP 6.x
+
+### Changed
+- LuxLWRPCustomSingleSidedShaderGUI: Sets _MainTex to make Selection Outline work
+
+## Version 1.05
+
+### Added
+- Hair shader
+
+### Changed
+- Outline Shader: Culling property added
+
+### Fixed
+- Skin Shader: Stencil Ref value
+
+## Version 1.04
+
+### Added
+- Skin shader
+
+## Version 1.03
+
+### Added
+- Foliage shader
+
+### Changed
+- Water shader: Lighting uses some floats instead of halfs to fix lighting issues on some platforms (like URP)
+- LuxLWRP_GrassMeshPostprocessor script: Support for foliage meshes
+
+## Version 1.021
+
+### Added
+- Decal Shaders: Distance based fading
+- Decal Shaders: HDR color input
+- Decal Lit Shader: Support for normal and mask map
+- Decal Lit Shader: Advanced lighting options
+
+### Changed
+- Decal script: Allows to align the decal to the underlying normal
+
+### Fixed
+- Water Shader: Refraction and OpenGL Core
+
+## Version 1.02
+
+### Added
+- Decal shaders and scripts
+
+### Changed
+- Stencil buffer options extended
+- Outline materials adjusted to stencil buffer options
+
+## Version 1.01
+
+### Added
+- Fast Outline Shader
+- Lit Extended Shader
+
+## Changed
+- ExtendedFlycam.cs: Added ability to lock/unlock camera hitting space
+
+## Version 1.0
+First release

+ 7 - 0
Lux URP Essentials/ChangeLog.txt.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: f0c60205c227a474ea7e02886a2ad92d
+TextScriptImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Demos.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2a2915a431b0c4fdea80a4dd99d8c8ac
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Example Content.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: fc6d852668e1f4a9c85a836a0e0bdb85
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Example Content/Volumetrics.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 2945496d6af6d433a8c6b27f1313f370
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Example Content/Volumetrics/Light Beam.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 88c99cccd29f44d318fbe0bac0f11067
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Example Content/Volumetrics/Light Beam/SM_LightBeam.fbx


+ 96 - 0
Lux URP Essentials/Example Content/Volumetrics/Light Beam/SM_LightBeam.fbx.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: 7009db1f7ca864c6cba6e5b169416c4d
+ModelImporter:
+  serializedVersion: 19300
+  internalIDToNameTable: []
+  externalObjects: {}
+  materials:
+    materialImportMode: 0
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    importConstraints: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 0
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 5
+    meshCompression: 0
+    addColliders: 0
+    useSRGBMaterialColor: 1
+    sortHierarchyByName: 1
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    keepQuads: 0
+    weldVertices: 0
+    preserveHierarchy: 0
+    skinWeightsMode: 0
+    maxBonesPerVertex: 4
+    minBoneWeight: 0.001
+    meshOptimizationFlags: -1
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 0
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+    legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+    blendShapeNormalImportMode: 1
+    normalSmoothingSource: 0
+  referencedClips: []
+  importAnimation: 0
+  humanDescription:
+    serializedVersion: 3
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    globalScale: 5
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  autoGenerateAvatarMappingIfUnspecified: 1
+  animationType: 0
+  humanoidOversampling: 1
+  avatarSetup: 0
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_LightBeam_FallOff.psd


+ 127 - 0
Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_LightBeam_FallOff.psd.meta

@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: 903d5cca58d798a4f92be9840168efd6
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 10
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 1
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 2
+    aniso: 4
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 0
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_LightBeam_SpotMask.psd


+ 127 - 0
Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_LightBeam_SpotMask.psd.meta

@@ -0,0 +1,127 @@
+fileFormatVersion: 2
+guid: 856821fd8e5111644a6203b0ae744a34
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 10
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 1
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 2
+    aniso: 4
+    mipBias: -100
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 0
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 0
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: WebGL
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_PerlinNoise.psd


+ 103 - 0
Lux URP Essentials/Example Content/Volumetrics/Light Beam/T_PerlinNoise.psd.meta

@@ -0,0 +1,103 @@
+fileFormatVersion: 2
+guid: 317dd10a56abf8e41b7d6a78467f673c
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 10
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 1
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: -1
+    mipBias: -100
+    wrapU: -1
+    wrapV: -1
+    wrapW: -1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 1
+  pSDShowRemoveMatteOption: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Example Content/Volumetrics/Volumes.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3711f070e88f348898b19a51bee9b24f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Example Content/Volumetrics/Volumes/SM_Half_UnitSphere.fbx


+ 96 - 0
Lux URP Essentials/Example Content/Volumetrics/Volumes/SM_Half_UnitSphere.fbx.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: d3fa727303e9b4131b64322e6cce5b33
+ModelImporter:
+  serializedVersion: 19300
+  internalIDToNameTable: []
+  externalObjects: {}
+  materials:
+    materialImportMode: 0
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    importConstraints: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 0
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    useSRGBMaterialColor: 1
+    sortHierarchyByName: 1
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    skinWeightsMode: 0
+    maxBonesPerVertex: 4
+    minBoneWeight: 0.001
+    meshOptimizationFlags: -1
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 2
+    tangentImportMode: 2
+    normalCalculationMode: 4
+    legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+    blendShapeNormalImportMode: 2
+    normalSmoothingSource: 0
+  referencedClips: []
+  importAnimation: 0
+  humanDescription:
+    serializedVersion: 3
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    globalScale: 1
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  autoGenerateAvatarMappingIfUnspecified: 1
+  animationType: 0
+  humanoidOversampling: 1
+  avatarSetup: 0
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Example Content/Volumetrics/Volumes/SM_UnitSphere.fbx


+ 96 - 0
Lux URP Essentials/Example Content/Volumetrics/Volumes/SM_UnitSphere.fbx.meta

@@ -0,0 +1,96 @@
+fileFormatVersion: 2
+guid: e5473be91bc954626932e8f4f172cb1b
+ModelImporter:
+  serializedVersion: 19300
+  internalIDToNameTable: []
+  externalObjects: {}
+  materials:
+    materialImportMode: 0
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    importConstraints: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 0
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    useSRGBMaterialColor: 1
+    sortHierarchyByName: 1
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    keepQuads: 0
+    weldVertices: 1
+    preserveHierarchy: 0
+    skinWeightsMode: 0
+    maxBonesPerVertex: 4
+    minBoneWeight: 0.001
+    meshOptimizationFlags: -1
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+    legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+    blendShapeNormalImportMode: 1
+    normalSmoothingSource: 0
+  referencedClips: []
+  importAnimation: 0
+  humanDescription:
+    serializedVersion: 3
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    globalScale: 1
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  autoGenerateAvatarMappingIfUnspecified: 1
+  animationType: 0
+  humanoidOversampling: 1
+  avatarSetup: 0
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6a9b7fbf5fa68408da9893991ec1fdfe
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Lux SRP Grass Displacement.pdf


+ 7 - 0
Lux URP Essentials/Lux SRP Grass Displacement.pdf.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 5e1f0dc93bf573a4ba7902853617af04
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3bde6fb2facfc445c90cb0943e8379c8
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 0b9c868aaf6cf4ac39ac67dbc6aafed5
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 72 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations/Sphere (animated).controller

@@ -0,0 +1,72 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1102 &-6983897970009304096
+AnimatorState:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Sphere Animation
+  m_Speed: 1
+  m_CycleOffset: 0
+  m_Transitions: []
+  m_StateMachineBehaviours: []
+  m_Position: {x: 50, y: 50, z: 0}
+  m_IKOnFeet: 0
+  m_WriteDefaultValues: 1
+  m_Mirror: 0
+  m_SpeedParameterActive: 0
+  m_MirrorParameterActive: 0
+  m_CycleOffsetParameterActive: 0
+  m_TimeParameterActive: 0
+  m_Motion: {fileID: 7400000, guid: b3b3b9a96f98741478feae9ab0584838, type: 2}
+  m_Tag: 
+  m_SpeedParameter: 
+  m_MirrorParameter: 
+  m_CycleOffsetParameter: 
+  m_TimeParameter: 
+--- !u!91 &9100000
+AnimatorController:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Sphere (animated)
+  serializedVersion: 5
+  m_AnimatorParameters: []
+  m_AnimatorLayers:
+  - serializedVersion: 5
+    m_Name: Base Layer
+    m_StateMachine: {fileID: 1722310734509491395}
+    m_Mask: {fileID: 0}
+    m_Motions: []
+    m_Behaviours: []
+    m_BlendingMode: 0
+    m_SyncedLayerIndex: -1
+    m_DefaultWeight: 0
+    m_IKPass: 0
+    m_SyncedLayerAffectsTiming: 0
+    m_Controller: {fileID: 9100000}
+--- !u!1107 &1722310734509491395
+AnimatorStateMachine:
+  serializedVersion: 5
+  m_ObjectHideFlags: 1
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Base Layer
+  m_ChildStates:
+  - serializedVersion: 1
+    m_State: {fileID: -6983897970009304096}
+    m_Position: {x: 200, y: 0, z: 0}
+  m_ChildStateMachines: []
+  m_AnyStateTransitions: []
+  m_EntryTransitions: []
+  m_StateMachineTransitions: {}
+  m_StateMachineBehaviours: []
+  m_AnyStatePosition: {x: 50, y: 20, z: 0}
+  m_EntryPosition: {x: 50, y: 120, z: 0}
+  m_ExitPosition: {x: 800, y: 120, z: 0}
+  m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
+  m_DefaultState: {fileID: -6983897970009304096}

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations/Sphere (animated).controller.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 75cc686a36a0044009124eaffe9404cf
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 205 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations/Sphere Animation.anim

@@ -0,0 +1,205 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!74 &7400000
+AnimationClip:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Sphere Animation
+  serializedVersion: 6
+  m_Legacy: 0
+  m_Compressed: 0
+  m_UseHighQualityCurve: 1
+  m_RotationCurves: []
+  m_CompressedRotationCurves: []
+  m_EulerCurves: []
+  m_PositionCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: {x: -11.19, y: -12.54, z: 18.36}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+        outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+      - serializedVersion: 3
+        time: 4
+        value: {x: -17.37, y: -12.54, z: 18.36}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+        outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+      - serializedVersion: 3
+        time: 8.033334
+        value: {x: -11.19, y: -12.54, z: 18.36}
+        inSlope: {x: 0, y: 0, z: 0}
+        outSlope: {x: 0, y: 0, z: 0}
+        tangentMode: 0
+        weightedMode: 0
+        inWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+        outWeight: {x: 0.33333334, y: 0.33333334, z: 0.33333334}
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    path: 
+  m_ScaleCurves: []
+  m_FloatCurves: []
+  m_PPtrCurves: []
+  m_SampleRate: 60
+  m_WrapMode: 0
+  m_Bounds:
+    m_Center: {x: 0, y: 0, z: 0}
+    m_Extent: {x: 0, y: 0, z: 0}
+  m_ClipBindingConstant:
+    genericBindings:
+    - serializedVersion: 2
+      path: 0
+      attribute: 1
+      script: {fileID: 0}
+      typeID: 4
+      customType: 0
+      isPPtrCurve: 0
+    pptrCurveMapping: []
+  m_AnimationClipSettings:
+    serializedVersion: 2
+    m_AdditiveReferencePoseClip: {fileID: 0}
+    m_AdditiveReferencePoseTime: 0
+    m_StartTime: 0
+    m_StopTime: 8.033334
+    m_OrientationOffsetY: 0
+    m_Level: 0
+    m_CycleOffset: 0
+    m_HasAdditiveReferencePose: 0
+    m_LoopTime: 1
+    m_LoopBlend: 0
+    m_LoopBlendOrientation: 0
+    m_LoopBlendPositionY: 0
+    m_LoopBlendPositionXZ: 0
+    m_KeepOriginalOrientation: 0
+    m_KeepOriginalPositionY: 1
+    m_KeepOriginalPositionXZ: 0
+    m_HeightFromFeet: 0
+    m_Mirror: 0
+  m_EditorCurves:
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: -11.19
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 4
+        value: -17.37
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 8.033334
+        value: -11.19
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalPosition.x
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: -12.54
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 4
+        value: -12.54
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 8.033334
+        value: -12.54
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalPosition.y
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  - curve:
+      serializedVersion: 2
+      m_Curve:
+      - serializedVersion: 3
+        time: 0
+        value: 18.36
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 4
+        value: 18.36
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      - serializedVersion: 3
+        time: 8.033334
+        value: 18.36
+        inSlope: 0
+        outSlope: 0
+        tangentMode: 136
+        weightedMode: 0
+        inWeight: 0.33333334
+        outWeight: 0.33333334
+      m_PreInfinity: 2
+      m_PostInfinity: 2
+      m_RotationOrder: 4
+    attribute: m_LocalPosition.z
+    path: 
+    classID: 4
+    script: {fileID: 0}
+  m_EulerEditorCurves: []
+  m_HasGenericRootTransform: 1
+  m_HasMotionFloatCurves: 0
+  m_Events: []

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Animations/Sphere Animation.anim.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b3b3b9a96f98741478feae9ab0584838
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 77727 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Grass Displacement RenderFeature Demo.unity


+ 7 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Grass Displacement RenderFeature Demo.unity.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 559c1521bb4ec4aa78840b6f281d145d
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: af02307b7b3e54ad0a3f45c5dab609fb
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 124 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Cube orange.mat

@@ -0,0 +1,124 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Cube orange
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 2000
+  stringTagMap:
+    RenderType: Opaque
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_Lightmaps:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_LightmapsInd:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_ShadowMasks:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 0
+    - _Blend: 0
+    - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
+    - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnvironmentReflections: 1
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.005
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Surface: 0
+    - _WorkflowMode: 1
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 0.5320145, b: 0, a: 1}
+    - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
+--- !u!114 &6839223972155749830
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 4

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Cube orange.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 37f54668a4094074eb4cf7575f417a4a
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 117 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Desert Grass Patch Texture Displace.mat

@@ -0,0 +1,117 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-1308165976037921252
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 1
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Desert Grass Patch Texture Displace
+  m_Shader: {fileID: 4800000, guid: 8c8623e042d9b4082b79d39fc2b7fb56, type: 3}
+  m_ShaderKeywords: _ALPHATEST_ON _SPECULAR_SETUP
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 1
+  m_DoubleSidedGI: 1
+  m_CustomRenderQueue: 2450
+  stringTagMap:
+    RenderType: TransparentCutout
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 2800000, guid: b96182c9fb438476594f5e2ea94739aa, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: b96182c9fb438476594f5e2ea94739aa, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 1
+    - _BendingMode: 0
+    - _Blend: 0
+    - _BlinnPhong: 0
+    - _BumpScale: 1
+    - _Contour: 0.5
+    - _Cull: 0
+    - _Culling: 0
+    - _Cutoff: 0.45
+    - _DisplacementSampleSize: 0.5
+    - _DisplacementStrength: 1.5
+    - _DisplacementStrengthVertical: 4
+    - _DrawDistSqr: 900
+    - _DstBlend: 0
+    - _EnableNormal: 0
+    - _EnvironmentReflections: 1
+    - _FadeRange: 0.002
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _NormalDisplacement: 1
+    - _Occlusion: 1
+    - _OcclusionStrength: 1
+    - _QueueOffset: 0
+    - _ReadMask: 255
+    - _ReceiveShadows: 1
+    - _SDF: 0
+    - _SDFSmoothness: 1
+    - _Shadows: 0
+    - _Smoothness: 0.25
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _StencilComp: 8
+    - _StencilFail: 0
+    - _StencilOp: 2
+    - _StencilRef: 0
+    - _StencilZFail: 0
+    - _Surface: 0
+    - _WindMultiplier: 2
+    - _WorkflowMode: 0
+    - _WriteMask: 255
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
+    - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _DistanceFade: {r: 10000, g: 0.0015625, b: 0, a: 0}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _GlossyEnvironmentColorMultiplier: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.14150941, g: 0.14150941, b: 0.14150941, a: 1}
+    - _WindMultiplier: {r: 0.3, g: 2, b: 0.2, a: 0}
+  m_BuildTextureStacks: []

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Desert Grass Patch Texture Displace.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3676e2ceba5b145e1ad82e8bc1dd7f31
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 124 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Ground simple.mat

@@ -0,0 +1,124 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Ground simple
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 2000
+  stringTagMap:
+    RenderType: Opaque
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_Lightmaps:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_LightmapsInd:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_ShadowMasks:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 0
+    - _Blend: 0
+    - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
+    - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnvironmentReflections: 1
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.005
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.29
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Surface: 0
+    - _WorkflowMode: 1
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 0.5372549, g: 0.4784255, b: 0.4195961, a: 1}
+    - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
+--- !u!114 &6839223972155749830
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 4

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Ground simple.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 19812301b94184f91b517fc3d75c551b
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 33 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Radial Displacement Dynamic Alpha.mat

@@ -0,0 +1,33 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Simple Radial Displacement Dynamic Alpha
+  m_Shader: {fileID: 4800000, guid: b4487ac48409b41a5b91942d75ee26c1, type: 3}
+  m_ShaderKeywords: _DYNAMICALPHA
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 1
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3002
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 08e376d76d00948b1b63e2a3fe2e1457, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _Alpha: 1
+    - _DstBlend: 10
+    - _DynamicAlpha: 1
+    - _Invert: 0
+    - _RotateNormal: 0
+    - _SrcBlend: 5
+    m_Colors: []

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Radial Displacement Dynamic Alpha.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 07d55918b6eb51c47993449607bb6b4d
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 33 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Radial Displacement.mat

@@ -0,0 +1,33 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Simple Radial Displacement
+  m_Shader: {fileID: 4800000, guid: b4487ac48409b41a5b91942d75ee26c1, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 3001
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 08e376d76d00948b1b63e2a3fe2e1457, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _Alpha: 1
+    - _DstBlend: 10
+    - _DynamicAlpha: 0
+    - _Invert: 0
+    - _RotateNormal: 0
+    - _SrcBlend: 5
+    m_Colors: []

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Radial Displacement.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: b14cdbcb9218b4e2fadded61af721d4e
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 33 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Rectangular Displacement.mat

@@ -0,0 +1,33 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Simple Rectangular Displacement
+  m_Shader: {fileID: 4800000, guid: b4487ac48409b41a5b91942d75ee26c1, type: 3}
+  m_ShaderKeywords: _NORMAL
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: d14900217345fe74eba728663c38da27, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _Alpha: 1
+    - _DstBlend: 10
+    - _DynamicAlpha: 0
+    - _Invert: 0
+    - _RotateNormal: 1
+    - _SrcBlend: 5
+    m_Colors: []

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Simple Rectangular Displacement.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6dbf5f7eff293dc4a857dde384a7e18a
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 124 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere blue.mat

@@ -0,0 +1,124 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Sphere blue
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 2000
+  stringTagMap:
+    RenderType: Opaque
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_Lightmaps:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_LightmapsInd:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_ShadowMasks:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 0
+    - _Blend: 0
+    - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
+    - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnvironmentReflections: 1
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.005
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Surface: 0
+    - _WorkflowMode: 1
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 0, g: 0.28342748, b: 1, a: 1}
+    - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
+--- !u!114 &6839223972155749830
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 4

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere blue.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 7d1496f0a20b04369a25ab725d07e068
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 124 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere green.mat

@@ -0,0 +1,124 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Sphere green
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 2000
+  stringTagMap:
+    RenderType: Opaque
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_Lightmaps:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_LightmapsInd:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_ShadowMasks:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 0
+    - _Blend: 0
+    - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
+    - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnvironmentReflections: 1
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.005
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Surface: 0
+    - _WorkflowMode: 1
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 0.07186719, g: 0.8018868, b: 0.23015752, a: 1}
+    - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
+--- !u!114 &6839223972155749830
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 4

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere green.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 674585915cc7442fd9d6ed762ca52bbe
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 124 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere red.mat

@@ -0,0 +1,124 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Sphere red
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 2000
+  stringTagMap:
+    RenderType: Opaque
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_Lightmaps:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_LightmapsInd:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_ShadowMasks:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 0
+    - _Blend: 0
+    - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
+    - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnvironmentReflections: 1
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.005
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Surface: 0
+    - _WorkflowMode: 1
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 0, b: 0, a: 1}
+    - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
+--- !u!114 &6839223972155749830
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 4

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere red.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e3342893bad584aba9fce4248b988c72
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 124 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere yellow.mat

@@ -0,0 +1,124 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M Sphere yellow
+  m_Shader: {fileID: 4800000, guid: 933532a4fcc9baf4fa0491de14d08ed7, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: 2000
+  stringTagMap:
+    RenderType: Opaque
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_Lightmaps:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_LightmapsInd:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - unity_ShadowMasks:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 0
+    - _Blend: 0
+    - _BumpScale: 1
+    - _ClearCoatMask: 0
+    - _ClearCoatSmoothness: 0
+    - _Cull: 2
+    - _Cutoff: 0.5
+    - _DetailAlbedoMapScale: 1
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _EnvironmentReflections: 1
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.005
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Surface: 0
+    - _WorkflowMode: 1
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 1, g: 0.86757076, b: 0, a: 1}
+    - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+  m_BuildTextureStacks: []
+--- !u!114 &6839223972155749830
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 4

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M Sphere yellow.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: ca85a28176de6d94fa9dedbe2dd63c41
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 99 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M_SimpleFlower Texture Displace.mat

@@ -0,0 +1,99 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &-877688572373506226
+MonoBehaviour:
+  m_ObjectHideFlags: 11
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  version: 1
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: M_SimpleFlower Texture Displace
+  m_Shader: {fileID: 4800000, guid: 8c8623e042d9b4082b79d39fc2b7fb56, type: 3}
+  m_ShaderKeywords: _ALPHATEST_ON _BENDINGMODE_BLUE
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 1
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BaseMap:
+        m_Texture: {fileID: 2800000, guid: 14a58d1d15bf5454b8321dadddb20e5d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 2800000, guid: 14a58d1d15bf5454b8321dadddb20e5d, type: 3}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _SpecGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _AlphaClip: 1
+    - _BendingMode: 0
+    - _Blend: 0
+    - _BlinnPhong: 0
+    - _BumpScale: 1
+    - _Cull: 2
+    - _Culling: 0
+    - _Cutoff: 0.5
+    - _DisplacementSampleSize: 0.1
+    - _DisplacementStrength: 2
+    - _DisplacementStrengthVertical: 1
+    - _DstBlend: 0
+    - _EnvironmentReflections: 1
+    - _GlossMapScale: 0
+    - _Glossiness: 0
+    - _GlossyReflections: 0
+    - _Metallic: 0
+    - _NormalDisplacement: 1
+    - _Occlusion: 1
+    - _OcclusionStrength: 1
+    - _QueueOffset: 0
+    - _ReceiveShadows: 1
+    - _Smoothness: 0.5
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _Surface: 0
+    - _WorkflowMode: 1
+    - _ZWrite: 1
+    m_Colors:
+    - _BaseColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _Color: {r: 0.5, g: 0.5, b: 0.5, a: 1}
+    - _DistanceFade: {r: 900, g: 0.005, b: 0, a: 0}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+    - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1}
+    - _WindMultiplier: {r: 1, g: 0.78, b: 0.5, a: 1}

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/M_SimpleFlower Texture Displace.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 314e7a19e9f16e94f9b187dbf8c196a9
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 27 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/Unlit_DebugDisplacement.mat

@@ -0,0 +1,27 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: Unlit_DebugDisplacement
+  m_Shader: {fileID: 4800000, guid: ee572380e18c94e45988a689699bb2b2, type: 3}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats: []
+    m_Colors: []

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Materials/Unlit_DebugDisplacement.mat.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 38de884dd00df40ce8383d8343b4a4e3
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6215d56133be14adbb61094915e3d6c8
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 81 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Grass Patch RenderFeature.prefab

@@ -0,0 +1,81 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!1 &6441382255723623004
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 8016190528674578511}
+  - component: {fileID: 1325250639532456569}
+  - component: {fileID: 4708712439929833088}
+  m_Layer: 1
+  m_Name: PF Grass Patch RenderFeature
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!4 &8016190528674578511
+Transform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6441382255723623004}
+  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_Children: []
+  m_Father: {fileID: 0}
+  m_RootOrder: 0
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+--- !u!33 &1325250639532456569
+MeshFilter:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6441382255723623004}
+  m_Mesh: {fileID: -2425650722858486048, guid: 6f073f5c37a0a4a038af2e0e20829ae5, type: 3}
+--- !u!23 &4708712439929833088
+MeshRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 6441382255723623004}
+  m_Enabled: 1
+  m_CastShadows: 1
+  m_ReceiveShadows: 1
+  m_DynamicOccludee: 1
+  m_MotionVectors: 1
+  m_LightProbeUsage: 1
+  m_ReflectionProbeUsage: 0
+  m_RayTracingMode: 2
+  m_RenderingLayerMask: 1
+  m_RendererPriority: 0
+  m_Materials:
+  - {fileID: 2100000, guid: 3676e2ceba5b145e1ad82e8bc1dd7f31, type: 2}
+  m_StaticBatchInfo:
+    firstSubMesh: 0
+    subMeshCount: 0
+  m_StaticBatchRoot: {fileID: 0}
+  m_ProbeAnchor: {fileID: 0}
+  m_LightProbeVolumeOverride: {fileID: 0}
+  m_ScaleInLightmap: 0.1
+  m_ReceiveGI: 1
+  m_PreserveUVs: 0
+  m_IgnoreNormalsForChartDetection: 0
+  m_ImportantGI: 0
+  m_StitchLightmapSeams: 1
+  m_SelectedEditorRenderState: 3
+  m_MinimumChartSize: 4
+  m_AutoUVMaxDistance: 0.5
+  m_AutoUVMaxAngle: 89
+  m_LightmapParameters: {fileID: 0}
+  m_SortingLayerID: 0
+  m_SortingLayer: 0
+  m_SortingOrder: 0

+ 7 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Grass Patch RenderFeature.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 32e251b854b2641df95fee43e34b9e1a
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4771 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Particle System (Trail Follower).prefab


+ 7 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Particle System (Trail Follower).prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 50fbeb34b72b145da825097091b33074
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 4959 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Turbine.prefab


+ 7 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Prefabs/PF Turbine.prefab.meta

@@ -0,0 +1,7 @@
+fileFormatVersion: 2
+guid: 7d7e60995237a499e9f5686ce6f17baf
+PrefabImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 64c82b93318fe4536a47ffe0d51cbff2
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test/LightingData.asset


+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test/LightingData.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 577b6ba3b4f2f447fbb02ab2caf1cec6
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test/ReflectionProbe-0.exr


+ 139 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/RenderFeature Test/ReflectionProbe-0.exr.meta

@@ -0,0 +1,139 @@
+fileFormatVersion: 2
+guid: ce698e1de7266477aa09974eff73d6fb
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 10
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 1
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 1
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 1
+  seamlessCubemap: 1
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: 2
+    aniso: 0
+    mipBias: 0
+    wrapU: 1
+    wrapV: 1
+    wrapW: 1
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 2
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 2048
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 100
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Windows Store Apps
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 12da04930598fd045b3a944266e681ab
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 32 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts/RotateAndMove.cs

@@ -0,0 +1,32 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Lux_SRP_GrassDisplacement
+{
+    public class RotateAndMove : MonoBehaviour {
+        
+    	public bool Rotate = true;
+        public bool MoveUpDown = false;
+        
+        float posy;
+        Transform trans;
+
+        void OnEnable() {
+           trans = this.GetComponent<Transform>();
+           var pos = trans.position;
+           posy = pos.y;
+        }
+
+        void Update() {
+            if (Rotate) {
+                trans.Rotate(0, 10.0f * Time.deltaTime, 0, Space.World);
+            }
+            if (MoveUpDown) {
+                var pos = trans.position;
+                pos.y = posy + 1.0f + Mathf.Sin(Time.time);
+                trans.position = pos;
+            }
+        }
+    }
+}

+ 11 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts/RotateAndMove.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0e74b009ca6e7477688639de12ed26a3
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 16 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts/SmoothFollow.cs

@@ -0,0 +1,16 @@
+using UnityEngine;
+
+namespace Lux_SRP_GrassDisplacement
+{
+
+	public class SmoothFollow : MonoBehaviour {
+	    public Transform targetTransform;
+	    public float smoothTime = 0.15F;
+	    private Vector3 velocity = Vector3.zero;
+	    
+	    void Update() {
+	        Vector3 targetPosition = targetTransform.position;
+	        transform.position = Vector3.SmoothDamp(transform.position, targetPosition, ref velocity, smoothTime);
+	    }
+	}
+}

+ 11 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Scripts/SmoothFollow.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 95ef0f4b01516be43a3b090a313fe642
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 6e9c2652131bcf44582539c3630f980f
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures/T Displacement Normal.psd


+ 139 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures/T Displacement Normal.psd.meta

@@ -0,0 +1,139 @@
+fileFormatVersion: 2
+guid: 08e376d76d00948b1b63e2a3fe2e1457
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 10
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 1
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: 2
+    mipBias: -100
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 2
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 256
+    resizeAlgorithm: 0
+    textureFormat: 4
+    textureCompression: 2
+    compressionQuality: 0
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  - serializedVersion: 3
+    buildTarget: Windows Store Apps
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 1
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

BIN
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures/T Displacement Rectangular.psd


+ 139 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Demo/Textures/T Displacement Rectangular.psd.meta

@@ -0,0 +1,139 @@
+fileFormatVersion: 2
+guid: d14900217345fe74eba728663c38da27
+TextureImporter:
+  internalIDToNameTable: []
+  externalObjects: {}
+  serializedVersion: 10
+  mipmaps:
+    mipMapMode: 0
+    enableMipMap: 1
+    sRGBTexture: 0
+    linearTexture: 0
+    fadeOut: 0
+    borderMipMap: 0
+    mipMapsPreserveCoverage: 0
+    alphaTestReferenceValue: 0.5
+    mipMapFadeDistanceStart: 1
+    mipMapFadeDistanceEnd: 3
+  bumpmap:
+    convertToNormalMap: 0
+    externalNormalMap: 0
+    heightScale: 0.25
+    normalMapFilter: 0
+  isReadable: 0
+  streamingMipmaps: 0
+  streamingMipmapsPriority: 0
+  grayScaleToAlpha: 0
+  generateCubemap: 6
+  cubemapConvolution: 0
+  seamlessCubemap: 0
+  textureFormat: 1
+  maxTextureSize: 2048
+  textureSettings:
+    serializedVersion: 2
+    filterMode: -1
+    aniso: 2
+    mipBias: -100
+    wrapU: 0
+    wrapV: 0
+    wrapW: 0
+  nPOTScale: 1
+  lightmap: 0
+  compressionQuality: 50
+  spriteMode: 0
+  spriteExtrude: 1
+  spriteMeshType: 1
+  alignment: 0
+  spritePivot: {x: 0.5, y: 0.5}
+  spritePixelsToUnits: 100
+  spriteBorder: {x: 0, y: 0, z: 0, w: 0}
+  spriteGenerateFallbackPhysicsShape: 1
+  alphaUsage: 1
+  alphaIsTransparency: 0
+  spriteTessellationDetail: -1
+  textureType: 0
+  textureShape: 1
+  singleChannelComponent: 0
+  maxTextureSizeSet: 0
+  compressionQualitySet: 0
+  textureFormatSet: 0
+  platformSettings:
+  - serializedVersion: 3
+    buildTarget: DefaultTexturePlatform
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: 3
+    textureCompression: 2
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Standalone
+    maxTextureSize: 128
+    resizeAlgorithm: 0
+    textureFormat: 3
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 1
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: iPhone
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Android
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  - serializedVersion: 3
+    buildTarget: Windows Store Apps
+    maxTextureSize: 8192
+    resizeAlgorithm: 0
+    textureFormat: -1
+    textureCompression: 1
+    compressionQuality: 50
+    crunchedCompression: 0
+    allowsAlphaSplitting: 0
+    overridden: 0
+    androidETC2FallbackOverride: 0
+    forceMaximumCompressionQuality_BC6H_BC7: 0
+  spriteSheet:
+    serializedVersion: 2
+    sprites: []
+    outline: []
+    physicsShape: []
+    bones: []
+    spriteID: 
+    internalID: 0
+    vertices: []
+    indices: 
+    edges: []
+    weights: []
+    secondaryTextures: []
+  spritePackingTag: 
+  pSDRemoveMatte: 0
+  pSDShowRemoveMatteOption: 1
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 56 - 0
Lux URP Essentials/Lux SRP Grass Displacement/ForwardRenderer GrassDisplacement.asset

@@ -0,0 +1,56 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!114 &11400000
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: de640fe3d0db1804a85f9fc8f5cadab6, type: 3}
+  m_Name: ForwardRenderer GrassDisplacement
+  m_EditorClassIdentifier: 
+  m_RendererFeatures:
+  - {fileID: 6453725153907803454}
+  m_RendererFeatureMap: 3e85ad8cd53c9059
+  postProcessData: {fileID: 11400000, guid: 41439944d30ece34e96484bdb6645b55, type: 2}
+  shaders:
+    blitPS: {fileID: 4800000, guid: c17132b1f77d20942aa75f8429c0f8bc, type: 3}
+    copyDepthPS: {fileID: 4800000, guid: d6dae50ee9e1bfa4db75f19f99355220, type: 3}
+    screenSpaceShadowPS: {fileID: 4800000, guid: 0f854b35a0cf61a429bd5dcfea30eddd,
+      type: 3}
+    samplingPS: {fileID: 4800000, guid: 04c410c9937594faa893a11dceb85f7e, type: 3}
+    fallbackErrorPS: {fileID: 4800000, guid: e6e9a19c3678ded42a3bc431ebef7dbd, type: 3}
+  m_OpaqueLayerMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_TransparentLayerMask:
+    serializedVersion: 2
+    m_Bits: 4294967295
+  m_DefaultStencilState:
+    overrideStencilState: 0
+    stencilReference: 0
+    stencilCompareFunction: 8
+    passOperation: 0
+    failOperation: 0
+    zFailOperation: 0
+  m_ShadowTransparentReceive: 1
+--- !u!114 &6453725153907803454
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 0}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 38f9650d8a8634cb5928de456b7d5e8b, type: 3}
+  m_Name: GrassDisplacementFeature
+  m_EditorClassIdentifier: 
+  m_Active: 1
+  settings:
+    Resolution: 256
+    Size: 30
+    ShiftRenderTex: 1

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/ForwardRenderer GrassDisplacement.asset.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 3d0833f445a5240a4b476548bcd8d8b2
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 82258fb82013948b2ace7558426f1ecb
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 67 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/ControlDisplacer.cs

@@ -0,0 +1,67 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Lux_SRP_GrassDisplacement {
+
+    [ExecuteInEditMode]
+    public class ControlDisplacer : MonoBehaviour {
+        
+    	public float maxDistance = 1.0f;
+        public float fallOff = 2.0f;
+        
+        [Layer]
+        public int layerMask = 0;
+
+        [Space(5)]
+        public bool DebugRay = true;
+
+    	private Transform trans;
+    	private Renderer rend;
+    	private MaterialPropertyBlock mpb;
+
+        private RaycastHit hit;
+        private float alpha;
+
+        void OnEnable() {
+            trans = this.GetComponent<Transform>();
+            rend = this.GetComponent<Renderer>();
+            mpb = new MaterialPropertyBlock();
+            mpb.Clear();
+            rend.SetPropertyBlock(mpb);
+        }
+
+        void OnDisable() {
+            mpb.Clear();
+            rend.SetPropertyBlock(null);
+        }
+
+        void Update() {
+            var mask = 1 << layerMask;
+            if (Physics.Raycast(trans.position, Vector3.down, out hit, maxDistance, mask )) {
+                #if UNITY_EDITOR
+                    if(DebugRay) {
+                        Debug.DrawRay(transform.position, Vector3.down * hit.distance, Color.green);
+                    }
+                #endif
+                alpha = (float)(1.0 - Math.Pow(hit.distance / maxDistance, fallOff));
+                mpb.SetFloat("_Alpha", alpha);
+                rend.SetPropertyBlock(mpb);
+            }
+            else {
+                #if UNITY_EDITOR
+                    if(DebugRay) {
+                        Debug.DrawRay(transform.position, Vector3.down * maxDistance, Color.red);
+                    }
+                #endif
+                if (alpha != 0.0f) {
+                    alpha = 0.0f;
+                    mpb.SetFloat("_Alpha", 0.0f);
+                    rend.SetPropertyBlock(mpb);
+                }
+            }
+        }
+    }
+
+}

+ 11 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/ControlDisplacer.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6ddb7d98e36b9864ea24569c2572c4b4
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 73 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/ControlDisplacerParticleSys.cs

@@ -0,0 +1,73 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Lux_SRP_GrassDisplacement {
+
+  [RequireComponent(typeof(ParticleSystem))]
+  public class ControlDisplacerParticleSys : MonoBehaviour
+  {
+      
+  	public float maxDistance = 1.0f;
+    	public float fallOff = 2.0f;
+    	
+      [Layer]
+      public int layerMask = 0;
+
+    	[Space(5)]
+      public bool DebugRay = true;
+
+    	private Transform trans;
+    	private ParticleSystem ps;
+    	private ParticleSystem.MainModule main;
+
+    	private RaycastHit hit;
+    	private float alpha;
+    	
+    	private float min_alpha;
+    	private float max_alpha;
+    	private Color min_StartColor;
+    	private Color max_StartColor;
+
+
+      void OnEnable() {
+      	trans = GetComponent<Transform>();
+          ps = GetComponent<ParticleSystem>();
+          main = ps.main;
+  		    min_StartColor = main.startColor.colorMin;
+          min_alpha = min_StartColor.a;
+          max_StartColor = main.startColor.colorMax;
+          max_alpha = max_StartColor.a;
+      }
+
+      void Update() {
+  		var mask = 1 << layerMask;
+  		if (Physics.Raycast(trans.position, Vector3.down, out hit, maxDistance, mask )) {
+  			#if UNITY_EDITOR
+  				if(DebugRay) {
+  				    Debug.DrawRay(transform.position, Vector3.down * hit.distance, Color.green);
+  				}
+  			#endif  
+  			alpha = (float)(1.0 - Math.Pow(hit.distance / maxDistance, fallOff));
+  			min_StartColor.a = min_alpha * alpha;
+  			max_StartColor.a = max_alpha * alpha;
+  			main.startColor = new ParticleSystem.MinMaxGradient(min_StartColor, max_StartColor);	
+  		}
+  		else {
+  			#if UNITY_EDITOR
+  	            if(DebugRay) {
+  	                Debug.DrawRay(transform.position, Vector3.down * maxDistance, Color.red);
+  	            }
+  			#endif
+              if (alpha != 0.0f) {
+                  alpha = 0.0f;
+                  min_StartColor.a = alpha;
+  				max_StartColor.a = alpha;
+  				main.startColor = new ParticleSystem.MinMaxGradient(min_StartColor, max_StartColor);
+              }
+          }
+      }
+  }
+
+}

+ 11 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/ControlDisplacerParticleSys.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 6231af61151bd074e877cc4c3320e1f3
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 37 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/DebugGrassDisplacementTex.cs

@@ -0,0 +1,37 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Lux_SRP_GrassDisplacement
+{
+    public class DebugGrassDisplacementTex : MonoBehaviour
+    {
+        
+        [System.Serializable]
+        public enum DebugSize {
+            _128 = 128,
+            _256 = 256,
+            _512 = 512,
+            _1024 = 1024
+        }
+
+        public bool m_EnableDebug = true;
+        public DebugSize currentDebugSize = DebugSize._256;
+
+        #if UNITY_EDITOR
+                void OnDrawGizmos() {
+                    if (m_EnableDebug) {
+                    	var GrassDisplacementTex = Shader.GetGlobalTexture("_Lux_DisplacementRT");
+                        if(GrassDisplacementTex != null) {
+                            GL.PushMatrix();
+                            var size = (int)currentDebugSize;
+                            GL.LoadPixelMatrix(0, Screen.width, Screen.height, 0);
+                            Graphics.DrawTexture(new Rect(0, 0, size, size), Texture2D.normalTexture);
+                            Graphics.DrawTexture(new Rect(0, 0, size, size), GrassDisplacementTex);
+                            GL.PopMatrix();
+                        }
+                    }
+                }
+        #endif
+    }
+}

+ 11 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/DebugGrassDisplacementTex.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e3cbd584e6d9944bbaae740f74842b11
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/Editor.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c5e328bc83c197749bdf82d41209bd0b
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 19 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/Editor/LayerAttributeDrawer.cs

@@ -0,0 +1,19 @@
+using System;
+using UnityEngine;
+using System.Collections;
+#if UNITY_EDITOR
+	using UnityEditor;
+#endif
+
+
+namespace Lux_SRP_GrassDisplacement {
+
+	#if UNITY_EDITOR
+		[CustomPropertyDrawer(typeof(LayerAttribute))]
+		public class LayerAttributeDrawer : PropertyDrawer {
+		    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) {
+		        property.intValue = EditorGUI.LayerField(position, label, property.intValue);
+		    }
+		}
+	#endif
+}

+ 11 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/Editor/LayerAttributeDrawer.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: aef6b81981ca143a7b24bc585f00cc8e
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 206 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/GrassDisplacementRenderFeature.cs

@@ -0,0 +1,206 @@
+// vr: https://forum.unity.com/threads/released-lux-urp-essentials.712619/page-17#post-6474737
+
+
+using UnityEngine;
+using UnityEngine.Experimental.Rendering;
+using UnityEngine.Rendering;
+
+
+namespace Lux_SRP_GrassDisplacement
+{
+    public class GrassDisplacementRenderFeature : UnityEngine.Rendering.Universal.ScriptableRendererFeature
+    {
+        
+        [System.Serializable]
+        public enum RTDisplacementSize {
+            _128 = 128,
+            _256 = 256,
+            _512 = 512,
+            _1024 = 1024
+        }
+
+        [System.Serializable]
+        public class GrassDisplacementSettings
+        {
+            public RTDisplacementSize Resolution = RTDisplacementSize._256;
+            public float Size = 20.0f;
+            public bool ShiftRenderTex = false;
+            //public bool SinglePassInstancing = false;
+        }
+
+        public GrassDisplacementSettings settings = new GrassDisplacementSettings();
+        GrassDisplacementPass m_GrassDisplacementPass;
+        
+        public override void Create()
+        {
+            m_GrassDisplacementPass = new GrassDisplacementPass();
+            m_GrassDisplacementPass.renderPassEvent = UnityEngine.Rendering.Universal.RenderPassEvent.BeforeRenderingShadows;
+
+        //  Apply settings
+            m_GrassDisplacementPass.m_Resolution = (int)settings.Resolution;
+            m_GrassDisplacementPass.m_Size = settings.Size;
+            m_GrassDisplacementPass.m_ShiftRenderTex = settings.ShiftRenderTex;
+            //m_GrassDisplacementPass.m_SinglePassInstancing = settings.SinglePassInstancing;
+
+        }
+        
+        public override void AddRenderPasses(UnityEngine.Rendering.Universal.ScriptableRenderer renderer, ref UnityEngine.Rendering.Universal.RenderingData renderingData)
+        {
+            renderer.EnqueuePass(m_GrassDisplacementPass);
+        }
+    }
+
+
+
+
+//  ---------------------------------------------------------
+//  The Pass
+
+    public class GrassDisplacementPass : UnityEngine.Rendering.Universal.ScriptableRenderPass
+    {
+        
+        private const string ProfilerTag = "Render Lux Grass Displacement FX";
+        private static ProfilingSampler m_ProfilingSampler = new ProfilingSampler(ProfilerTag);
+
+        ShaderTagId m_GrassDisplacementFXShaderTag = new ShaderTagId("LuxGrassDisplacementFX");
+
+        private SinglePassStereoMode m_StereoRenderingMode;
+
+    //  There is no 0.5 in 8bit colors...
+        Color m_ClearColor = new Color(127.0f/255.0f, 127.0f/255.0f,1,1);
+
+    //  In case of XR enabled this most likely will be an array        
+        UnityEngine.Rendering.Universal.RenderTargetHandle m_GrassDisplacementFX = UnityEngine.Rendering.Universal.RenderTargetHandle.CameraTarget;
+
+        private Matrix4x4 projectionMatrix;
+        private Matrix4x4 worldToCameraMatrix;
+
+        public float m_Size = 20.0f;
+        public int m_Resolution = 256;
+        public bool m_ShiftRenderTex = false;
+        //public bool m_SinglePassInstancing = false;
+
+        private float stepSize;
+        private float oneOverStepSize;
+
+        private Vector4 posSize = Vector4.zero;
+        private static int DisplacementTexPosSizePID = Shader.PropertyToID("_Lux_DisplacementPosition");
+
+        private FilteringSettings transparentFilterSettings { get; set; }
+
+        public GrassDisplacementPass()
+        {
+            m_GrassDisplacementFX.Init("_Lux_DisplacementRT");
+            transparentFilterSettings = new FilteringSettings(RenderQueueRange.transparent);
+        }
+
+        public override void Configure(CommandBuffer cmd, RenderTextureDescriptor cameraTextureDescriptor)
+        {
+            cameraTextureDescriptor.depthBufferBits = 0;
+            cameraTextureDescriptor.width = m_Resolution;
+            cameraTextureDescriptor.height = m_Resolution;
+            cameraTextureDescriptor.colorFormat = RenderTextureFormat.Default;
+        //  XR: force our RT to be always 2D
+            cameraTextureDescriptor.dimension = TextureDimension.Tex2D;
+
+            cmd.GetTemporaryRT(m_GrassDisplacementFX.id, cameraTextureDescriptor, FilterMode.Bilinear);
+            ConfigureTarget(m_GrassDisplacementFX.Identifier());
+            ConfigureClear(ClearFlag.Color, m_ClearColor);
+
+        //  Set up all constants
+            stepSize = m_Size / (float)m_Resolution;
+            oneOverStepSize = 1.0f / stepSize;
+            var halfSize = m_Size  * 0.5f;
+            projectionMatrix = Matrix4x4.Ortho(-halfSize, halfSize, -halfSize, halfSize, 0.1f, 80.0f);
+            projectionMatrix = GL.GetGPUProjectionMatrix(projectionMatrix, false);
+            worldToCameraMatrix.SetRow(0, new Vector4(1,0,0,0) ); //last is x pos
+            worldToCameraMatrix.SetRow(1, new Vector4(0,0,1,0) ); //last is z pos
+            worldToCameraMatrix.SetRow(2, new Vector4(0,1,0,0) ); //last is y pos
+            worldToCameraMatrix.SetRow(3, new Vector4(0,0,0,1) );
+        }
+
+        public override void Execute(ScriptableRenderContext context, ref UnityEngine.Rendering.Universal.RenderingData renderingData)
+        {
+            CommandBuffer cmd = CommandBufferPool.Get(ProfilerTag);
+
+            using (new ProfilingScope(cmd, m_ProfilingSampler))
+            {
+                context.ExecuteCommandBuffer(cmd);
+                cmd.Clear();
+
+                var drawSettings = CreateDrawingSettings(m_GrassDisplacementFXShaderTag, ref renderingData, SortingCriteria.CommonTransparent);
+                var filteringSettings = transparentFilterSettings;
+
+                var camera = renderingData.cameraData.camera;
+                var cameraTransform = camera.transform;
+                var cameraPos = cameraTransform.position;
+
+#if ENABLE_VR && ENABLE_XR_MODULE
+                var isStereoEnabled = renderingData.cameraData.xr.enabled; //isStereoEnabled; //
+                if (isStereoEnabled) {
+                    m_StereoRenderingMode = XRSettings.stereoRenderingMode;
+                    cmd.SetSinglePassStereo(SinglePassStereoMode.None);
+                }
+#endif
+
+            //  Push cameraPos forward – if enabled    
+                var camForward = cameraTransform.forward;
+                // unstable
+                // cameraPos.x += camForward.x * m_Size * 0.5f;
+                // cameraPos.z += camForward.z * m_Size * 0.5f;
+                if (m_ShiftRenderTex) {
+                    var t_camForward = new Vector2(camForward.x, camForward.z);
+                    t_camForward.Normalize();
+                //  still rather unstable...
+                    cameraPos.x += t_camForward.x * m_Size * 0.33f;
+                    cameraPos.z += t_camForward.y * m_Size * 0.33f;
+                }
+            
+            //  Store original Camera matrices
+                var worldToCameraMatrixOrig = camera.worldToCameraMatrix;
+                var projectionMatrixOrig = camera.projectionMatrix;
+
+            //  Quantize movement to fit texel size of RT – this stabilzes the final visual result
+                Vector2 positionRT = Vector2.zero; // bad
+                positionRT.x = Mathf.Floor(cameraPos.x * oneOverStepSize) * stepSize;
+                positionRT.y = Mathf.Floor(cameraPos.z * oneOverStepSize) * stepSize;
+
+            //  Update the custom worldToCameraMatrix – we only have to update the translation/position
+                worldToCameraMatrix.SetColumn(3, new Vector4(-positionRT.x, -positionRT.y, -cameraPos.y - 40.0f, 1) );
+                cmd.SetViewProjectionMatrices(worldToCameraMatrix, projectionMatrix);
+            
+            //  ---------------------------------------------------------
+            //  Calc and set grass shader params
+                posSize.x = positionRT.x - m_Size * 0.5f;
+                posSize.y = positionRT.y - m_Size * 0.5f;
+                posSize.z = 1.0f / m_Size ;
+                cmd.SetGlobalVector(DisplacementTexPosSizePID, posSize );
+
+            //  ---------------------------------------------------------
+            //  Call execute
+                context.ExecuteCommandBuffer(cmd);
+                context.DrawRenderers(renderingData.cullResults, ref drawSettings, ref filteringSettings);
+
+            //  ---------------------------------------------------------
+            //  Restore Camera matrices
+                cmd.Clear();
+                cmd.SetViewProjectionMatrices(worldToCameraMatrixOrig, projectionMatrixOrig);
+#if ENABLE_VR && ENABLE_XR_MODULE
+                if (isStereoEnabled) {
+                    cmd.SetSinglePassStereo(m_StereoRenderingMode);
+                }
+#endif
+            }
+            
+        //  ---------------------------------------------------------
+        //  Call execute a 2nd time
+            context.ExecuteCommandBuffer(cmd);
+            CommandBufferPool.Release(cmd);
+        }
+
+        public override void OnCameraCleanup(CommandBuffer cmd)
+        {
+            cmd.ReleaseTemporaryRT(m_GrassDisplacementFX.id);
+        }
+    }
+}

+ 11 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/GrassDisplacementRenderFeature.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 38f9650d8a8634cb5928de456b7d5e8b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 11 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/LayerAtributes.cs

@@ -0,0 +1,11 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+
+namespace Lux_SRP_GrassDisplacement {
+
+    [AttributeUsage(AttributeTargets.Field)]
+    public class LayerAttribute : PropertyAttribute { }
+
+}

+ 11 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Scripts/LayerAtributes.cs.meta

@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 84b9794af08459544bfd87316587cbee
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Shaders.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: a4fd9bfaebc52450bb1fabc21e52c168
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 8 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Debug.meta

@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 10651af1cdc6c35478cdfe5729c30f4d
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 58 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Debug/DebugDisplacement.shader

@@ -0,0 +1,58 @@
+Shader "Unlit/DebugDisplacement"
+{
+    Properties
+    {
+        _MainTex ("Texture", 2D) = "white" {}
+    }
+    SubShader
+    {
+        Tags { "RenderType"="Opaque" }
+        LOD 100
+
+        Pass
+        {
+            CGPROGRAM
+            #pragma vertex vert
+            #pragma fragment frag
+            // make fog work
+            #pragma multi_compile_fog
+
+            #include "UnityCG.cginc"
+
+            struct appdata
+            {
+                float4 vertex : POSITION;
+                float2 uv : TEXCOORD0;
+            };
+
+            struct v2f
+            {
+                float2 uv : TEXCOORD0;
+                UNITY_FOG_COORDS(1)
+                float4 vertex : SV_POSITION;
+            };
+
+            sampler2D _Lux_DisplacementRT;
+            float4 _Lux_DisplacementRT_ST;
+
+            v2f vert (appdata v)
+            {
+                v2f o;
+                o.vertex = UnityObjectToClipPos(v.vertex);
+                o.uv = TRANSFORM_TEX(v.uv, _Lux_DisplacementRT);
+                UNITY_TRANSFER_FOG(o,o.vertex);
+                return o;
+            }
+
+            fixed4 frag (v2f i) : SV_Target
+            {
+                // sample the texture
+                fixed4 col = tex2D(_Lux_DisplacementRT, i.uv);
+                // apply fog
+                UNITY_APPLY_FOG(i.fogCoord, col);
+                return col;
+            }
+            ENDCG
+        }
+    }
+}

+ 9 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Debug/DebugDisplacement.shader.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: ee572380e18c94e45988a689699bb2b2
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  nonModifiableTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 199 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Simple Displacement FX Debug.shader

@@ -0,0 +1,199 @@
+Shader "Lux SRP Displacement/Simple Displacement Debug"
+{
+    Properties
+    {
+        _MainTex ("Texture", 2D) = "bump" {}
+        [Enum(UnityEngine.Rendering.BlendMode)] _SrcBlend ("Src Blend mode", Float) = 5
+        [Enum(UnityEngine.Rendering.BlendMode)] _DstBlend ("Dst Blend mode", Float) = 10
+    }
+    SubShader
+    {
+        Tags { "RenderType"="Transparent" "Queue"="Transparent" "RenderPipeline" = "UniversalPipeline" }
+        ZWrite Off
+        Blend [_SrcBlend] [_DstBlend]
+        LOD 100
+
+        Pass
+        {
+            Name "LuxGrassDisplacementFX"
+            Tags{"LightMode" = "LuxGrassDisplacementFX"}
+            
+            HLSLPROGRAM
+            #pragma vertex SimpleDisplacementFXVertex
+            #pragma fragment SimpleDisplacementFXFragment
+
+            #pragma shader_feature_local _DYNAMICALPHA
+            #pragma shader_feature_local _NORMAL
+
+            //--------------------------------------
+            // GPU Instancing
+            #pragma multi_compile_instancing
+            
+            #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
+
+            struct Attributes
+            {
+                float3 positionOS : POSITION;
+                #if defined _NORMAL
+                    float3 normalOS : NORMAL;
+                    float4 tangentOS : TANGENT;
+                #endif
+                half4 color : COLOR;
+                float2 uv : TEXCOORD0;
+            };
+
+            struct Varyings
+            {
+                float2 uv : TEXCOORD0;
+                #if defined _NORMAL
+                    half3 normalWS : TEXCOORD1; 
+                    half3 tangentWS : TEXCOORD2;
+                    half3 bitangentWS : TEXCOORD3;   
+                #endif
+                half4 color : TEXCOORD4;
+                float4 vertex : SV_POSITION;
+            };
+
+            CBUFFER_START(UnityPerMaterial)
+                //half _Alpha;
+            CBUFFER_END
+
+            #if defined (_DYNAMICALPHA)
+                UNITY_INSTANCING_BUFFER_START(Props)
+                    UNITY_DEFINE_INSTANCED_PROP(half, _Alpha)
+                UNITY_INSTANCING_BUFFER_END(Props)
+            #endif
+            
+            sampler2D _MainTex;
+            
+            
+            Varyings SimpleDisplacementFXVertex (Attributes input)
+            {
+                Varyings output = (Varyings)0;
+                
+                VertexPositionInputs vertexPosition = GetVertexPositionInputs(input.positionOS.xyz);
+                output.vertex = vertexPosition.positionCS;
+                output.uv = input.uv;
+                output.color = input.color;
+
+                #if defined _NORMAL
+                    VertexNormalInputs vertexTBN = GetVertexNormalInputs(input.normalOS, input.tangentOS);
+                    output.normalWS = vertexTBN.normalWS;
+                    output.tangentWS = vertexTBN.tangentWS;
+                    output.bitangentWS = vertexTBN.bitangentWS;
+                #endif
+
+                return output;
+            }
+            
+            half4 SimpleDisplacementFXFragment (Varyings input) : SV_Target
+            {
+                half4 col = tex2D(_MainTex, input.uv);
+                col.a *= input.color.a
+                #if defined(_DYNAMICALPHA)
+                    * UNITY_ACCESS_INSTANCED_PROP(Props, _Alpha)
+                #endif
+                ;
+
+                #if defined(_NORMAL)
+                    col.rgb = col.rgb * 2 - 1; // unpack
+                    col.rgb = TransformTangentToWorld(col.rgb, half3x3(input.tangentWS.xyz, input.bitangentWS.xyz, input.normalWS.xyz));
+                    col.rgb = col.rbg * 0.5 + 0.5; // swizzle to "tangent space" and repack
+                #endif
+                return col;
+            }
+            ENDHLSL
+        }
+
+        Pass
+        {
+            Tags{"LightMode" = "LightweightForward"}
+            
+            HLSLPROGRAM
+            #pragma vertex SimpleDisplacementFXVertex
+            #pragma fragment SimpleDisplacementFXFragment
+
+            #pragma shader_feature_local _DYNAMICALPHA
+            #pragma shader_feature_local _NORMAL
+
+            //--------------------------------------
+            // GPU Instancing
+            #pragma multi_compile_instancing
+            
+            #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
+
+            struct Attributes
+            {
+                float3 positionOS : POSITION;
+                #if defined _NORMAL
+                    float3 normalOS : NORMAL;
+                    float4 tangentOS : TANGENT;
+                #endif
+                half4 color : COLOR;
+                float2 uv : TEXCOORD0;
+            };
+
+            struct Varyings
+            {
+                float2 uv : TEXCOORD0;
+                #if defined _NORMAL
+                    half3 normalWS : TEXCOORD1; 
+                    half3 tangentWS : TEXCOORD2;
+                    half3 bitangentWS : TEXCOORD3;   
+                #endif
+                half4 color : TEXCOORD4;
+                float4 vertex : SV_POSITION;
+            };
+
+            CBUFFER_START(UnityPerMaterial)
+                //half _Alpha;
+            CBUFFER_END
+
+            #if defined (_DYNAMICALPHA)
+                UNITY_INSTANCING_BUFFER_START(Props)
+                    UNITY_DEFINE_INSTANCED_PROP(half, _Alpha)
+                UNITY_INSTANCING_BUFFER_END(Props)
+            #endif
+            
+            sampler2D _MainTex;
+            
+            
+            Varyings SimpleDisplacementFXVertex (Attributes input)
+            {
+                Varyings output = (Varyings)0;
+                
+                VertexPositionInputs vertexPosition = GetVertexPositionInputs(input.positionOS.xyz);
+                output.vertex = vertexPosition.positionCS;
+                output.uv = input.uv;
+                output.color = input.color;
+
+                #if defined _NORMAL
+                    VertexNormalInputs vertexTBN = GetVertexNormalInputs(input.normalOS, input.tangentOS);
+                    output.normalWS = vertexTBN.normalWS;
+                    output.tangentWS = vertexTBN.tangentWS;
+                    output.bitangentWS = vertexTBN.bitangentWS;
+                #endif
+
+                return output;
+            }
+            
+            half4 SimpleDisplacementFXFragment (Varyings input) : SV_Target
+            {
+                half4 col = tex2D(_MainTex, input.uv);
+                col.a *= input.color.a
+                #if defined(_DYNAMICALPHA)
+                    * UNITY_ACCESS_INSTANCED_PROP(Props, _Alpha)
+                #endif
+                ;
+
+                #if defined(_NORMAL)
+                    col.rgb = col.rgb * 2 - 1; // unpack
+                    col.rgb = TransformTangentToWorld(col.rgb, half3x3(input.tangentWS.xyz, input.bitangentWS.xyz, input.normalWS.xyz));
+                    col.rgb = col.rbg * 0.5 + 0.5; // swizzle to "tangent space" and repack
+                #endif
+                return col;
+            }
+            ENDHLSL
+        }
+    }
+}

+ 9 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Simple Displacement FX Debug.shader.meta

@@ -0,0 +1,9 @@
+fileFormatVersion: 2
+guid: d7274fa4832425743962ade532f41352
+ShaderImporter:
+  externalObjects: {}
+  defaultTextures: []
+  nonModifiableTextures: []
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 

+ 0 - 0
Lux URP Essentials/Lux SRP Grass Displacement/Shaders/Simple Displacement FX.shader


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio