5 #include "VectorMath.h"
6 #include "CatmullRomSpline.h"
10 #include "CallbackCollection.h"
11 #include "CameraSplinePlaybackController.h"
12 #include "IDebugStats.h"
25 namespace PerformanceTestState
36 std::vector<Eegeo::dv3> cameraPositionsEcef;
37 std::vector<Eegeo::dv3> targetPositionsEcef;
38 Geometry::TimeParameterizationMethod::Values interpolationMethod;
43 cameraPositionsEcef.push_back(cameraPositionEcef);
44 targetPositionsEcef.push_back(targetPositionEcef);
49 AddPoint(cameraPosition.ToECEF(), targetPosition.ToECEF());
55 std::string ToString()
const;
57 float AverageFramesPerSecond;
59 size_t MemoryUsedBytes;
60 size_t PrivateDirtyByteCount;
62 size_t TextureByteCount;
63 size_t VertexIndexBufferByteCount;
65 typedef std::pair<std::string, StreamStat> TNamedStreamStat;
67 std::vector<TNamedStreamStat > StreamNameToStatPairs;
76 void Start(
const std::string& splineName,
const int loopCount);
77 void SingleSplineCompleted();
78 bool IsTestCompleted()
const;
80 bool IsActive()
const {
return m_isActive; }
81 const std::string& SplineName()
const {
return m_splineName; }
85 int m_splineRunsCompleted;
86 std::string m_splineName;
91 typedef std::map<std::string, SplineData> TNameSplineData;
98 bool IsTestInProgress()
const {
return m_state.IsActive(); }
100 void RegisterCameraSpline(
const std::string& name,
const SplineData& data);
108 bool TryBeginSplineCameraPathPerformanceTest(
const std::string& splineName,
const int loopCount);
111 void HandlePlaybackStateChanged(
const Camera::SplinePlayback::SplinePlaybackState& state);
115 std::map<std::string, SplineData> m_nameToSplineData;