Wojtek,

 

Thanks.  Yes I think this is along the lines of what I'm seeing.  It is the
glScissor within RenderStage::drawImplementation.  I am not using
osg::Scissor or any sort of Stencil buffering.

 

According to the Man page:
http://www.opengl.org/documentation/specs/man_pages/hardcopy/GL/html/gl/scis
sor.html invalid value happens when either width or height is negative.  I
turned on the debug print in RenderStage::drawImplementation and I get the
following:

 

    clearing 0B0C7DC8  0,0,800,600

    clearing 0B0FC118  0,0,800,600

    clearing 0BFE0290  0,0,800,600

    clearing 0B110638  0,0,260,180

Warning: detected OpenGL error 'invalid value' after applying GLMode 0xc11

<repeated over and over per frame>

 

So apparently the scissor fails when setting the width and height to 260 and
180 (which obviously aren't negative).  Though those dimensions tell me that
the failure happens for my Render to Texture (RTT) pass.

 

I'm not quite sure what you mean by the FBO/PBuffer being initialized wrong.
I'll have a look at that and also try glIntercept.

 

PS The exact same code works on one machine but not on another OLD machine.

 

Thanks!

 

-Brad

 

From: [email protected]
[mailto:[email protected]] On Behalf Of Wojciech
Lewandowski
Sent: Thursday, September 10, 2009 3:06 AM
To: OpenSceneGraph Users
Subject: Re: [osg-users] GL_SCISSOR_TEST error

 

Hi Brad,

 

Does it happen in state.applyMode( GL_SCISSOR_TEST ) call inside
RenderStage::drawImplementation method ? I saw such errors when RenderStage
buffer  (FBO/PBuffer) initialization went wrong. It just happens that
GL_SCISSOR_TEST is first mode that is applied after RenderStage buffer
intialization and apparently error during the buffer initalization may be
mistakenly interpreted as glScissor issue when scissor is applied and tests
glError. In fact, if RenderBuffer was not applied correctly it may be the
case where passed scissor area rectangle may not match previously set
RenderBuffer and will produce an error as well, but even then, it will be
secondary issue to Render Buffer inititalization failure. 

 

I often use glIntercept to see what really happen in OpenGL under OSG
wrapping. glIntercept does not work with multithreading but produces fairly
well, informal logs when osgViewer is run in --SingleThreaded mode.

 

Cheers,

Wojtek

 

----- Original Message ----- 

From: Brad Huber <mailto:[email protected]>  

To: [email protected] 

Sent: Wednesday, September 09, 2009 10:27 PM

Subject: [osg-users] GL_SCISSOR_TEST error

 

Hello,

 

I seem to be getting the error "Warning: detected OpenGL error 'invalid
value' after applying GLMode" which has been mentioned in other threads.
After setting the OSG_GL_ERROR_CHECKING environment variable to
ONCE_PER_ATTRIBUTE I get the more descriptive string "Warning: detected
OpenGL error 'invalid value' after applying GLMode 0xc11"

 

This code corresponds to GL_SCISSOR_TEST mode.  When this warning is printed
I traced up the call stack to see that it's from the call state.applyMode(
GL_SCISSOR_TEST, true ); in osg::RenderStage::drawImplementation.

 

My question is does anyone know why I would be getting this message with
GL_SCISSOR_TEST?  This test is being run on an older machine with an Intel
815 GM graphics chip.  Is it possible scissor isn't supported or something?

 

PS I'm using rev 10555 of OSG from the trunk

 

Thanks in advance,

 

-Brad


  _____  


_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to