Пример #1
0
        /// <summary>
        /// 将swapbuffer chunk数据保存到文件
        /// </summary>
        /// <param name="swapChunk"></param>
        /// <param name="path"></param>
        public static void SaveTextureToFile(Chunk_CreateSwapBuffer swapChunk, string path)
        {
            D3D11_SUBRESOURCE_DATA[] subDatas     = null;
            Chunk_InitialContents    initialChunk = swapChunk.chunkManager.GetInitialContentsChunk(swapChunk.resourceId);

            if (initialChunk != null)
            {
                subDatas = initialChunk.subDatas;
            }

            if (subDatas == null)
            {
                return;
            }

            SaveTextureToFile(subDatas, swapChunk.BackbufferDescriptor, swapChunk.chunkManager.section, path);
        }
Пример #2
0
        /// <summary>
        /// 从文件加载数据到swapchunk
        /// </summary>
        /// <param name="swapChunk"></param>
        /// <param name="path"></param>
        public static void LoadTextureDataFromFile(Chunk_CreateSwapBuffer swapChunk, string path)
        {
            D3D11_SUBRESOURCE_DATA[] subDatas = null;
            if (subDatas == null)
            {
                Chunk_InitialContents initialChunk = swapChunk.chunkManager.GetInitialContentsChunk(swapChunk.resourceId);
                if (initialChunk != null)
                {
                    subDatas = initialChunk.subDatas;
                }
            }

            if (subDatas == null)
            {
                Console.WriteLine($"can not find Texture Data of {swapChunk}");
                return;
            }

            LoadTextureDataFromFile(subDatas, swapChunk.BackbufferDescriptor, swapChunk.chunkManager.section, path);
        }
Пример #3
0
        /// <summary>
        /// 从图像文件加载贴图数据到Chunk, 要求图像尺寸与Chunk定义的完全一致
        /// </summary>
        /// <param name="texChunk"></param>
        /// <param name="path"></param>
        public static void LoadTextureDataFromFile(Chunk_CreateTexture2D texChunk, string path)
        {
            D3D11_SUBRESOURCE_DATA[] subDatas = texChunk.pInitialDatas;
            if (subDatas == null)
            {
                Chunk_InitialContents initialChunk = texChunk.chunkManager.GetInitialContentsChunk(texChunk.resourceId);
                if (initialChunk != null)
                {
                    subDatas = initialChunk.subDatas;
                }
            }

            if (subDatas == null)
            {
                Console.WriteLine($"can not find Texture Data of {texChunk}");
                return;
            }

            LoadTextureDataFromFile(subDatas, texChunk.Descriptor, texChunk.chunkManager.section, path);
        }