Archived

This topic is now archived and is closed to further replies.

Point sprite driver problem (?)

This topic is 5012 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi there, I''m experiencing a really weird problem...I''ve been playing with the point sprite & point parameters extensions just to came to the conclusion that there''s something wrong there. After many tests, I''ve reduced the problem to this: "whenever I enable the point sprite extension (no matter where in the code) and start a begin/end block, the GL goes crazy with the texture coordinate generation". So I''ve made a little program like this: <..gl initialization...> glEnable(GL_POINT_SPRITE_ARB); glBegin(GL_POINTS); glEnd(); glDisable(GL_POINT_SPRITE_ARB); <..main program loop displaying textured polygons..> Even if the little point sprite piece of code is executed once before I initialize my engine, Texture Unit 0 will keep generating crazy texcoord values and there''s no way to stop it...even disabling texgen, pushing and popping attribs before and after the point sprite code, NOTHING returns the GL back to the "normal" state. More things to take into account: * I make nothing but just enabling the extension, start a begin/end block that does nothing, and then disable the extension. * I''m not enabling the GL_COORD_REPLACE_ARB, and I if I do its exactly the same * If I just remove the glBegin/glEnd statements, then everything is OK * If instead of using the begin/end approach I use arrays (glDrawArrays), then everything is OK but the point sprite extension just does not work and the points are rendered without being textured (even if the GL_COORD_REPLACE_ARB is enabled on TU0). As it''s so easy to reproduce, even without doing "complex" things, I strongly feel it''s a driver problem...could it be? I''m using an ATI 9700 Pro with Catalyst 4.3 drivers. ¿Has anyone experienced something like this?

Share this post


Link to post
Share on other sites
quote:
Original post by VertexNormal
Yup.

I think it''s still a little early to rely on point sprites, especially if you want the application to run on an ATI.


though its definitely not too early to use them. after all, its not like they havent been around for a long time by now. and im still confused how they managed to screw them up like that. it looks like they decided to implement ps support but never actually bothered to test it. or someone thought "ok, its broken, nobody is working on it anymore and it crashes your machine from time to time... lets just say we support them now".

Share this post


Link to post
Share on other sites
quote:
Original post by Trienco
quote:
Original post by VertexNormal
Yup.

I think it''s still a little early to rely on point sprites, especially if you want the application to run on an ATI.


though its definitely not too early to use them. after all, its not like they havent been around for a long time by now. and im still confused how they managed to screw them up like that. it looks like they decided to implement ps support but never actually bothered to test it. or someone thought "ok, its broken, nobody is working on it anymore and it crashes your machine from time to time... lets just say we support them now".




Agreed. I think that all developers should use them, and then send extremely bitchy emails to ATI complaining about their implementation.


Golem
Blender--The Gimp--Python--Lua--SDL
Nethack--Crawl--ADOM--Angband--Dungeondweller

Share this post


Link to post
Share on other sites
quote:
Original post by _the_phantom_
yep, agreed, its the only way this stuff is likely to get fixed.
although, i wouldnt make it bitchy, make it polite, provide code and if possible screen shots of the problems and ask whats going on, bitching and moaning doesnt get you any where


i tried both. a mail describing all about the problem i could think about, spending an hour writing a test app, etc... that must haven been about 2 month ago and 2 days ago i got a mail with a single sentence not exactly answering the question (by now i figured out its the alignment and that was why my test app worked when it shouldnt.. it wasnt the type, so 2 shorts worked well.. funny enough two bytes werent just slow but didnt work at all). so a mail stating that according to some engineer shorts can work well in some cases wasnt really what i hoped to hear.

the second was about point sprites, because frankly after days of headache and unmotivated system freezes and thinking "it must be my fault, NOBODY would miss such a bug" its hard to be polite. except you dont consider it impolite to suggest NOT claiming ps support if the implementation is broken like that. i think i even managed to not ask if they actually have something like qa at ati. im afraid "mass" or a big title in the making will speed things up a lot more. with half a dozen reports about ps there might be enough to make them fix it in 4.4

related to my workaround: where in the pipeline should the coords be divided by w? i tried projection a point (billboard center) and adding the size in x,y directions. it seems that the division is happening between vertex and fragment programs (as their size scaled quadratically when i tried to adjust it and worked well if i didnt). now i get people with nvidia saying the particles dont show at all, so im confused again.

and is it just me, or did 4.3 fix a problem where the z/w coord was screwed using vertex programs when the triangle was clipped? (rendered correctly, but using z or w for fog showed "holes" along all edges either clipped against view port or probably "clipped" by failed z-test). maybe the fog coord is finally working too and i can implement fog in v/f programs.

im wondering: is nvidia a similiar pain in the %§$ for d3d developers? ,-)

Share this post


Link to post
Share on other sites