2011-12-11 4 views

답변

10

별도의 캔버스가 필요합니다. 첫 번째 캔바스 위에 다른 캔버스를 놓을 수 있습니다. 이것은 나쁜 습관으로 간주되지 않습니다.

+0

아직 일부 브라우저 즉 밖으로 다시 전송 한 후, CPU에서 합성 다음의 OpenGL에서 이미지를 복용하고 (매우 효율적인 방법으로가 WebGL 캔버스의 합성 및 주변 요소를 구현하지 않는 것을 알고 관련이있을 수 GPU로), 2D 작업의 복잡성에 따라 (예 : GUI 용 비트 맵 그리기), WebGL 캔버스를 통해서도이를 수행 할 가치가 있습니다. WebGL에서 2D 소재를 그리는 것은 올바른 변환을 설정하고 깊이 테스트를 사용하지 않도록 설정해야합니다. – aphax

9

하나의 캔버스 요소에 대해 다중 컨텍스트를 사용할 수 없습니다. 웹킷,이 명시 적으로 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 물건에 대한 다른 하나에 대해 하나. 서로 위에 놓으면 두 개의 레이어로 작동하고 각각의 캔버스를 독립적으로 그릴 수 있습니다.

관련 문제