我想使用experimental-webgl2d画布上下文。 在我绘制了3d对象之后,我想在它上面绘制一些2d对象。

我该怎么办?

===============>>#1 票数:11

您不能将多个上下文用于一个canvas元素。 在WebKit中,这在源代码中明确提到:

// A Canvas can either be "2D" or "webgl" but never both.

如果您确实请求另一个上下文,则为null

    if ((type == "webkit-3d") ||
        (type == "experimental-webgl")) {
        if (m_context && !m_context->is3d())
            return 0;

(因此,如果您在已有其他上下文时请求3D上下文,则会得到null 。)

你可能想要的是两个画布元素 - 一个用于3D东西,另一个用于2D东西。 如果将它们放在一起,它们可以作为两层,您可以独立地在每个画布上绘制。

===============>>#2 票数:11 已采纳

你需要一个单独的画布。 你可以把另一个画布放在第一个画布上,这不算是不好的做法。

  ask by Danny Fox translate from so

未解决问题?本站智能推荐:

1回复

如果在画布上调用2d上下文,则Webgl上下文为null

我编写了以下JS代码: 如果我取消注释两条注释行,则webgl上下文为NULL。 这是预期的吗? 在同一画布上不能使用2D上下文和webgl上下文?
1回复

Webgl / Javascript:将画布纹理内容复制到另一个上下文纹理对象

我试图将我的第一个webgl上下文的内容(图像显示)复制到另一个webgl上下文的纹理中。 我正在将texImage2D函数与canvas元素作为源一起使用,没有收到任何错误,但它仅呈现黑色。 我不知道自己缺少什么,因此非常感谢您提供任何帮助。 我正在寻找一个webgl1解决方案,并使用C
2回复

使用WebGL将两个画布混合到一个画布上

我正在尝试将两个画布混合到一个画布上,用于我正在创建的绘图应用程序。 我非常了解Javascript,但我真的不知道从哪里开始使用WebGL,因为这不是一项非常艰巨的任务,我假设如果我不使用它会更快地处理速度另一个像Three.js这样的图书馆或其他类似的图书馆。 我已经拥有的是用户将要
1回复

切换标签后,如何阻止Chrome处理(?)我的webgl绘图上下文?

我遇到了Chrome(当前)的意外问题。 我有一个Web应用程序,它使用webGL画布进行一些基本的图像处理,然后将webGl画布复制到2D画布,以便保存图像数据。 问题是,在切换标签后,webgl画布的绘图上下文似乎在Chrome中丢失了。 在我尝试过的任何其他浏览器中都不会发生这种情况
1回复

从画布获取webgl纹理

我正在尝试在另一个webGL画布上绘制一个画布。 这是我的代码。 我正在为具有2个渲染模式的Construct 2进行编码:webgl和canvas。 该代码非常适合画布渲染模式。 我正在尝试将图像着色为给定的颜色并将其绘制。 为此,我将图像绘制在小画布上,乘以我的颜色,然后再增
1回复

画布快速纹理映射

我正在用简单的3D图形制作一个自上而下的游戏。 (如果它像gta那样我会很高兴。)我已经实现了我在这里找到的仿射纹理映射,但它太CPU密集了。 所以我的问题是:有更好的解决方案吗? 我不懂WebGL,但硬件加速纹理映射可能会比这更好吗? 我需要一个函数,它将在四边形上映射纹理。
2回复

HTML画布嗅探Webgl数据

这个问题可能很奇怪,但是假设我们有一个画布,例如可以绘制一些3D内容,如这个实验 。 忽略使用ThreeJS,Babylon或任何其他库来达到相同的效果,是否可以设置一些间隔可以复制每个体素的出生并在以后重复(重画)。 我只是想记录画布绘制过程并重播它,而不使用RTC,视频或图像序列
1回复

WebGL是否应该在画布上伸展

我正在学习webgl。 我喜欢YouTube上的教程 。 我的问题是我要渲染到画布上的训练框被拉长了。 在更宽的画布上。 在更方形的画布上。 (这些是相同的三角形。)是否应该发生这种情况以及如何解决?
2回复

webgl和2d画布之间的透明度差异

我有一个png,我使用2d canvas加载,并作为webgl纹理。 png有一些透明的部分,在webgl中呈现黑色,在2D canvas中呈现白色。 (请参阅此小提琴以获得实时演示。在Chrome中,您需要使用标志--disable-web-security来绕过跨源限制。) 有没有
1回复

在HTML5画布上添加按钮和控件

我正在使用three.js 3D引擎。 如何在WebGL画布上添加UI按钮?