NVidia ARB_point_sprite & GF7900

I’m using a rather unconventional combination of GLSL, point sprites and deferred shading.

On G80+ and G200+ based GPUs, everything looks fine.

But on a GF7900 (G70 based?), something is screwed up.

First, enabling GL_POINT_SPRITE_ARB makes everything very slow if multiple render targets are active an points get rendered on pre-G80 cards (G7x and NV4x).

Second, I wondered why the normals in my GBuffer were totally screwed up. I recognized, that instead of normals I get gl_PointCoord (as a color) mapped on my points, although I do not use gl_PointCoord in the fragment shader! It seems that the driver silently overwrites my “varying vec3 v_normal” with gl_PointCoord. Is that possible?

Has anyone experienced similar problems, too?

Another thing I noticed is, that disabling GL_POINT_SPRITE_ARB does not give round spots (like the specs promise) on pre-G80 cards, instead squares are rendered. GF8 and up seem to render them properly.

about the round spots, did you try the point_sprite_hint ?

AFAIK, there is no such thing as a point_sprite_hint (did you refer to GL_POINT_SMOOTH_HINT?) The specs say, that in multisampled rasterization mode, GL_POINT_SMOOTH_HINT is to be ignored and that points have a circle shape, except when GL_POINT_SPRITE_ARB is enbled. In that case, they have to be square.

This could be unrelated, but I seem to recall there used to be an issue with the point sprite origin on NVIDIA. Switching the origin improved performance.


This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.