17#include <Common/assertion.h>
18#include <Common/primitive_type.h>
23namespace ph {
class SceneDescription; }
24namespace ph {
class CoreCookingContext; }
25namespace ph {
class CookingContext; }
26namespace ph {
class Primitive; }
67 std::shared_ptr<Actor> actor;
68 bool isPhantom =
false;
71 std::unique_ptr<CookedResourceCollection> m_cookedResources;
72 std::unique_ptr<TransientResourceCache> m_cache;
73 std::vector<TransientVisualElement> m_cookedUnits;
78 std::unique_ptr<Intersector> m_tlas;
79 std::unique_ptr<EmitterSampler> m_emitterSampler;
80 std::unique_ptr<Scene> m_scene;
86 std::vector<TransientVisualElement>& out_elements);
88 static std::unique_ptr<Intersector> createTopLevelAccelerator(
99 m_receiverPos = receiverPos;
109 return m_emitterSampler.get();
114 return m_scene.get();
Provides thread-safe cooked data creation and storage. All methods are thread-safe to call,...
Definition CookedResourceCollection.h:31
Information about the world being cooked.
Definition CookingContext.h:24
Definition CoreCookingContext.h:15
Definition EmitterSampler.h:22
Marks the derived class as move only.
Definition IMoveOnly.h:23
Definition Intersector.h:14
A physical shape in the scene.
Definition Primitive.h:23
Data that describe a scene. Represents the result of running SDL commands.
Definition SceneDescription.h:14
A unified interface for accessing cooked content in a visual world.
Definition Scene.h:27
Provides thread-safe cooked data creation and storage. Similar to TransientVisualElement,...
Definition TransientResourceCache.h:25
A virtual world for image synthesis.
Definition VisualWorld.h:34
void setReceiverPosition(const math::Vector3R &receiverPos)
Definition VisualWorld.h:97
void cook(const SceneDescription &rawScene, const CoreCookingContext &coreCtx)
Definition VisualWorld.cpp:66
math::AABB3D getRootActorsBound() const
Bounds actors cooked in the first level. The bound is only available after the first level has done c...
Definition VisualWorld.cpp:380
const Scene * getScene() const
Definition VisualWorld.h:112
VisualWorld()
Definition VisualWorld.cpp:39
TransientResourceCache * getCache() const
Definition VisualWorld.cpp:375
const EmitterSampler * getEmitterSampler() const
Definition VisualWorld.h:107
math::AABB3D getLeafActorsBound() const
Bounds actors from levels finished cooking. The bound is updated every time a level has done cooking....
Definition VisualWorld.cpp:385
const Intersector * getTLAS() const
Definition VisualWorld.h:102
CookedResourceCollection * getCookedResources() const
Definition VisualWorld.cpp:370
The root for all renderer implementations.
Definition EEngineProject.h:6
std::span< const T, EXTENT > TSpanView
Same as TSpan, except that the objects are const-qualified. Note that for pointer types,...
Definition TSpan.h:19
std::span< T, EXTENT > TSpan
A contiguous sequence of objects of type T. Effectively the same as std::span.
Definition TSpan.h:12
EAccelerator
Definition EAccelerator.h:7