18bf80f4bSopenharmony_ci/* 28bf80f4bSopenharmony_ci * Copyright (c) 2024 Huawei Device Co., Ltd. 38bf80f4bSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 48bf80f4bSopenharmony_ci * you may not use this file except in compliance with the License. 58bf80f4bSopenharmony_ci * You may obtain a copy of the License at 68bf80f4bSopenharmony_ci * 78bf80f4bSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 88bf80f4bSopenharmony_ci * 98bf80f4bSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 108bf80f4bSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 118bf80f4bSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 128bf80f4bSopenharmony_ci * See the License for the specific language governing permissions and 138bf80f4bSopenharmony_ci * limitations under the License. 148bf80f4bSopenharmony_ci */ 158bf80f4bSopenharmony_ci 168bf80f4bSopenharmony_ci#include <scene_plugin/namespace.h> 178bf80f4bSopenharmony_ci 188bf80f4bSopenharmony_ci#include <meta/interface/intf_object_registry.h> 198bf80f4bSopenharmony_ci/////////////////////////////////////////////////////////////// 208bf80f4bSopenharmony_ci// Specialisations 218bf80f4bSopenharmony_ci/////////////////////////////////////////////////////////////// 228bf80f4bSopenharmony_ci 238bf80f4bSopenharmony_ci#include "anim_impl.h" 248bf80f4bSopenharmony_ci#include "camera_impl.h" 258bf80f4bSopenharmony_ci#include "env_impl.h" 268bf80f4bSopenharmony_ci#include "graphicsstate_impl.h" 278bf80f4bSopenharmony_ci#include "light_impl.h" 288bf80f4bSopenharmony_ci#include "material_impl.h" 298bf80f4bSopenharmony_ci#include "mesh_impl.h" 308bf80f4bSopenharmony_ci#include "multimesh_impl.h" 318bf80f4bSopenharmony_ci#include "node_impl.h" 328bf80f4bSopenharmony_ci#include "postprocess_effect_impl.h" 338bf80f4bSopenharmony_ci#include "postprocess_impl.h" 348bf80f4bSopenharmony_ci#include "propertyholder_impl.h" 358bf80f4bSopenharmony_ci#include "render_configuration_impl.h" 368bf80f4bSopenharmony_ci#include "resource_container.h" 378bf80f4bSopenharmony_ci#include "shader_impl.h" 388bf80f4bSopenharmony_ci#include "submesh_impl.h" 398bf80f4bSopenharmony_ci#include "submeshhandler.h" 408bf80f4bSopenharmony_ci#include "textureinfo_impl.h" 418bf80f4bSopenharmony_ci 428bf80f4bSopenharmony_ciSCENE_BEGIN_NAMESPACE() 438bf80f4bSopenharmony_ci 448bf80f4bSopenharmony_civoid RegisterNodes() 458bf80f4bSopenharmony_ci{ 468bf80f4bSopenharmony_ci auto& registry = META_NS::GetObjectRegistry(); 478bf80f4bSopenharmony_ci RegisterNodeImpl(); 488bf80f4bSopenharmony_ci RegisterEnvImpl(); 498bf80f4bSopenharmony_ci RegisterPostprocessImpl(); 508bf80f4bSopenharmony_ci RegisterPostprocessEffectImpl(); 518bf80f4bSopenharmony_ci RegisterRenderConfigurationImpl(); 528bf80f4bSopenharmony_ci RegisterCameraImpl(); 538bf80f4bSopenharmony_ci 548bf80f4bSopenharmony_ci RegisterLightImpl(); 558bf80f4bSopenharmony_ci RegisterMaterialImpl(); 568bf80f4bSopenharmony_ci RegisterMeshImpl(); 578bf80f4bSopenharmony_ci RegisterMultiMeshImpl(); 588bf80f4bSopenharmony_ci RegisterAnimImpl(); 598bf80f4bSopenharmony_ci // not nodes, but data for the nodes 608bf80f4bSopenharmony_ci RegisterGraphicsStateImpl(); 618bf80f4bSopenharmony_ci RegisterPropertyHolderImpl(); 628bf80f4bSopenharmony_ci RegisterShaderImpl(); 638bf80f4bSopenharmony_ci RegisterSubMeshHandler(); 648bf80f4bSopenharmony_ci RegisterSubMeshImpl(); 658bf80f4bSopenharmony_ci RegisterTextureInfoImpl(); 668bf80f4bSopenharmony_ci 678bf80f4bSopenharmony_ci RegisterResourceContainerImpl(); 688bf80f4bSopenharmony_ci} 698bf80f4bSopenharmony_ci 708bf80f4bSopenharmony_civoid UnregisterNodes() 718bf80f4bSopenharmony_ci{ 728bf80f4bSopenharmony_ci auto& registry = META_NS::GetObjectRegistry(); 738bf80f4bSopenharmony_ci UnregisterNodeImpl(); 748bf80f4bSopenharmony_ci UnregisterEnvImpl(); 758bf80f4bSopenharmony_ci UnregisterCameraImpl(); 768bf80f4bSopenharmony_ci UnregisterPostprocessImpl(); 778bf80f4bSopenharmony_ci UnregisterPostprocessEffectImpl(); 788bf80f4bSopenharmony_ci UnregisterRenderConfigurationImpl(); 798bf80f4bSopenharmony_ci UnregisterLightImpl(); 808bf80f4bSopenharmony_ci UnregisterMaterialImpl(); 818bf80f4bSopenharmony_ci UnregisterMeshImpl(); 828bf80f4bSopenharmony_ci UnregisterMultiMeshImpl(); 838bf80f4bSopenharmony_ci UnregisterAnimImpl(); 848bf80f4bSopenharmony_ci // not nodes, but data for the nodes 858bf80f4bSopenharmony_ci UnregisterGraphicsStateImpl(); 868bf80f4bSopenharmony_ci UnregisterPropertyHolderImpl(); 878bf80f4bSopenharmony_ci UnregisterShaderImpl(); 888bf80f4bSopenharmony_ci UnregisterSubMeshHandler(); 898bf80f4bSopenharmony_ci UnregisterSubMeshImpl(); 908bf80f4bSopenharmony_ci UnregisterTextureInfoImpl(); 918bf80f4bSopenharmony_ci 928bf80f4bSopenharmony_ci UnregisterResourceContainerImpl(); 938bf80f4bSopenharmony_ci} 948bf80f4bSopenharmony_ci 958bf80f4bSopenharmony_ciSCENE_END_NAMESPACE() 96