AtomRenderOptions.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. #include <Atom/RPI.Public/Base.h>
  10. #include <AzCore/Name/Name.h>
  11. #include <AzCore/std/containers/vector.h>
  12. namespace AZ
  13. {
  14. class Name;
  15. namespace RPI
  16. {
  17. class RenderPipeline;
  18. }
  19. namespace Render
  20. {
  21. //! Get the current default viewport pipeline (in use in the main editor level view)
  22. //! @return pipeline shared ptr
  23. RPI::RenderPipelinePtr GetDefaultViewportPipelinePtr();
  24. //! Find the first render pass matching the name and check its state
  25. //! @return boolean for enable state. Will be false if pass not found
  26. bool IsPassEnabled(const RPI::RenderPipeline& pipeline, const Name& name);
  27. //! Toggle the given render pass name in the given pipeline
  28. //! @return boolean true on success, false if failed to get the pass
  29. bool EnablePass(const RPI::RenderPipeline& pipeline, const Name& passName, bool enable);
  30. //! Get all of the render passes for the given pipeline that can be toggled on and off in the viewport option menu
  31. void GetViewportOptionsPasses(const RPI::RenderPipeline& pipeline, AZStd::vector<AZ::Name>& passNamesOut);
  32. } // namespace Render
  33. } // namespace AZ