Пример #1
0
        ///-------------------------------------------------------------------------------------------------
        /// <summary>
        ///     Creates geometries for the relevant BSP meshes that are to be included in the collada
        ///     file.
        /// </summary>
        ///-------------------------------------------------------------------------------------------------
        private void CreateGeometryList()
        {
            IHalo1BSPDataProvider provider = GetDataProvider <IHalo1BSPDataProvider>();

            H1.Tags.structure_bsp_group definition = mTagManager.TagDefinition as H1.Tags.structure_bsp_group;

            if (provider.IncludeRenderMesh)
            {
                for (int i = 0; i < definition.Lightmaps.Count; i++)
                {
                    CreateRenderGeometry(i);
                }
            }

            if (provider.IncludePortals)
            {
                for (int i = 0; i < definition.ClusterPortals.Count; i++)
                {
                    CreatePortalsGeometry(i);
                }
            }

            if (provider.IncludeFogPlanes)
            {
                for (int i = 0; i < definition.FogPlanes.Count; i++)
                {
                    CreateFogPlaneGeometry(i);
                }
            }
        }
Пример #2
0
        protected override bool BuildColladaInstanceImpl()
        {
            COLLADAFile = new ColladaFile();

            COLLADAFile.Version = "1.4.1";
            AddAsset(
                System.Environment.UserName,
                "OpenSauceIDE:ColladaBuilder",
                "meter", 0.0254, Enums.ColladaUpAxisEnum.Z_UP);

            mBSPDataProvider = GetDataProvider <IHalo1BSPDataProvider>();

            if (mBSPDataProvider.IncludeRenderMesh)
            {
                CreateImageList();
                CreateEffectList();
                CreateMaterialList();
            }

            if (mBSPDataProvider.IncludePortals)
            {
                CreateEffectListPortals();
                CreateMaterialListPortals();
            }

            if (mBSPDataProvider.IncludeFogPlanes)
            {
                CreateEffectListFogPlanes();
                CreateMaterialListFogPlanes();
            }

            CreateGeometryList();
            CreateMarkerList();
            CreateNodeList();

            AddLibraryImages();
            AddLibraryEffects();
            AddLibraryMaterials();
            AddLibraryGeometries();
            AddLibraryVisualScenes();
            AddScene("main");

            return(true);
        }
Пример #3
0
		protected override bool BuildColladaInstanceImpl()
		{
			COLLADAFile = new ColladaFile();

			COLLADAFile.Version = "1.4.1";
			AddAsset(
				System.Environment.UserName,
				"OpenSauceIDE:ColladaBuilder",
				"meter", 0.0254, Enums.ColladaUpAxisEnum.Z_UP);

			mBSPDataProvider = GetDataProvider<IHalo1BSPDataProvider>();
			
			if (mBSPDataProvider.IncludeRenderMesh)
			{
				CreateImageList();
				CreateEffectList();
				CreateMaterialList();
			}

			if (mBSPDataProvider.IncludePortals)
			{
				CreateEffectListPortals();
				CreateMaterialListPortals();
			}

			if (mBSPDataProvider.IncludeFogPlanes)
			{
				CreateEffectListFogPlanes();
				CreateMaterialListFogPlanes();
			}

			CreateGeometryList();
			CreateMarkerList();
			CreateNodeList();

			AddLibraryImages();
			AddLibraryEffects();
			AddLibraryMaterials();
			AddLibraryGeometries();
			AddLibraryVisualScenes();
			AddScene("main");

			return true;
		}