MCPcopy Create free account
hub / github.com/Illation/ETEngine / Process

Method Process

Projects/Demo/source/Runtime/SwirlyLightSystem.cpp:27–53  ·  view source on GitHub ↗

------------------------------ SwirlyLightSystem::Process

Source from the content-addressed store, hash-verified

25// SwirlyLightSystem::Process
26//
27void SwirlyLightSystem::Process(fw::ComponentRange<SwirlyLightSystemView>& range)
28{
29 // common vars
30 float const dt = core::ContextManager::GetInstance()->GetActiveContext()->time->DeltaTime();
31
32 for (SwirlyLightSystemView& view : range)
33 {
34 // update first angle
35 view.swirly->timeOffset1 += dt;
36 view.swirly->angle1 += dt * view.swirly->timeMult1 * (1.f + 0.9f * std::cosf(view.swirly->timeOffset1));
37
38 // update second angle
39 view.swirly->timeOffset2 += dt;
40 view.swirly->angle2 += dt * view.swirly->timeMult2 * (1.f + 0.9f * std::cosf(view.swirly->timeOffset2));
41
42 // calc position
43 vec3 pos = view.swirly->origin;
44 pos.x += view.swirly->radius1 * std::cosf(view.swirly->angle1);
45 pos.y -= view.swirly->radius2 * std::sinf(view.swirly->angle2);
46 pos.z -= view.swirly->radius1 * std::sinf(view.swirly->angle1);
47
48 view.transf->SetPosition(pos);
49
50 // update light brightness
51 view.light->SetBrightness(view.light->GetBrightness() + std::cosf(view.swirly->angle1) * 3.5f);
52 }
53}
54
55
56} // namespace demo

Callers

nothing calls this directly

Calls 5

DeltaTimeMethod · 0.80
GetActiveContextMethod · 0.80
SetPositionMethod · 0.80
SetBrightnessMethod · 0.80
GetBrightnessMethod · 0.80

Tested by

no test coverage detected