[osg-users] Texture subloading

Gerrick Bivins biv at iastate.edu
Fri Oct 19 08:32:17 PDT 2007


Hi Ken,
Basically you just need to setup a TextureSubloadCallback for your specific
type of texture(1D,2D,3D).
This allows you to override the load and subload methods that you would
encounter in gl. Then set the
subloadcallback to your texture using:

Texture*D::setSubloadCallback(SubloadCallback* sb);


Overrides are something like the following:
load:
////////////////////////////////////////////////////////////////////////////////////
void UpdateTextureCallback::load(const osg::Texture3D& texture,osg::State&
state )const
{
      texture.getExtensions(state.getContextID(),false)->glTexImage3D(GL_TEXTURE_3D,
0,
                                          GL_RGBA,
                                          _textureWidth,
                                          _textureHeight,
                                          _textureDepth,
                                          0, GL_RGBA,
                                          GL_UNSIGNED_BYTE,
                                          (unsigned char*)_tm->dataField);

}
and subload :
//////////////////////////////////////////////////////////////////////////////////////////////
void UpdateTextureCallback::subload(const osg::Texture3D&
texture,osg::State& state) const
{
 texture.getExtensions(state.getContextID
(),false)->glTexSubImage3D(GL_TEXTURE_3D,
                     0,
                     0,0,0,
                     _textureWidth,
                     _textureHeight,
                     _textureDepth,
                     GL_RGBA,
                     GL_UNSIGNED_BYTE,
                     (unsigned char*)_tm->dataField);

}

You'll have to adjust this for your texture type (this is ours for 3D
textures) but this should give you a general idea.
biv
On 10/19/07, Sewell, Kenneth R Civ USAF AFRL/RYZW <
Kenneth.Sewell at wpafb.af.mil> wrote:
>
>
> Is there a good example of texture subloading in OSG?  I have a large
> image and just want to replace small tiles of the texture.  Can anyone
> give me a few starting pointers?
>
>
> Ken.
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20071019/53bdd52c/attachment-0003.htm>


More information about the osg-users mailing list