Fixes to the new texture subloading methods.
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user