ForwardShadingFog.ankiprog 983 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  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. layout(set = 1, binding = 0, row_major) uniform b_ankiPerDraw
  14. {
  15. PerDraw u_ankiPerDraw;
  16. };
  17. #pragma anki start vert
  18. #include <AnKi/Shaders/ForwardShadingCommonVert.glsl>
  19. layout(location = 0) out F32 out_zVSpace;
  20. void main()
  21. {
  22. gl_Position = u_ankiPerDraw.m_ankiMvp * Vec4(in_position, 1.0);
  23. out_zVSpace = (u_ankiPerDraw.m_ankiModelViewMatrix * Vec4(in_position, 1.0)).z;
  24. }
  25. #pragma anki end
  26. #pragma anki start frag
  27. #include <AnKi/Shaders/ForwardShadingCommonFrag.glsl>
  28. layout(location = 0) in F32 in_zVSpace;
  29. void main()
  30. {
  31. fog(u_ankiPerDraw.m_fogColor, u_ankiPerDraw.m_fogAlphaScale, u_ankiPerDraw.m_fogDistanceOfMaxThikness, in_zVSpace);
  32. }
  33. #pragma anki end