5#include "Foundation/Platform/Timer.h"
26 TimingScope startInit() {
return { timer.startNew(), &initTime }; }
27 TimingScope startProcessing() {
return { timer.startNew(), &processingTime }; }
28 TimingScope startLodCalculation() {
return { timer.startNew(), &lodTime }; }
29 TimingScope startUpdate() {
return { timer.startNew(), &updateTime }; }
30 TimingScope startDispatch() {
return { timer.startNew(), &dispatchTime }; }
31 TimingScope startCostCalculation() {
return { timer.startNew(), &calculateCostTime }; }
34 double processingTime = 0;
35 double estimateTime = 0;
37 double updateTime = 0;
38 double calculateCostTime = 0;
39 double dispatchTime = 0;
41 uint32_t spawnedEntities = 0;
42 uint32_t destroyedEntities = 0;
44 uint32_t lodsEvaluated = 0;
45 uint32_t lodChanges = 0;
47 uint32_t modelsRequested = 0;
53 uint32_t drawCalls = 0;
54 uint32_t primitiveCount = 0;
58 memory += other.memory;
59 drawCalls += other.drawCalls;
60 primitiveCount += other.primitiveCount;
67#if ENABLE_COST_TRACKING
76 uint32_t numEntities = 0;
77 uint32_t numRequests = 0;
79 uint32_t frustumCullIn = 0;
80 uint32_t frustumCullOut = 0;
81 uint32_t bboxCullOut = 0;
83#if ENABLE_COST_TRACKING
84 float toleranceScale = 1.f;
85 float toleranceScaleMin = 1.0f;
86 float toleranceScaleMax = 1.0f;
87 float toleranceScaleIncrement = 0.01f;
Contains the Engine, Renderer, resource managers and other systems needed to run Cogs....