/** * Copyright (c) 2025, Jayden Grubb * * SPDX-License-Identifier: BSD-3-Clause */ #pragma once #include #include #include #include namespace Nova { class NOVA_API RenderDriver { public: virtual ~RenderDriver() = default; [[nodiscard]] virtual RenderAPI get_api() const = 0; [[nodiscard]] virtual u32 get_api_version() const = 0; [[nodiscard]] virtual u32 get_device_count() const = 0; [[nodiscard]] virtual const RenderDevice& get_device(u32 index) const = 0; }; } // namespace Nova