[osg-users] Texture subloading

Sewell, Kenneth R Civ USAF AFRL/RYZW Kenneth.Sewell at WPAFB.AF.MIL
Fri Oct 19 10:49:41 PDT 2007


Thanks for the response.  If you don't mind could you answer a couple
more questions?

What triggers the callbacks?  How/where is the new data to be subloaded
associated with the callback function?

 

Thanks.

 

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_TEXTU
RE_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_TE
XTURE_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.or
g 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openscenegraph.org/pipermail/osg-users-openscenegraph.org/attachments/20071019/bdf1b41d/attachment-0003.htm>


More information about the osg-users mailing list