蓝紫™
DDZEB 完全自主知识产权图形图像开发平台
开放源码 免费使用 在线运行
开发文档 开发模式

蓝紫是全开放的平台,主要由两部分组成,一是蓝紫集成开发环境,二是开源基础库。我们可以使用蓝紫集成开发环境进行开发,也可以在第三方平台或自己的平台上使用蓝紫开发库进行开发。

一、开发环境

蓝紫提供了一个可以编写程序和实时渲染的集成开发平台,我们可以很方便的调整代码并查看结果。我们也可以选择使用第三方平台,比如 CodePen 等,然后导入蓝紫开源库进行渲染。

次表面散射
蓝紫开发示例:次表面散射
Lands frag Rendering Engine
CodePen 开发示例:Lands frag Rendering Engine
二、程序开发模式

编写渲染程序的时候也有两种开发模式,一是纯 JavaScript 方式,二是纯 GPU 渲染。通常,纯 JS 渲染性能会差一点,但并不是说纯 JS 渲染就没有它存在的价值。我们经常会使用纯 JS 渲染的方式来验证一些想法,因为实现起来非常快。

蓝紫核心渲染引擎中的 curvepixels 均是纯 JS 开发的渲染引擎。

粒子系统
使用 curve 渲染引擎的纯 JS 渲染示例:粒子系统

蓝紫提供的 GPU 渲染引擎包括:fragcompute 以及 webgl

基于 WebGPU 的渲染示例
基于 WebGPU 的渲染示例:Flame 分形

WebGPU 是新出的 Web 渲染 API,目前很多浏览器不支持。能支持 WebGPU 的有最新版本的 Chrome、Opera 等。不过好在我们还有 WebGL 可以使用 GPU 进行高性能渲染。

基于 WebGL 的渲染示例
基于 WebGL 的渲染示例:折射

因为蓝紫的架构非常开放灵活,我们甚至可以在一个程序里同时使用多个画布以及多个渲染引擎,比如 Canvas Texture 示例程序这样,同时有 JS 渲染和 WebGL GPU 渲染:

基于 WebGL 的渲染示例
多引擎渲染示例:Canvas Texture

某些时候我们甚至可以连续使用不同的引擎对目标 canvas 进行操作。比如,pixelscurve 两种渲染引擎底层都是 CanvasRenderingContext2D,所以它们是兼容(compatible)的引擎,可以连续使用:

不同的噪声
各种噪声的样子:Noise