Photon Engine 2.0.0-beta
A physically based renderer.
Loading...
Searching...
No Matches
MotionSource.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <Common/primitive_type.h>
8
9#include <memory>
10
11namespace ph
12{
13
14class Time;
15class CookingContext;
16class CookedMotion;
17class MotionCookConfig;
18
19class MotionSource : public TSdlResourceBase<ESdlTypeCategory::Ref_Motion>
20{
21public:
24 virtual void storeCooked(
25 CookedMotion& out_motion,
26 const CookingContext& ctx,
27 const MotionCookConfig& config) const = 0;
28
29 // DEPRECATED
30 virtual std::unique_ptr<math::Transform> genLocalToWorld(
31 const Time& start,
32 const Time& end) const = 0;
33
37 const CookingContext& ctx,
38 const MotionCookConfig& config) const;
39};
40
41}// end namespace ph
Definition CookedMotion.h:22
Information about the world being cooked.
Definition CookingContext.h:24
Definition CookedMotion.h:11
Definition MotionSource.h:20
virtual void storeCooked(CookedMotion &out_motion, const CookingContext &ctx, const MotionCookConfig &config) const =0
Store data suitable for rendering into out_motion.
virtual std::unique_ptr< math::Transform > genLocalToWorld(const Time &start, const Time &end) const =0
CookedMotion * createCooked(const CookingContext &ctx, const MotionCookConfig &config) const
Create a CookedMotion that contains data suitable for rendering.
Definition MotionSource.cpp:11
A convenient ISdlResource with core requirements implemented. This class is similar to SdlResourceBas...
Definition TSdlResourceBase.h:16
Definition Time.h:9
The root for all renderer implementations.
Definition EEngineProject.h:6