ForwardShadingFog.ankiprog 1018 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright (C) 2009-2021, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. struct PerDraw
  6. {
  7. Mat4 m_ankiMvp;
  8. Mat4 m_ankiModelViewMatrix;
  9. Vec3 m_fogColor;
  10. F32 m_fogAlphaScale;
  11. F32 m_fogDistanceOfMaxThikness;
  12. };
  13. #pragma anki reflect b_ankiPerDraw
  14. layout(set = 1, binding = 0, row_major) uniform b_ankiPerDraw
  15. {
  16. PerDraw u_ankiPerDraw;
  17. };
  18. #pragma anki start vert
  19. #include <AnKi/Shaders/ForwardShadingCommonVert.glsl>
  20. layout(location = 0) out F32 out_zVSpace;
  21. void main()
  22. {
  23. gl_Position = u_ankiPerDraw.m_ankiMvp * Vec4(in_position, 1.0);
  24. out_zVSpace = (u_ankiPerDraw.m_ankiModelViewMatrix * Vec4(in_position, 1.0)).z;
  25. }
  26. #pragma anki end
  27. #pragma anki start frag
  28. #include <AnKi/Shaders/ForwardShadingCommonFrag.glsl>
  29. layout(location = 0) in F32 in_zVSpace;
  30. void main()
  31. {
  32. fog(u_ankiPerDraw.m_fogColor, u_ankiPerDraw.m_fogAlphaScale, u_ankiPerDraw.m_fogDistanceOfMaxThikness, in_zVSpace);
  33. }
  34. #pragma anki end