Ejemplo n.º 1
0
        public MyLodModel AddData(MyRenderMessageSetRenderEntityData msg)
        {
            System.Diagnostics.Debug.Assert(msg.ModelData.Sections.Count > 0, "Invalid data");

            MyLodModel lodModel = new MyLodModel();

            lodModel.Model = new MyRenderModel(MyMeshDrawTechnique.MESH);
            ProfilerShort.Begin("LoadBuffers");
            lodModel.Model.LoadBuffers(msg.ModelData);
            ProfilerShort.BeginNextBlock("CloneMaterials");
            lodModel.Model.CloneMaterials(lodModel.MeshMaterials);
            ProfilerShort.End();
            lodModel.Distance = 0;

            m_localAABB         = (BoundingBoxD)lodModel.Model.BoundingBox;
            m_localVolume       = (BoundingSphereD)lodModel.Model.BoundingSphere;
            m_localVolumeOffset = (Vector3D)lodModel.Model.BoundingSphere.Center;
            m_volume            = m_localVolume;

            m_lods.Add(lodModel);
            m_isDataSet = true;

            return(lodModel);
        }
        public MyLodModel AddData(MyRenderMessageSetRenderEntityData msg)
        {
            System.Diagnostics.Debug.Assert(msg.ModelData.Sections.Count > 0, "Invalid data");

            MyLodModel lodModel = new MyLodModel();

            lodModel.Model = new MyRenderModel(MyMeshDrawTechnique.MESH);
            ProfilerShort.Begin("LoadBuffers");
            lodModel.Model.LoadBuffers(msg.ModelData);
            ProfilerShort.BeginNextBlock("CloneMaterials");
            lodModel.Model.CloneMaterials(lodModel.MeshMaterials);
            ProfilerShort.End();
            lodModel.Distance = 0;

            m_localAABB         = (BoundingBoxD)lodModel.Model.BoundingBox;
            m_localVolume       = (BoundingSphereD)lodModel.Model.BoundingSphere;
            m_localVolumeOffset = (Vector3D)lodModel.Model.BoundingSphere.Center;
            m_volume            = m_localVolume;

            m_lods.Add(lodModel);
            m_isDataSet = true;

            return lodModel;
        }