带有 Fabric.js 的 Node 中的 WebGL

Posted

技术标签:

【中文标题】带有 Fabric.js 的 Node 中的 WebGL【英文标题】:WebGL in Node with Fabric.js 【发布时间】:2018-09-04 22:13:20 【问题描述】:

我有一个包含自定义 WebGL 过滤器的 Fabric 项目。过滤器在浏览器中正常工作,但是当我在 Node 应用程序中运行相同的代码并从 Fabric JSON 加载时,如果我尝试使用基于 WebGL 的自定义过滤器,画布不会呈现。

似乎在 Node 上下文中,Fabric 将 WebGL 定义为不受支持 - 有没有办法解决这个问题,让我将 headless-gl 之类的东西合并到我的 Fabric 应用程序中,以便仍然能够渲染我的基于片段着色器筛选?

谢谢

【问题讨论】:

【参考方案1】:

WEBGL 是一个浏览器 api。 节点上的 fabric.js 使用节点画布来在画布上绘图。 这个节点中的画布是 cairo 支持的,没有我所知道的任何硬件加速。

您可能应该编写过滤器的非 webgl 版本,或者切换到无头浏览器之类的东西,看看您的平台是否支持 WEBGL。

例子:

拥有一个虚拟服务器,您可能无法从无头浏览器访问 WEBGL,也无法从具有视频卡(如果有)的专用服务器访问,该视频卡不具备所需的功能或只是功能所需的驱动程序。

【讨论】:

以上是关于带有 Fabric.js 的 Node 中的 WebGL的主要内容,如果未能解决你的问题,请参考以下文章

从 Fabric.js 中的 JSON 加载加载默认属性

node.js loadFromDatalessJSON 上的 fabric.js 在组中移动对象

在 node.js 中使用 fabric.js 渲染和操作服务器端画布

Fabric.js 带有变量的动态文本

Fabric.js - 带有免费矩形边界框的文本,如 Google 幻灯片

fabric.js:如何制作带有描边阴影等的椭圆形图像?