Jump to content
  • Advertisement
Sign in to follow this  

Point Sprite Size

This topic is 4345 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, how can I set my Point Sprite size above 63? If I set my point size with glPointSize() above 63 running under a NVDIA card there doesn't seem to be an diffrence. NVIDA seem to clamp the maximum point size to 63. With ATI Cards there is no problem setting the size. Is there any solution to enlarge the Point Sprites under NVIDIA cards? Thx Sebastian [Edited by - BuddyBlaster on June 26, 2006 10:16:43 AM]

Share this post


Link to post
Share on other sites
Advertisement
hi , i hope that this help you :

send your app to nvidia support or ask them ...
maybe a bug of the driver , have you the latest installed ?

try to code your own PointSprites (aka quads with simple texcoord...)and you will be universally compatible...(no driver bug or API)



Share this post


Link to post
Share on other sites
Sorry, it doesn't.
I already installed the latest driver. I'd like to use point sprites because of the hardware accerlated support and the fact that they always look towards the camera, what is very usefull in my application.

Share this post


Link to post
Share on other sites
The Nvidia drivers currently have an asymmetry in them between hardware point sprites and software point sprites. When you get full hardware acceleration, the point sprite size is not clamped, but in the software path, the size is clamped to 63.375. Are you rendering your point sprites to a framebuffer object or pbuffer instead of the main buffer? This is usually the reason that you'll fall into the software path because, for some idiotic reason, the viewport is upside-down when rendering offscreen in OpenGL. To get hardware acceleration (and avoid clamping) in these cases, you need to first make the OpenGL 2.0 function call

glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN, GL_LOWER_LEFT);

When rendering to the main buffer, don't forget to change the origin back to the default GL_UPPER_LEFT.

Share this post


Link to post
Share on other sites
Yes, I do render into main buffer and my tex-origin is also set to UPPER_LEFT.
But the point sprites are still limitited to ~64.

My program is structured like this:
1. Render a scene into a frame buffer object
2. create a texture from this
3. map this texture onto a point sprite
4. render the point sprite into back buffer

Maybe there is a problem with the texture mapping...?
I use glTexEnvi(GL_POINT_SPRITE, GL_COORD_REPLACE, GL_TRUE) and glPointParameterf(GL_POINT_SPRITE_COORD_ORIGIN,GL_UPPER_LEFT) to map the textur.

thx Sebastian

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!