Philipp Klaus Krause wrote:
Roland found out how to do bigger aliased points on r200 hardware a long
time ago. AFAIK the patch was never applied since people failed to see
it's importance.

3D modellers use points to mark the currently selected vertices. A
maximum point size of 1 means they are invisible with today's screen
resolutions. This makes the r200 DRI driver useless for 3D modelling
with those applications. Bigger point sizes are really necessary!

Roland's patch supported only aliased points, but since the maximum
point sizes for aliased and antialised points can be different that
would never cause a software fallback. I know that the popular free
wings3d modeller uses only aliased points and think that it's the same
with other 3d modellers.
I can apply a patch if you think it's useful. I just thought that antialiased is the norm for points rather than the exception, but if it's not it could indeed be useful. I think though for instance blender3d has now a workaround for cards which only support a point size of 1.0. The patch has also the obvious drawback that it won't work on r100 based cards, and people have been requesting large point sizes there too. btw there is still some chance I could get arb_point_parameters and arb_point_sprites working (on r200). Interestingly, arb_point_sprites is not announced by fglrx, nevertheless it actually works. Maybe it's not quite spec-conformant or has interactions with ATI_fragment_program, but at least the spriteblast demo worked fine - something I can't tell from my version which generates texcoords too, but they are apparently wrong. Same with point parameters, though I've gotten to a point which at least does some non-random attenuation calculation - the problem is there are still a dozen or so magic numbers in the vector state which I've just extracted with glxtest but fail to understand :-(. For anti-aliased point sizes, those must be kinda emulated. As far as I can tell, fglrx does this with textured point sprites and using the alpha blend stage to make the points round (fglrx fails to set it up correctly when alpha blending is not enabled, and I see no way to make this method work 100% depending on the user-supplied alpha test and alpha blend func), and xig does it by emitting a bunch of tri-fans (and gets it wrong too, when alpha blending is enabled you can see the individual half-transparent tris, though that's probably an easy to fix problem).

Roland


-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to