片段丢弃会留下奇怪的像素模式

时间:2016-06-03 20:06:54

标签: scenekit

我在SCNShadable片段入口点使用了一个OpenGL ES片段来丢弃对象的某些部分。我得到了这个结果:

Pixely Heart

这是顶点颜色还是正常颜色?试图摆脱他们,但没有成功。片段代码如下所示:

varying float clipFragment;

#pragma body
if (clipFragment == 1.0) {
    discard;
}

似乎错误在于我在这个小测试中如何选择要丢弃的几何点,因为如果我说剪辑所有内容,它就是不可见的。

varying float clipFragment;

#pragma body
if (_geometry.position.z >= 0.0) {
    clipFragment = 1.0;
} else {
    clipFragment = 0.0;
}

有没有人知道如何在SceneKit的上下文中摆脱这些像素?

1 个答案:

答案 0 :(得分:0)

舍入错误

通过更改片段中的测试,它可以正常工作

varying float clipFragment;

#pragma transparent
#pragma body
if (clipFragment > 0.0) {
    discard;
}

Victory