2016 년 1 월 1 일부터 편집 : globalCompositeOperation에 대해 "곱하기"값이 구현됩니다. 성능은 실시간 그래픽에 충분합니다.캔버스에서 실시간으로 곱셈 블렌드 모드를 사용하려면 어떻게해야합니까?
기본적으로, 나는 두 개의 캔버스를 (한 도면에 사용되는 보이지 않는 캔버스)하고 난 곱하기 혼합 모드와 눈에 보이는 하나에 보이지 않는 캔버스를 혼합합니다.
Context.globalCompositeOperation
은 곱셈을 포함하지 않지만 내 의견으로는 imageData
을 사용하여 수동으로 캔버스를 혼합하는 것은 너무 느립니다 (60fps에서이 작업을 수행 할 수 있어야합니다).
캔버스를 혼합하는 데 사용할 수있는 더 빠른 방법이 있습니까? 나는 이것이 WebGL을 사용하여 수행 될 수 있다고 생각하지만, 사용 경험이 없습니다.
답해 주셔서 감사합니다. WebGL을 처음 접했고 코드에 대한 도움이 필요합니다. 몇 가지 연구를 해본 결과 gl.texSubImage2D를 사용하여 canvas 내용을 webGL 텍스처로 복사 할 수 있다는 것을 알게되었습니다. gl.texSubImage2D (GL_TEXTURE_2D, 000640480, GL_COLOR_INDEX, type, imageData)와 같은 작업을하려고 생각했습니다. 그러나 어떤 유형을 사용해야할지 모르겠습니다. 또한 셰이더 부분에 접근하는 방법을 알지 못합니다. 미리 감사드립니다. – nondefault
@ user1175802 질문에 대한 답변을 얻기 위해 특정 샘플 코드를 추가했습니다. 전반적으로, 후 처리 효과 (대부분의 코드가 유사하므로)에 대한 WebGL 자습서를 찾고 사용자의 필요에 맞게 조정하는 것이 좋습니다. –