PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
scene_render_extractor_internal.h
1#pragma once
2
3#include "pixelbullet/scene/render_data.h"
4#include "pixelbullet/scene/prefab_resolution.h"
5
6namespace pixelbullet::scene_render_extractor_internal
7{
8glm::vec3 ResolveForwardDirection(const Transform& transform);
9
10std::optional<EntityId> SelectPrimaryCameraEntity(const Scene& scene);
11
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);
15
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);
20
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);
25} // namespace pixelbullet::scene_render_extractor_internal