Hi J-S,

While OpenGL 2.0 drivers support NPOT, not all hardware supports it,
so you end up with a software fallback.  Unfortunately in OpenGL there
is no mechanism for detecting when software rendering will be used -
its just happens to you, suddenly your framerate drops from 60hz down
to 1Hz.

The OSG has ended up be very conservative about using of NPOT because
of this, it by default assumes that its not support in hardware so
does the resize.  You can tell the OSG to not do the resize on NPOT
though using:

texture->setResizeNonPowerOfTwoHint(false);

Robert.




On 5/31/07, Jean-Sébastien Guay <[EMAIL PROTECTED]> wrote:
Hello,

Most OpenGL 2.0 drivers support NPOT textures as Texture2Ds (without
using TextureRectangle ARB extensions) as per the OpenGL 2.0 spec. Yet
OpenSceneGraph still resized an NPOT texture to power of two
dimensions when used in a Texture2D, even when OpenGL 2.0 is present.
Why is this?

I tested this with a 1280x1024 image. Using osg::TextureRectangle, the
image is used in the texture as is. But using osg::Texture2D, I get
this message:

Scaling image 'data/texture1280x1024.jpg' from (1280,1024) to (1024,1024)

I notice this message comes from Texture::applyTexImage2D_load().
Should this (or the calling method) be updated to check for OpenGL 2.0
and not resize if it is present? I can volunteer for this if it is
desired.

J-S
--
______________________________________________________
Jean-Sebastien Guay     [EMAIL PROTECTED]
                         http://whitestar02.webhop.org/

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

_______________________________________________
osg-users mailing list
osg-users@openscenegraph.net
http://openscenegraph.net/mailman/listinfo/osg-users
http://www.openscenegraph.org/

Reply via email to