2
0

BsRendererTextures.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. //********************************** Banshee Engine (www.banshee3d.com) **************************************************//
  2. //**************** Copyright (c) 2016 Marko Pintera ([email protected]). All rights reserved. **********************//
  3. #pragma once
  4. #include "BsRenderBeastPrerequisites.h"
  5. namespace bs { namespace ct
  6. {
  7. /** @addtogroup RenderBeast
  8. * @{
  9. */
  10. /** Contains static textures required for various render techniques. */
  11. class RendererTextures
  12. {
  13. public:
  14. /** Initializes the renderer textures. Must be called before using the textures. */
  15. static void startUp();
  16. /** Cleans up renderer textures. */
  17. static void shutDown();
  18. /**
  19. * 2D 2-channel texture containing a pre-integrated G and F factors of the microfactet BRDF. This is an
  20. * approximation used for image based lighting, so we can avoid sampling environment maps for each light. Works in
  21. * tandem with the importance sampled reflection cubemaps.
  22. *
  23. * (u, v) = (NoV, roughness)
  24. * (r, g) = (scale, bias)
  25. */
  26. static SPtr<Texture> preintegratedEnvGF;
  27. /** Tileable 4x4 texture to be used for randomization in SSAO rendering. */
  28. static SPtr<Texture> ssaoRandomization4x4;
  29. /** Cubemap containing indirect lighting, when no other is available. */
  30. static SPtr<Texture> defaultIndirect;
  31. };
  32. /** @} */
  33. }}