HarmonyOS 鸿蒙Next Maleoon910,Vulkan, 3D贴图的压缩格式支持

发布于 1周前 作者 zlyuanteng 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Maleoon910,Vulkan, 3D贴图的压缩格式支持

我使用Mate60pro(kirin 9000s,Maleoon 910)进行vulkan开发,发现其不支持ASTC和ETC2格式的3D贴图。这是我的测试代码

		VkFormat Qformat[7] = { VK_FORMAT_R8G8B8A8_UNORM, VK_FORMAT_ASTC_6x6_UNORM_BLOCK, VK_FORMAT_ASTC_6x6_SRGB_BLOCK, VK_FORMAT_ASTC_4x4_UNORM_BLOCK, VK_FORMAT_ASTC_4x4_SRGB_BLOCK, VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK, VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK }; // 图像格式
		VkImageType QimageType[2] = { VK_IMAGE_TYPE_3D, VK_IMAGE_TYPE_2D }; // 图像类型
		VkImageTiling Qtiling = VK_IMAGE_TILING_OPTIMAL; // tiling 模式
		VkImageUsageFlags Qusage = VK_IMAGE_USAGE_TRANSFER_SRC_BIT | VK_IMAGE_USAGE_TRANSFER_DST_BIT | VK_IMAGE_USAGE_SAMPLED_BIT; 
for (int i = 0; i < 2; i++)
		{
			for (int f = 0; f < 7; f++)
			{
				VkImageFormatProperties imageFormatProperties;
				VkResult result = vkGetPhysicalDeviceImageFormatProperties(vkPhysicalDevice, Qformat[f], QimageType[i], Qtiling, Qusage, 0, &imageFormatProperties);
				if (result == VK_SUCCESS) {
					// ...
				}
				else {
					// ...
				}
			}
		}

请问这个特性在硬件层面是否不支持吗?如果支持的话vulkan层面应该怎么做?如果不支持的话,有什么推荐的替代方法吗,以及大概多久能支持?

Harmonyos Next教程
1 回复

针对HarmonyOS 鸿蒙Next Maleoon910、Vulkan以及3D贴图的压缩格式支持问题,以下是专业解答:

HarmonyOS 鸿蒙Next作为华为自主研发的全新操作系统,在图形处理、多媒体渲染等方面有着显著优化。Maleoon910(可能是指某款基于鸿蒙系统的设备或芯片型号)作为该系统的硬件载体,能够支持多种压缩格式以满足不同的应用需求。

对于Vulkan,作为新一代高性能图形API,它在HarmonyOS 鸿蒙Next中得到了良好支持。Vulkan支持多种纹理压缩格式,如S3TC、ETC2等,这些格式可以有效减小3D贴图的数据量,提高渲染效率。

至于3D贴图的压缩格式支持,HarmonyOS 鸿蒙Next支持主流的纹理压缩格式,以确保在各种应用场景下都能提供高质量的图形渲染效果。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部