在SceneKit中为单个节点绘制没有抗锯齿功能

时间:2016-06-20 17:30:36

标签: macos scenekit

我正在使用SceneKit和' normal'做一些可视化。对象绘制得很好。我喜欢抗锯齿以获得一些明显的分辨率。

我还想使用自定义几何体绘制线条网格。绘制它没有问题,但是我遇到了抗锯齿问题,如果线恰好位于像素之间,会产生2像素宽的灰线。

如果我禁用消除锯齿,网格会很好地绘制,但其他对象会获得众所周知的阶梯边缘。

有没有办法只为单个节点(层次结构)禁用抗锯齿?

我尝试过使用SCNTechnique,其绘图传递定义如下:

<key>draw</key>
<string>DRAW_NODE</string>
<key>node</key>
<string>grid</string>
<key>outputs</key>
<dict>
    <key>color</key>
    <string>COLOR</string>
</dict>
<key>inputs</key>
<dict/>
<key>colorStates</key>
<dict>
    <key>clear</key>
    <true/>
</dict>
<key>samples</key>
<integer>1</integer>

我认为将样本设置为1应禁用此过程的抗锯齿。 这确实绘制了网格,但只绘制了一些像素: wrong grid

缩放和平移各种绘制的像素数,包括无。

我走对了路吗?或者我是否必须为整个视图禁用抗锯齿?

0 个答案:

没有答案