Photon Engine 2.0.0-beta
A physically based renderer.
|
Provides thread-safe cooked data creation and storage. All methods are thread-safe to call, however manipulating the created data is not thread-safe unless stated explicitly. More...
#include <CookedResourceCollection.h>
Public Member Functions | |
std::string | getStats () const override |
template<typename... DeducedArgs> | |
PrimitiveMetadata * | makeMetadata (DeducedArgs &&... args) |
template<CDerived< math::Transform > TransformType, typename... DeducedArgs> | |
TransformType * | makeTransform (DeducedArgs &&... args) |
template<CDerived< Intersectable > IntersectableType, typename... DeducedArgs> | |
IntersectableType * | makeIntersectable (DeducedArgs &&... args) |
template<CDerived< Intersectable > IntersectableType> | |
IntersectableType * | copyIntersectable (IntersectableType intersectable) |
template<CDerived< Emitter > EmitterType, typename... DeducedArgs> | |
EmitterType * | makeEmitter (DeducedArgs &&... args) |
template<typename... DeducedArgs> | |
IndexedTriangleBuffer * | makeTriangleBuffer (DeducedArgs &&... args) |
template<typename... DeducedArgs> | |
CookedGeometry * | makeGeometry (const SdlResourceId id, DeducedArgs &&... args) |
template<typename... DeducedArgs> | |
CookedMotion * | makeMotion (const SdlResourceId id, DeducedArgs &&... args) |
TSynchronized< CookedNamedResource > & | getNamed () |
Get the named resource sub-storage. | |
const CookedGeometry * | getGeometry (const SdlResourceId id) const |
const CookedMotion * | getMotion (const SdlResourceId id) const |
Public Member Functions inherited from ph::CookedResourceCollectionBase | |
virtual | ~CookedResourceCollectionBase ()=default |
Additional Inherited Members | |
Protected Types inherited from ph::CookedResourceCollectionBase | |
template<typename CookedType > | |
using | TSdlResourceIdMap = std::unordered_map<SdlResourceId, std::unique_ptr<CookedType>> |
Static Protected Member Functions inherited from ph::CookedResourceCollectionBase | |
template<typename DerivedType , typename BaseType , typename... DeducedArgs> | |
static DerivedType * | makeCookedResource (TSynchronized< TUniquePtrVector< BaseType > > &syncedResources, DeducedArgs &&... args) |
template<typename CookedType , typename... DeducedArgs> | |
static CookedType * | makeCookedResourceWithID (TSynchronized< TSdlResourceIdMap< CookedType > > &syncedIdToResource, const SdlResourceId id, DeducedArgs &&... args) |
template<typename CookedType , typename... DeducedArgs> | |
static const CookedType * | getCookedResourceByID (const TSynchronized< TSdlResourceIdMap< CookedType > > &syncedIdToResource, const SdlResourceId id) |
Provides thread-safe cooked data creation and storage. All methods are thread-safe to call, however manipulating the created data is not thread-safe unless stated explicitly.
|
inlinenodiscard |
const CookedGeometry * ph::CookedResourceCollection::getGeometry | ( | const SdlResourceId | id | ) | const |
const CookedMotion * ph::CookedResourceCollection::getMotion | ( | const SdlResourceId | id | ) | const |
TSynchronized< CookedNamedResource > & ph::CookedResourceCollection::getNamed | ( | ) |
Get the named resource sub-storage.
|
overridevirtual |
Implements ph::CookedResourceCollectionBase.
|
inlinenodiscard |
|
inline |
|
inlinenodiscard |
|
inlinenodiscard |
|
inline |
|
inlinenodiscard |
|
inlinenodiscard |