Webgl Web gl中的gl_PointSize零

Webgl Web gl中的gl_PointSize零,webgl,fragment-shader,vertex-shader,glsles,Webgl,Fragment Shader,Vertex Shader,Glsles,我有一个顶点着色器,可以设置gl_PointSize=mix(0,5,step(foo,bar))。我的mac电脑配备Intel HD Graphics 5000,只渲染5点,而不是0点。另一台带有某种radeon的mac电脑将零渲染为一 我已经通读了gl_PointSize,但不了解gl_PointSize=0时所需的行为和不理解有关别名和舍入的位 如果我想“隐藏”某些点,我应该依赖gl\u PointSize=0甚至不光栅化点,还是应该使用其他方法 我想到两件事: //frag ... i

我有一个顶点着色器,可以设置
gl_PointSize=mix(0,5,step(foo,bar))。我的mac电脑配备Intel HD Graphics 5000,只渲染5点,而不是0点。另一台带有某种radeon的mac电脑将零渲染为一

我已经通读了gl_PointSize,但不了解
gl_PointSize=0时所需的行为和不理解有关别名和舍入的位

如果我想“隐藏”某些点,我应该依赖
gl\u PointSize=0甚至不光栅化点,还是应该使用其他方法

我想到两件事:

//frag

...
if( vSomeVarying < 0.5 ) discard; //but why even rasterize, and this is still like rendering all the points regardless of the discard?
...


//vert

if( someValue < 0.5 ){

  gl_Position.z = 2.; //should clip it?

}
//frag
...
如果(VsomeVariating<0.5),则丢弃//但为什么还要光栅化,而这仍然类似于渲染所有点,而不考虑丢弃?
...
//垂直
如果(某些值<0.5){
gl_Position.z=2;//是否应将其剪裁?
}
如果我想“隐藏”某些点,我应该依赖gl_PointSize=0。;甚至不光栅化点,或者我应该使用其他东西

使用其他方法,因为在第51页:

如果写入
gl_PointSize
的值小于或等于零,则结果未定义

强制剪裁顶点是可行的

如果我想“隐藏”某些点,我应该依赖gl_PointSize=0。;甚至不光栅化点,或者我应该使用其他东西

使用其他方法,因为在第51页:

如果写入
gl_PointSize
的值小于或等于零,则结果未定义


强制剪裁顶点有效。

第二种解决方案似乎有效,将Z(或X或Y)设置在剪辑空间之外。第二种解决方案似乎有效,将Z(或X或Y)设置在剪辑空间之外。