Skin_LightingEval.azsli 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. // This #define magic lets you use the EvaluateLighting function in this file without making it the final EvaluateLighting
  10. // used in your shader. Simply #define EvaluateLighting to your custom definition before including this file
  11. //
  12. #ifndef InitializeLightingData
  13. #define InitializeLightingData InitializeLightingData_SkinPBR
  14. #endif
  15. #ifndef FinalizeLightingData
  16. #define FinalizeLightingData FinalizeLightingData_SkinPBR
  17. #endif
  18. #include "../BasePBR/BasePBR_LightingEval.azsli"
  19. void InitializeLightingData_SkinPBR(inout Surface surface, float3 viewPosition[MAX_SHADING_VIEWS], inout LightingData lightingData)
  20. {
  21. // --- Base PBR ---
  22. InitializeLightingData_BasePBR(surface, viewPosition, lightingData);
  23. // --- Skin PBR ---
  24. lightingData.diffuseAmbientOcclusion = surface.diffuseAmbientOcclusion;
  25. lightingData.specularOcclusion = surface.specularOcclusion;
  26. }
  27. void FinalizeLightingData_SkinPBR(inout Surface surface, inout LightingData lightingData)
  28. {
  29. FinalizeLightingData_BasePBR(surface, lightingData);
  30. }