PDA

View Full Version : GL_POINT_SMOOTH (circles vs squares)



zobel
07-15-2002, 05:57 AM
well, i see glEnable(GL_POINT_SMOOTH) is implementation-dependent... is there a way to force the 'rounding' of a point even if it's not supported by the hardware?

zobel
07-16-2002, 06:10 AM
hey! I suppose everybody but me knows the answer...

iNsaNEiVaN
07-17-2002, 06:10 AM
I dont quite understand. glEnable(GL_POINT_SMOOTH) rounds points.

zobel
07-17-2002, 07:57 AM
well, not on an ATI-rage equipped i-mac, not on a windows PC with a matrox G400, G450, G 550, not on an ATIradeon7500 powered mac G4 ...
on such machines the point won't be antialiased. and will be rendered just as a square (you'll notice it better if you set glPointSize(n) with n bigger than 1, i.e. 5)... i tested my app on a PC with an ATIradeon7500 and the 'rounded'points could even grow screen-wide. just a matter of drivers?
thanx for answering

Deiussum
07-17-2002, 11:06 AM
It's been awhile since I tried to enable GL_POINT_SMOOTH in an app, but if I remember correctly, you also had to enable blending.

Edit: Just put together a quick test app and I guess I didn't have to enable blending for it to work. I'm on my work computer, which just uses the default software implementation from Microsoft.

[This message has been edited by Deiussum (edited 07-17-2002).]

zobel
07-18-2002, 12:35 AM
for what i know, you ALWAYS HAVE to glEnable(GL_BLEND) to obtain antialiasing... the software renderers (SGI's for Windows, Microsoft's and Apple's) correctly implement point antialiasing.
the trouble starts when using hardware-acceleration. it seems to me that not all hw-accelerated renderers support GL_POINT_SMOOTH. in fact, the only one i found out to be correctly implementing GL_POINT_SMOOTH is ATI's RADEON VE SDR x86/SSE2 win release. of course, there may be others...
isn't it is curious that a sw-renderer does a better job than a hw-renderer?
maybe we got to use some proprietary extensions instead of GL_POINT_SMOOTH (like in example GL_VENDOR_POINT_SMOOTH that of course doesn't exist)? and if yes, which one? anyone got some useful hints?

JimmyT
07-19-2002, 02:12 AM
Have you tried the POINT_PARAMETER extension?
Worked for me, but then again it was on a ATIradeon7500 which you say worked anyway.

zobel
07-19-2002, 04:12 AM
no, i didn't try this extension.
but unless i misunderstood the extension's techspec i think it has nothing to do with antialiasing the point primitive. for what i know it affects just the point size and in certain cases the point opacity according to the eye distance... lemme know if i'm wrong
thanx

[This message has been edited by zobel (edited 07-19-2002).]