MCPcopy Create free account
hub / github.com/OGSR/OGSR-Engine / lerp

Method lerp

ogsr_engine/xr_3da/Environment.cpp:446–478  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

444}
445
446void CEnvironment::lerp(float& current_weight)
447{
448 if (b_wfx && (wfx_time <= 0.f))
449 StopWeatherFX();
450
451 SelectEnvs(fGameTime);
452 VERIFY(Current[0] && Current[1]);
453
454 current_weight = TimeWeight(fGameTime, Current[0]->exec_time, Current[1]->exec_time);
455
456 // modifiers
457 CEnvModifier EM;
458 EM.far_plane = 0;
459 EM.fog_color.set(0, 0, 0);
460 EM.fog_density = 0;
461 EM.ambient.set(0, 0, 0);
462 EM.sky_color.set(0, 0, 0);
463 EM.hemi_color.set(0, 0, 0);
464 EM.use_flags.zero();
465
466 Fvector view = Device.vCameraPosition;
467 float mpower = 0;
468 for (auto& Modifier : Modifiers)
469 mpower += EM.sum(Modifier, view);
470
471 extern bool editor_weather_no_mixer;
472
473 if (editor_weather_no_mixer)
474 current_weight = 0;
475
476 // final lerp
477 CurrentEnv->lerp(this, *Current[0], *Current[1], current_weight, EM, mpower);
478}
479
480void CEnvironment::OnFrame()
481{

Callers 3

ExecuteMethod · 0.45
InterpolateRGBMethod · 0.45
ProcessCamMethod · 0.45

Calls 3

zeroMethod · 0.80
sumMethod · 0.80
setMethod · 0.45

Tested by

no test coverage detected