Hi,

I also encountered a problem after switching from OSG 3.0.1 to 3.2.0, regarding 
texturing using pixel buffer objects.

The application I’m working on draws a video texture which is set up as follows:

Code:

// create instances (m_* indicates that it is a class member)
m_videoTexture = new osg::Texture2D;
m_videoTexture->setDataVariance(osg::Object::DYNAMIC);

m_videoImageBuffer = new osg::Image;

m_videoImageBuffer->setImage(CAM_WIDTH,
    CAM_HEIGHT,
    1, GL_RGB,
    GL_RGB, GL_UNSIGNED_BYTE,     
    m_pointerToVideoImageData,
    osg::Image::NO_DELETE);

// attach pbo
m_videoImageBuffer->setPixelBufferObject(new 
osg::PixelBufferObject(m_videoImageBuffer.get()));

// assign to texture
m_videoTexture->setImage(m_videoImageBuffer.get());



Each time a new video frame arrives the m_videoTexture is dirtied (->dirty()). 
This approach worked correctly under OSG 3.0.1.
Now under OSG 3.2.0 any geometry textured with the video texture remains black. 
Other objects in the scene are still textured correctly. Furthermore, after 
upgrading to 3.2.0 I’m getting now the following warning during start up:
Warning: detected OpenGL error 'invalid operation' at After Renderer::compile
So I think this has to do with my texturing problem.

Any suggestions how to fix this problem?

Cheers,
David

------------------
Read this topic online here:
http://forum.openscenegraph.org/viewtopic.php?p=56034#56034





_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to