TraditionalDeferredShadingTypes.h 948 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. // Copyright (C) 2009-2023, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #pragma once
  6. #include <AnKi/Shaders/Include/Common.h>
  7. ANKI_BEGIN_NAMESPACE
  8. struct TraditionalDeferredShadingDirectionalLight
  9. {
  10. Vec3 m_diffuseColor;
  11. U32 m_active;
  12. Vec3 m_direction;
  13. F32 m_effectiveShadowDistance;
  14. Mat4 m_lightMatrix;
  15. };
  16. struct TraditionalDeferredShadingConstants
  17. {
  18. // Use these to get the correct face UVs
  19. Vec2 m_inputTexUvScale;
  20. Vec2 m_inputTexUvBias;
  21. Vec2 m_fbUvScale;
  22. Vec2 m_fbUvBias;
  23. Mat4 m_invViewProjMat;
  24. Vec3 m_cameraPos;
  25. F32 m_padding0;
  26. TraditionalDeferredShadingDirectionalLight m_dirLight;
  27. };
  28. struct TraditionalDeferredSkyboxConstants
  29. {
  30. RVec3 m_solidColor;
  31. F32 m_padding1;
  32. Vec2 m_inputTexUvScale;
  33. Vec2 m_inputTexUvBias;
  34. Mat4 m_invertedViewProjectionMat;
  35. Vec3 m_cameraPos;
  36. F32 m_padding2;
  37. };
  38. ANKI_END_NAMESPACE