SORA-3D / trellis /renderers /__init__.py
JeffreyXiang's picture
Upload
db6a3b7
raw
history blame
930 Bytes
import importlib
__attributes = {
'OctreeRenderer': 'octree_renderer',
'GaussianRenderer': 'gaussian_render',
'MeshRenderer': 'mesh_renderer',
}
__submodules = []
__all__ = list(__attributes.keys()) + __submodules
def __getattr__(name):
if name not in globals():
if name in __attributes:
module_name = __attributes[name]
module = importlib.import_module(f".{module_name}", __name__)
globals()[name] = getattr(module, name)
elif name in __submodules:
module = importlib.import_module(f".{name}", __name__)
globals()[name] = module
else:
raise AttributeError(f"module {__name__} has no attribute {name}")
return globals()[name]
# For Pylance
if __name__ == '__main__':
from .octree_renderer import OctreeRenderer
from .gaussian_render import GaussianRenderer
from .mesh_renderer import MeshRenderer