Fixes to the new texture subloading methods.

This commit is contained in:
Robert Osfield
2002-07-29 00:04:07 +00:00
parent 6b59f66d80
commit 067dc6cddf
5 changed files with 6 additions and 7 deletions

View File

@@ -346,7 +346,7 @@ osg::Node* createPreRenderSubGraph(osg::Node* subgraph)
// set up the texture.
osg::Image* image = new osg::Image;
image->setInternalTextureFormat(GL_RGBA);
//osg::Image* image = osgDB::readImageFile("lz.rgb");
osg::Texture* texture = new osg::Texture;
texture->setSubloadMode(osg::Texture::IF_DIRTY);
texture->setImage(image);

View File

@@ -117,7 +117,7 @@ int main( int argc, char **argv )
stateset->setAttributeAndModes(material,osg::StateAttribute::OVERRIDE_ON);
stateset->setAttributeAndModes(polyoffset,osg::StateAttribute::OVERRIDE_ON);
stateset->setAttributeAndModes(polymode,osg::StateAttribute::OVERRIDE_ON);
stateset->setMode(GL_LIGHTING,osg::StateAttribute::OVERRIDE_ON);
stateset->setMode(GL_LIGHTING,osg::StateAttribute::OVERRIDE_OFF);
stateset->setTextureMode(0,GL_TEXTURE_2D,osg::StateAttribute::OVERRIDE_OFF);
// osg::LineStipple* linestipple = new osg::LineStipple;

View File

@@ -169,7 +169,6 @@ const unsigned int Image::computeRowWidthInBytes(int width,GLenum format,GLenum
return (widthInBits/packingInBits + ((widthInBits%packingInBits)?1:0))*packing;
}
void Image::setInternalTextureFormat(GLint internalFormat)
{
// won't do any sanity checking right now, leave it to

View File

@@ -230,7 +230,7 @@ void Texture::apply(State& state) const
if (_subloadMode == AUTO ||
(_subloadMode == IF_DIRTY && modifiedTag != _image->getModifiedTag()))
{
glPixelStorei(GL_UNPACK_ROW_LENGTH,_image->getRowSizeInBytes());
glPixelStorei(GL_UNPACK_ROW_LENGTH,_image->s());
glTexSubImage2D(_target, 0,
_subloadTextureOffsetX, _subloadTextureOffsetY,
@@ -576,7 +576,7 @@ void Texture::applyTexImage(GLenum target, Image* image, State& state) const
NULL);
glPixelStorei(GL_UNPACK_ROW_LENGTH,image->getRowSizeInBytes());
glPixelStorei(GL_UNPACK_ROW_LENGTH,image->s());
glTexSubImage2D(target, 0,
_subloadTextureOffsetX, _subloadTextureOffsetY,

View File

@@ -204,9 +204,9 @@ void TextureCubeMap::apply(State& state) const
(_subloadMode == IF_DIRTY && modifiedTag != _images[n]->getModifiedTag()))
{
if (rowwidth != _images[n]->getRowSizeInBytes())
if (rowwidth != _images[n]->s())
{
rowwidth = _images[n]->getRowSizeInBytes();
rowwidth = _images[n]->s();
glPixelStorei(GL_UNPACK_ROW_LENGTH,rowwidth);
}