Files
UnrealEngineUWP/Engine/Source/Editor/SparseVolumeTexture/Private/SparseVolumeTextureModule.cpp
james singer 4f8a364d6a Enable SVT, TBB and OpenVDB modules for Linux
NOTE: OpenVDB's typeNameAsString will now return "<unknown>" for non-specialized types rather than calling rtti functions to get the typename so that we don't need to turn on rtti just for that

#jira UE-210180
#rb tim.doerries, zack.neyland

[CL 32521540 by james singer in ue5-main branch]
2024-03-26 16:18:18 -04:00

46 lines
1.1 KiB
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "SparseVolumeTextureModule.h"
#include "SparseVolumeTextureOpenVDB.h"
#define LOCTEXT_NAMESPACE "SparseVolumeTextureModule"
IMPLEMENT_MODULE(FSparseVolumeTextureModule, SparseVolumeTexture);
template<typename T>
static void RegisterOpenVDBGrid()
{
if (!T::isRegistered())
{
T::registerGrid();
}
}
void FSparseVolumeTextureModule::StartupModule()
{
#if PLATFORM_WINDOWS || PLATFORM_LINUX
// Global registration of the vdb types.
openvdb::initialize();
RegisterOpenVDBGrid<FOpenVDBHalf1Grid>();
RegisterOpenVDBGrid<FOpenVDBHalf2Grid>();
RegisterOpenVDBGrid<FOpenVDBHalf3Grid>();
RegisterOpenVDBGrid<FOpenVDBHalf4Grid>();
RegisterOpenVDBGrid<FOpenVDBFloat1Grid>();
RegisterOpenVDBGrid<FOpenVDBFloat2Grid>();
RegisterOpenVDBGrid<FOpenVDBFloat3Grid>();
RegisterOpenVDBGrid<FOpenVDBFloat4Grid>();
RegisterOpenVDBGrid<FOpenVDBDouble1Grid>();
RegisterOpenVDBGrid<FOpenVDBDouble2Grid>();
RegisterOpenVDBGrid<FOpenVDBDouble3Grid>();
RegisterOpenVDBGrid<FOpenVDBDouble4Grid>();
#endif
}
void FSparseVolumeTextureModule::ShutdownModule()
{
}
#undef LOCTEXT_NAMESPACE