17#include <Common/logging.h>
33 std::string
getStats()
const override;
35 template<
typename... DeducedArgs>
40 m_metadatas, std::forward<DeducedArgs>(args)...);
43 template<CDerived<math::Transform> TransformType,
typename... DeducedArgs>
48 m_transforms, std::forward<DeducedArgs>(args)...);
51 template<CDerived<Intersectable> IntersectableType,
typename... DeducedArgs>
56 m_intersectables, std::forward<DeducedArgs>(args)...);
59 template<CDerived<Intersectable> IntersectableType>
66 template<CDerived<Emitter> EmitterType,
typename... DeducedArgs>
71 m_emitters, std::forward<DeducedArgs>(args)...);
74 template<
typename... DeducedArgs>
79 m_triangleBuffers, std::forward<DeducedArgs>(args)...);
82 template<
typename... DeducedArgs>
88 template<
typename... DeducedArgs>
97 TSynchronized<CookedNamedResource>&
getNamed();
103 TSynchronized<TUniquePtrVector<PrimitiveMetadata>> m_metadatas;
104 TSynchronized<TUniquePtrVector<math::Transform>> m_transforms;
105 TSynchronized<TUniquePtrVector<Intersectable>> m_intersectables;
106 TSynchronized<TUniquePtrVector<Emitter>> m_emitters;
107 TSynchronized<TUniquePtrVector<IndexedTriangleBuffer>> m_triangleBuffers;
108 TSynchronized<TSdlResourceIdMap<CookedGeometry>> m_idToGeometry;
109 TSynchronized<TSdlResourceIdMap<CookedMotion>> m_idToMotion;
110 TSynchronized<CookedNamedResource> m_namedResource;
Definition CookedGeometry.h:13
Definition CookedMotion.h:22
Provides thread-safe cooked data creation and storage. All methods are thread-safe to call,...
Definition CookedResourceCollectionBase.h:25
static CookedType * makeCookedResourceWithID(TSynchronized< TSdlResourceIdMap< CookedType > > &syncedIdToResource, const SdlResourceId id, DeducedArgs &&... args)
Definition CookedResourceCollectionBase.h:55
static DerivedType * makeCookedResource(TSynchronized< TUniquePtrVector< BaseType > > &syncedResources, DeducedArgs &&... args)
Definition CookedResourceCollectionBase.h:37
Provides thread-safe cooked data creation and storage. All methods are thread-safe to call,...
Definition CookedResourceCollection.h:31
TSynchronized< CookedNamedResource > & getNamed()
Get the named resource sub-storage.
Definition CookedResourceCollection.cpp:8
CookedGeometry * makeGeometry(const SdlResourceId id, DeducedArgs &&... args)
Definition CookedResourceCollection.h:83
EmitterType * makeEmitter(DeducedArgs &&... args)
Definition CookedResourceCollection.h:68
TransformType * makeTransform(DeducedArgs &&... args)
Definition CookedResourceCollection.h:45
PrimitiveMetadata * makeMetadata(DeducedArgs &&... args)
Definition CookedResourceCollection.h:37
std::string getStats() const override
Definition CookedResourceCollection.cpp:23
IndexedTriangleBuffer * makeTriangleBuffer(DeducedArgs &&... args)
Definition CookedResourceCollection.h:76
const CookedGeometry * getGeometry(const SdlResourceId id) const
Definition CookedResourceCollection.cpp:13
CookedMotion * makeMotion(const SdlResourceId id, DeducedArgs &&... args)
Definition CookedResourceCollection.h:89
IntersectableType * makeIntersectable(DeducedArgs &&... args)
Definition CookedResourceCollection.h:53
const CookedMotion * getMotion(const SdlResourceId id) const
Definition CookedResourceCollection.cpp:18
IntersectableType * copyIntersectable(IntersectableType intersectable)
Definition CookedResourceCollection.h:61
Definition TIndexedPolygonBuffer.h:23
The root for all renderer implementations.
Definition EEngineProject.h:6
std::uint64_t SdlResourceId
Definition SdlResourceId.h:8
PH_DEFINE_EXTERNAL_LOG_GROUP(ApiDatabase, Core)