首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在同一画布中为p5.js和babylon.js绘制元素

在同一画布中为p5.js和babylon.js绘制元素
EN

Stack Overflow用户
提问于 2019-09-20 06:43:30
回答 1查看 234关注 0票数 2

我想在画布上创建三维形状,但我使用的是ml5.jsposenet示例。我可以想到两种方法:

方法1:使用WEBGL呈现器的。但是,这是行不通的。WEBGL渲染器需要运行三维形状,对吗?当我在ml5.js示例中使用它时,以下内容不起作用:

代码语言:javascript
复制
createCanvas(640,480, WEBGL)

方法2:使用不同的库。我决定使用babylon.js

但是,它要求我首先创建一个画布元素,然后执行diplay。

代码语言:javascript
复制
  <canvas id="renderCanvas" touch-action="none"></canvas> 
    var canvas = document.getElementById("renderCanvas"); // Get the canvas element 
    var engine = new BABYLON.Engine(defaultCanvas0, true); // Generate the BABYLON 3D engine
    //  Add the create scene function 

问题:-- p5创建的画布不同于babylon.js。我希望显示器是一个而不是两个单独的窗口。怎么做?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-09-27 13:02:11

AFAIK您不能在画布的同一个webgl上下文中使用两个呈现器。这意味着,您将需要选择一个渲染器来绘制您的三维形状。

画布的创建可以是代码的一部分,所以您实际上不必在HTML中使用画布。Babylon.js只需在引擎的构造函数中绘制:

代码语言:javascript
复制
var canvas = document.createElement("canvas");
// style your canvas
canvas.style.width = "100px";
canvas.style.height = "100px";
// add to wherever you want
document.body.appendChild(canvas);

// use this canvas to init babylon
var engine = new BABYLON.Engine(canvas, true);
// do your thing! 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58023066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档