pipeline_interface.h 441 B

123456789101112131415161718192021
  1. #pragma once
  2. #include "../shader.h"
  3. #include <QOpenGLFunctions_3_3_Core>
  4. namespace Render::GL::BackendPipelines {
  5. class IPipeline : protected QOpenGLFunctions_3_3_Core {
  6. public:
  7. ~IPipeline() override = default;
  8. virtual auto initialize() -> bool = 0;
  9. virtual void shutdown() = 0;
  10. virtual void cacheUniforms() = 0;
  11. [[nodiscard]] virtual auto is_initialized() const -> bool = 0;
  12. };
  13. } // namespace Render::GL::BackendPipelines