cytoscape.js webgl 渲染器
cytoscape.js webgl renderer
我正在尝试编写布局扩展,并且已经查看了现有扩展(例如 arbor、cola、cose-bilkent 等)和脚手架提供的示例 here。我挂断的地方是 webGL 渲染器。在所有示例中,如果我没记错的话,这是由核心处理的(canvas)。是否可以通过 three.js 使用 webGL 渲染器?如果是这样,是否只是 creating/attaching 扩展中所需的 webGL 元素(例如场景、相机、光源等)一样简单?
webGL push 的原因是我想实现一个 3D 邻接矩阵(我不记得我是在哪里找到这篇论文的,但是有人在桌面应用程序中实现了这个,主题,谓词和对象是 X 、Y 和 Z 轴),并且看不到另一种方法可以有效地处理 10-25K 数量级的大型结果集 nodes/edges.
Cytoscape 支持多渲染器,但不支持 3D 坐标。位置定义为 (x, y).
如果愿意,您可以添加 3D 渲染器,但您必须使用数据 属性 作为 z 位置,因为位置对象不支持 z。
编写渲染器需要做很多工作,尤其是高性能且功能齐全的渲染器。如果您要编写一个 2D 渲染器,您可以重用所有现有的命中测试、gestures/interaction、事件等——这样您就可以专注于绘图技术。要编写 3D 渲染器,您必须从头开始执行所有渲染逻辑。
如果您的数据需要 3D(例如表示 3D 原子键或 3D 蛋白质结构),那么编写 3D 渲染器可能是个好主意。如果只是为了获得简洁的 3D 效果,那可能不值得——因为 3D 对用户来说更难导航和理解。
我正在尝试编写布局扩展,并且已经查看了现有扩展(例如 arbor、cola、cose-bilkent 等)和脚手架提供的示例 here。我挂断的地方是 webGL 渲染器。在所有示例中,如果我没记错的话,这是由核心处理的(canvas)。是否可以通过 three.js 使用 webGL 渲染器?如果是这样,是否只是 creating/attaching 扩展中所需的 webGL 元素(例如场景、相机、光源等)一样简单?
webGL push 的原因是我想实现一个 3D 邻接矩阵(我不记得我是在哪里找到这篇论文的,但是有人在桌面应用程序中实现了这个,主题,谓词和对象是 X 、Y 和 Z 轴),并且看不到另一种方法可以有效地处理 10-25K 数量级的大型结果集 nodes/edges.
Cytoscape 支持多渲染器,但不支持 3D 坐标。位置定义为 (x, y).
如果愿意,您可以添加 3D 渲染器,但您必须使用数据 属性 作为 z 位置,因为位置对象不支持 z。
编写渲染器需要做很多工作,尤其是高性能且功能齐全的渲染器。如果您要编写一个 2D 渲染器,您可以重用所有现有的命中测试、gestures/interaction、事件等——这样您就可以专注于绘图技术。要编写 3D 渲染器,您必须从头开始执行所有渲染逻辑。
如果您的数据需要 3D(例如表示 3D 原子键或 3D 蛋白质结构),那么编写 3D 渲染器可能是个好主意。如果只是为了获得简洁的 3D 效果,那可能不值得——因为 3D 对用户来说更难导航和理解。