Add time varying screen space image online class (#3646)

New screen space renderable class, ScreenSpaceTimeVaryingImageOnline, for displaying online time-dependent images from a JSON file.

This class loads a JSON file containing timestamped image URLs and displays the image that corresponds to the current simulation time. It only renders during the valid time interval defined by the dataset and updates automatically as time progresses.
This commit is contained in:
Anders Lundkvist
2025-05-13 08:00:54 -04:00
committed by GitHub
parent 22735c5aaf
commit a05380779e
6 changed files with 353 additions and 1 deletions

View File

@@ -71,6 +71,7 @@
#include <modules/base/rendering/screenspaceimageonline.h>
#include <modules/base/rendering/screenspaceframebuffer.h>
#include <modules/base/rendering/screenspacerenderablerenderable.h>
#include <modules/base/rendering/screenspacetimevaryingimageonline.h>
#include <modules/base/rotation/constantrotation.h>
#include <modules/base/rotation/fixedrotation.h>
#include <modules/base/rotation/globerotation.h>
@@ -113,12 +114,13 @@ void BaseModule::internalInitialize(const ghoul::Dictionary&) {
ghoul_assert(fSsRenderable, "ScreenSpaceRenderable factory was not created");
fSsRenderable->registerClass<ScreenSpaceDashboard>("ScreenSpaceDashboard");
fSsRenderable->registerClass<ScreenSpaceFramebuffer>("ScreenSpaceFramebuffer");
fSsRenderable->registerClass<ScreenSpaceImageLocal>("ScreenSpaceImageLocal");
fSsRenderable->registerClass<ScreenSpaceImageOnline>("ScreenSpaceImageOnline");
fSsRenderable->registerClass<ScreenSpaceFramebuffer>("ScreenSpaceFramebuffer");
fSsRenderable->registerClass<ScreenSpaceRenderableRenderable>(
"ScreenSpaceRenderableRenderable"
);
fSsRenderable->registerClass<ScreenSpaceTimeVaryingImageOnline>("ScreenSpaceTimeVaryingImageOnline");
ghoul::TemplateFactory<DashboardItem>* fDashboard =
@@ -306,6 +308,7 @@ std::vector<documentation::Documentation> BaseModule::documentations() const {
ScreenSpaceImageLocal::Documentation(),
ScreenSpaceImageOnline::Documentation(),
ScreenSpaceRenderableRenderable::Documentation(),
ScreenSpaceTimeVaryingImageOnline::Documentation(),
ConstantRotation::Documentation(),
FixedRotation::Documentation(),