【问题标题】:Processing 3: Transparent textures blocking others处理 3:透明纹理遮挡其他纹理
【发布时间】:2017-10-31 04:06:40
【问题描述】:

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

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

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

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

对于透明度,我称之为“tint(255, alphavalue)”和“noTint()”。

我想要实现的是在地面和块上使用淡入淡出和淡入淡出作为更昂贵的资源雾的替代品(我似乎没有找到简单的方法)。

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

谢谢

【问题讨论】:

  • 我很高兴你明白了。将来,请尝试在您的问题中发布minimal reproducible example
  • @KevinWorkman 感谢您提高我的技能。我以后会这样做的。

标签: java 3d textures processing transparent


【解决方案1】:

已修复

问题在于深度排序。

基本上,处理默认是按绘制顺序排序的,但应该是按深度排序的。

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

hint(ENABLE_DEPTH_SORT);

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

hint(DISABLE_DEPTH_SORT);

之后。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    • 2013-03-15
    • 2010-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多