首先我要解释上面的图像。图像标记为1,2和3.
1 - 这是矩形形状。
2 - 这是矩形。
3 - 这是圆形(使用destination-in全局复合操作绘制)。
使用HTML5画布绘制每个形状。
现在我想使用带有WebGLRenderer的threejs进行相同的绘制。那么有可能画出来吗?如果是,那么如何?
第三种形状可以是任何形状(对于前圆,矩形,多边形)。
有什么建议吗?
答案 0 :(得分:0)
我们可以通过设置混合属性来擦除threejs中的区域。在threejs不同类型的混合属性可用。例如,THREE.SubtractiveBlending用于减去区域。
详情 -
1) http://threejs.org/docs/#Reference/Constants/Materials
2) http://threejs.org/examples/#webgl_materials_blending
3) http://threejs.org/examples/#webgl_materials_blending_custom
答案 1 :(得分:-2)
使用WebGLRenderer进行绘制,基本上是通过以下方式更改画布:
renderer = new THREE.WebGLRenderer();
请注意WebGLRenderer中不存在的Canvas方法。
如果您显示为代码的一部分,那么提供更高的精度会更好。但是任何事情,只需在这里发表评论!