3#include "pixelbullet/graphics/subrender.h"
4#include "pixelbullet/scene/render_data.h"
14class ForwardLitMaterialOverrideProvider;
15struct ForwardLitSceneMeshAssetChangeSet;
20namespace scene_rendering_internal
28 [[nodiscard]]
virtual std::size_t RefreshAllAssetCaches() = 0;
29 [[nodiscard]]
virtual std::size_t RefreshMeshCaches(
const std::vector<std::string>& changed_meshes) = 0;
38 [[nodiscard]]
virtual std::size_t RefreshAllAssetCaches() = 0;
39 [[nodiscard]]
virtual std::size_t RefreshAssetCaches(
const ForwardLitSceneMeshAssetChangeSet& change_set) = 0;
48 [[nodiscard]]
virtual std::size_t RefreshAllAssetCaches() = 0;
49 [[nodiscard]]
virtual std::size_t RefreshTextureCaches(
const std::vector<std::string>& changed_sprite_textures) = 0;
66 [[nodiscard]]
virtual std::size_t RefreshAllAssetCaches() = 0;
67 [[nodiscard]]
virtual std::size_t RefreshEnvironmentCaches(
const std::vector<std::string>& changed_environment_assets,
68 const std::vector<std::string>& changed_cubemaps) = 0;
71[[nodiscard]] std::unique_ptr<DirectionalShadowSceneMeshSubrenderRuntimeBackend>
72CreateDirectionalShadowSceneMeshSubrenderRuntimeBackend(
const Subrender::Stage& stage,
RenderDevice& render_device,
Filesystem& filesystem,
75[[nodiscard]] std::unique_ptr<ForwardLitSceneMeshSubrenderRuntimeBackend>
76CreateForwardLitSceneMeshSubrenderRuntimeBackend(
const Subrender::Stage& stage,
RenderDevice& render_device,
Filesystem& filesystem,
78 const ForwardLitMaterialOverrideProvider* material_override_provider,
79 SceneRenderBucket render_bucket);
81[[nodiscard]] std::unique_ptr<SceneSpriteSubrenderRuntimeBackend>
82CreateSceneSpriteSubrenderRuntimeBackend(
const Subrender::Stage& stage,
RenderDevice& render_device,
Filesystem& filesystem,
84 SceneRenderBucket render_bucket);
86[[nodiscard]] std::unique_ptr<SceneToneMapSubrenderRuntimeBackend>
87CreateSceneToneMapSubrenderRuntimeBackend(
const Subrender::Stage& stage,
RenderDevice& render_device,
Filesystem& filesystem,
88 const SceneRenderData& render_data, std::string source_render_target_name);
90[[nodiscard]] std::unique_ptr<SkyboxSceneSubrenderRuntimeBackend>
91CreateSkyboxSceneSubrenderRuntimeBackend(
const Subrender::Stage& stage,
RenderDevice& render_device,
Filesystem& filesystem,
Definition filesystem.h:19
Definition graphics_resource_cache.h:16
Definition render_device.h:15
Definition render_frame_context.h:15
Definition scene_subrender_runtime_backend_internal.h:23
Definition scene_subrender_runtime_backend_internal.h:33
Definition scene_subrender_runtime_backend_internal.h:43
Definition scene_subrender_runtime_backend_internal.h:53
Definition scene_subrender_runtime_backend_internal.h:61
Definition render_data.h:138