一、常见图形编程接口
我们常见的图形编程接口主要分为如下派系:
- OpenGL
- DirectX
- Vulkan
- Metal
下图展示了各个派系的分支及特点:
二、ANGLE
ANGLE (全称 Almost Native Graphics Layer Engine)是Google的开源项目,Google创建这个项目为了使WebGL能够在Windows平台上使用DirectX图形接口。
从上图可以看到,WebGL基于OpenGL ES开发,而在Windows系统上默认只安装了OpenGL 1.1驱动程序,如果用户没有升级OpenGL驱动,则网页中的WebGL将只能使用软件渲染(即CPU绘制图形),这种方式无法利用用户显卡GPU的优势,图形渲染性能和效果都不好。为了改版这个现状,Google公司开发了ANGLE项目。
ANGLE项目通过将DirectX接口进行二次封装,封装后的接口与OpenGL ES接口非常类似,这样当程序代码调用ANGLE提供的类OpenGL ES接口时,ANGLE就可以在内部判断是调用OpenGL接口还是调用DirectX接口,从而实现了当用户系统上没用安装OpenGL驱动时,自动使用合适的DirectX绘制接口。