【Unity3D】移动端中的Graphics API与相关扩展——Vulkan、OpenGL ES、DirectX
在移动端中,Graphics API是用于渲染图形的接口。主要有以下几种:Vulkan、OpenGL ES、DirectX。
Vulkan:
Vulkan是一个由Khronos组织开发的图形API,主要用于跨平台的高性能图形渲染。它专为移动平台和桌面平台设计,支持多核心处理器的并行处理能力,同时还有高效的内存管理和高速的渲染能力。
Unity3D支持Vulkan API,可以通过Player Settings设置。
#if UNITY_ANDROID && !UNITY_EDITOR
GraphicsDeviceType[] devices = new GraphicsDeviceType[] {
GraphicsDeviceType.Vulkan
};
QualitySettings.SetGraphicsAPIs(devices);
#endif
OpenGL ES:
OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形API的子集,主要用于嵌入式设备,如手机和平板电脑。Unity3D支持OpenGL ES作为底层图形API。
#if UNITY_IOS
GraphicsDeviceType[] devices = new GraphicsDeviceType[] {
GraphicsDeviceType.OpenGLES3,
GraphicsDeviceType.OpenGLES2
};
QualitySettings.SetGraphicsAPIs(devices);
#endif
DirectX:
DirectX是微软开发的一套由软件和硬件接口组成的游戏音视频开发包,主要用于Windows平台的游戏和应用程序。
Unity3D支持DirectX 11和DirectX 12,但不直接支持DirectX 10。
#if UNITY_WINRT && !UNITY_EDITOR
GraphicsDeviceType[] devices = new GraphicsDeviceType[] {
GraphicsDeviceType.Direct3D11,
GraphicsDeviceType.Direct3D12
};
QualitySettings.SetGraphicsAPIs(devices);
#endif
注意:以上代码只是设置图形API,并不会真正改变Unity3D的渲染路径,具体渲染路径由Unity3D根据项目设置和硬件条件自动选择。
评论已关闭