3#include "pixelbullet/scene/render_data.h"
4#include "pixelbullet/scene/prefab_resolution.h"
6namespace pixelbullet::scene_render_extractor_internal
8glm::vec3 ResolveForwardDirection(
const Transform& transform);
10std::optional<EntityId> SelectPrimaryCameraEntity(
const Scene& scene);
12void ExtractEnvironment(
const Scene& scene, SceneRenderData& render_data);
13void ExtractPrimaryView(
const Scene& scene,
const SceneResolvedTransforms& resolved_transforms, glm::uvec2 target_extent,
14 SceneRenderData& render_data);
16glm::mat4 ResolveSceneWorldMatrix(
const SceneResolvedTransforms& resolved_transforms, EntityId entity,
const Transform& transform);
17Transform ResolveSceneWorldTransform(
const SceneResolvedTransforms& resolved_transforms, EntityId entity,
const Transform& transform);
18void ExtractSceneEntities(
const Scene& scene,
const SceneResolvedTransforms& resolved_transforms,
19 const SceneMorphWeightOverrides* morph_weight_overrides, SceneRenderData& render_data);
21glm::mat4 ResolvePrefabWorldMatrix(
const ResolvedPrefabInstance& instance, EntityId prefab_entity);
22bool ResolvePrefabWorldTransform(
const ResolvedPrefabInstance& instance, EntityId prefab_entity,
const Transform& local_transform,
23 Transform& world_transform);
24void ExtractPrefabInstances(
const std::vector<ResolvedPrefabInstance>& instances, SceneRenderData& render_data);