J'ai un vertex shader qui définit gl_PointSize = mix(0. , 5. , step(foo,bar));
. Mon mac avec un Intel HD Graphics 5000, rend seulement les points qui sont 5, pas le 0. Un autre mac avec une sorte de radeon a rendu les zéros comme s'ils étaient un.gl_PointSize zéro dans WebGL
J'ai lu le fichier gl_PointSize et je n'ai pas compris quel est le comportement souhaité avec gl_PointSize = 0.;
et je n'ai pas compris le problème de l'aliasing et de l'arrondi.
Si je veux "cacher" certains points, devrais-je compter sur gl_PointSize = 0.;
pour ne pas pixelliser les points, ou devrais-je utiliser autre chose?
Deux choses me viennent à l'esprit:
//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?
}
semble être votre deuxième solution, régler Z (ou X ou Y) en dehors de l'espace de clip, fonctionnerait. – gman