处理三:透明贴图挡住别人

Processing 3: Transparent textures blocking others

我尝试做的是在 Processing 3.3.6 中淡入淡出自定义形状(使用 beginShape(QUADS))的纹理。

问题是,方块(见下图)以一种奇怪的方式覆盖了其他方块:

更奇怪的是地面没有被挡住。

在代码中,我主要是绘制地面,然后使用 beginshape 和纹理绘制块。

为了透明度,我调用 "tint(255, alphavalue)" 和 "noTint()"。

我想要实现的是在地面和块上实现透明度的淡入和淡出,以替代资源更昂贵的雾(我似乎没有找到一种简单的方法)。

有谁知道比使用 alpha 着色纹理更简单的方法来在处理中实现真正透明的纹理?

谢谢

固定

问题是深度排序。

基本上处理默认是按draw order排序,但是应该按深度排序。

为了解决这个问题,我打电话给:

hint(ENABLE_DEPTH_SORT);

在绘制块之前,为了节省处理能力,我调用了

hint(DISABLE_DEPTH_SORT);

之后。