对于 WebGL 2 画布,我需要一个简单的“拾取”系统,即在 2D 中给定一个点p,系统可以判断哪个对象(如果有)被渲染到p。(我不需要 CPU 中的选择结果,只需要在着色器中。)
为了实现这一点,每个对象都将使用不同的“颜色 id”渲染到专用于拾取的帧缓冲区。我正在考虑使用 R16UI 或 R32UI 纹理格式和 GL_NEAREST 过滤。我关心的是抗锯齿:我如何保证对象的边缘不会被抗锯齿,从而改变输出值,破坏拾取系统?
我正在寻找禁用抗锯齿的代码,以及从了解标准的人那里得到/不能保证的解释。