我想使用experimental-webgl
和2d
画布上下文。在我绘制了3d对象之后,我想在它上面绘制一些2d对象。
我该怎么办?
答案 0 :(得分:11)
您不能将多个上下文用于一个canvas元素。在WebKit中,明确提到in the source:
// 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东西。如果将它们放在一起,它们可以作为两层,您可以独立地在每个画布上绘制。
答案 1 :(得分:11)
您需要一个单独的画布。你可以将另一个画布放在第一个画布上,这不算错误。