Class ResourceProvider
Defined in File resource-provider.h
Inheritance Relationships
Base Types
public CE::Rendering::Resources::Provider(Struct Provider)private CE::Assets::Shaders::Builder(Struct Builder)
Class Documentation
-
class ResourceProvider : public CE::Rendering::Resources::Provider, private CE::Assets::Shaders::Builder
Declaration:
finalTranslate backend-neutral resource requests into OpenGL images, buffers, and programs.
Calls require the rendering context current on the calling thread; CPU data is copied during construction and need not outlive each call.
Public Functions
-
inline virtual CE::Assets::Shaders::Builder *shader_asset_builder() noexcept override
Declaration:
[[nodiscard]]
-
virtual std::shared_ptr<CE::Rendering::Resources::Image> create_image(const CE::Assets::Images::Decoded &image) override
Declaration:
[[nodiscard]]
-
virtual std::shared_ptr<const CE::Rendering::Sampling::Sampler> create_sampler(const CE::Rendering::Sampling::Options &options) override
Declaration:
[[nodiscard]]
-
virtual std::shared_ptr<CE::Rendering::Resources::Image> create_font_atlas(std::span<const unsigned char> alpha, CE::Rendering::Geometry::PixelSize size) override
Declaration:
[[nodiscard]]
-
virtual std::shared_ptr<CE::Rendering::Geometry::Buffer2D> upload_geometry(std::span<const CE::Rendering::Geometry::Vertex2D> vertices, CE::Rendering::Geometry::Topology topology) override
Declaration:
[[nodiscard]]
-
virtual std::shared_ptr<CE::Rendering::Geometry::Buffer2D> upload_geometry(std::span<const CE::Rendering::Geometry::Vertex2DColor> vertices, CE::Rendering::Geometry::Topology topology) override
Declaration:
[[nodiscard]]
-
virtual std::shared_ptr<CE::Rendering::Resources::Program> link_program(const std::vector<std::filesystem::path> &stages) override
Declaration:
[[nodiscard]]
-
std::shared_ptr<const Pipeline> build_pipeline(CE::Rendering::Pipelines::Definition definition, const PipelineBindings &bindings)
Declaration:
[[nodiscard]]
-
std::shared_ptr<const CE::Rendering::Resources::Material> build_material(CE::Rendering::Materials::Definition definition)
Declaration:
[[nodiscard]]
Declaration:
[[nodiscard]]
-
inline virtual CE::Assets::Shaders::Builder *shader_asset_builder() noexcept override