蓝紫是全开放的平台,主要由两部分组成,一是蓝紫集成开发环境,二是开源基础库。我们可以使用蓝紫集成开发环境进行开发,也可以在第三方平台或自己的平台上使用蓝紫开发库进行开发。
蓝紫提供了一个可以编写程序和实时渲染的集成开发平台,我们可以很方便的调整代码并查看结果。我们也可以选择使用第三方平台,比如 CodePen 等,然后导入蓝紫开源库进行渲染。
首选开发模式,无需手动管理渲染调度。
CodePen,jsFiddle 等,手动导入蓝紫开发库进行开发。
编写渲染程序的时候也有两种开发模式,一是纯 JavaScript 方式,二是纯 GPU 渲染。通常,纯 JS 渲染性能会差一点,但并不是说纯 JS 渲染就没有它存在的价值。我们经常会使用纯 JS 渲染的方式来验证一些想法,因为实现起来非常快。
蓝紫核心渲染引擎中的 curve、pixels 均是纯 JS 开发的渲染引擎。
蓝紫提供的 GPU 渲染引擎包括:frag、compute 以及 webgl。
WebGPU 是新出的 Web 渲染 API,目前很多浏览器不支持。能支持 WebGPU 的有最新版本的 Chrome、Opera 等。不过好在我们还有 WebGL 可以使用 GPU 进行高性能渲染。
因为蓝紫的架构非常开放灵活,我们甚至可以在一个程序里同时使用多个画布以及多个渲染引擎,比如 Canvas Texture 示例程序这样,同时有 JS 渲染和 WebGL GPU 渲染:
某些时候我们甚至可以连续使用不同的引擎对目标 canvas 进行操作。比如,pixels 与 curve 两种渲染引擎底层都是 CanvasRenderingContext2D,所以它们是兼容(compatible)的引擎,可以连续使用: