light/modules/renderer/private/frontend/renderer/pass.hpp
light7734 63cb6dfe92
Some checks are pending
continuous-integration/drone/push Build is running
wip: convert from include style to module import style :D
2025-11-04 18:50:59 +03:30

39 lines
765 B
C++

#pragma once
#include <renderer/api.hpp>
#include <renderer/frontend/context/swapchain.hpp>
namespace lt::assets {
class ShaderAsset;
}
namespace lt::renderer {
class IPass
{
public:
[[nodiscard]] static auto create(
lt::renderer::Api target_api,
class IDevice *device,
class ISwapchain *swapchain,
const class lt::assets::ShaderAsset &vertex_shader,
const class lt::assets::ShaderAsset &fragment_shader
) -> memory::Scope<IPass>;
IPass() = default;
virtual ~IPass() = default;
IPass(IPass &&) = default;
IPass(const IPass &) = delete;
auto operator=(IPass &&) -> IPass & = default;
auto operator=(const IPass &) -> IPass & = delete;
void replace_swapchain(const ISwapchain &swapchain);
};
} // namespace lt::renderer