draw() composite toDataURL texture map distort React State Offscreen Canvas (2D) Lighting Pass Base64 Conversion WebGL Plane (3D) Fragment Shader