コード例 #1
0
        public void LoadCacheData()
        {
            var resourceStream = GeometryBlockInfo.GetResourceFromCache();

            if (resourceStream == null)
            {
                return;
            }

            var sectionBlock = new LightmapVertexBufferBucketCacheDataBlock();

            using (var binaryReader = new BinaryReader(resourceStream))
            {
                sectionBlock.Read(binaryReader);

                var vertexBufferResources = GeometryBlockInfo.Resources.Where(
                    x => x.Type == GlobalGeometryBlockResourceBlock.TypeEnum.VertexBuffer).ToArray();
                for (var i = 0;
                     i < sectionBlock.VertexBuffers.Length && i < vertexBufferResources.Length;
                     ++i)
                {
                    sectionBlock.VertexBuffers[i].VertexBuffer.Data =
                        resourceStream.GetResourceData(vertexBufferResources[i]);
                }
            }
            CacheData = new[] { sectionBlock };
        }
コード例 #2
0
        public void LoadClusterData()
        {
            var resourceStream = GeometryBlockInfo.GetResourceFromCache();

            if (resourceStream == null)
            {
                return;
            }

            var clusterBlock = new StructureBspClusterDataBlockNew();

            using (var binaryReader = new BinaryReader(resourceStream))
            {
                clusterBlock.Read(binaryReader);

                var vertexBufferResources = GeometryBlockInfo.Resources.Where(
                    x => x.Type == GlobalGeometryBlockResourceBlock.TypeEnum.VertexBuffer).ToArray();
                for (var i = 0;
                     i < clusterBlock.Section.VertexBuffers.Length && i < vertexBufferResources.Length;
                     ++i)
                {
                    clusterBlock.Section.VertexBuffers[i].VertexBuffer.Data =
                        resourceStream.GetResourceData(vertexBufferResources[i]);
                }
            }
            ClusterData = new[] { clusterBlock };
        }