Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
Hi Robert, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. Did you change the vbo lines in the PrecipitationEffect.cpp? As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Sure, will do it right away. Talk to you later, Raymond Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 13.6026 0 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 -13.6026 0 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 13.6026 0 } NormalBinding PER_VERTEX NormalArray Vec3Array 36 { 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 } ColorBinding OVERALL ColorArray Vec4Array 1 { 0.109804 0.584314 0.694118 1 } } } } } MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame
Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
On Wed, May 28, 2008 at 11:17 AM, Raymond de Vries [EMAIL PROTECTED] wrote: Hi Raymond, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 13.6026 0 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 -13.6026 0 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 13.6026 0 } NormalBinding PER_VERTEX NormalArray Vec3Array 36 { 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 } ColorBinding OVERALL ColorArray Vec4Array 1 { 0.109804 0.584314 0.694118 1 } } } } } MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 }
Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
Hi Robert, I just tried it with the svn version and the effect is the same as with 2.4.0, so still wrong. In order to do this I changed the lines 481, 488 and into: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); Can you please test with these changed lines? Thanks Raymond btw fyi: I still used the older 3rd party libs, not the most recent ones, but that shouldn't harm I guess btw I could not find a way to grab the fullscreen viewer, windows won't let me, and the --viewer option does not work Raymond de Vries wrote: Hi Robert, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. Did you change the vbo lines in the PrecipitationEffect.cpp? As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Sure, will do it right away. Talk to you later, Raymond Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 13.6026 0 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 -13.6026 0 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 13.6026 0 } NormalBinding PER_VERTEX NormalArray Vec3Array 36 { 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 0 -1 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0
Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
Hi Raymond, I've just made your suggestion change, and it does break things on my machine as well. But... reviewing the code, we'll the code dynamically adjusts the number of particles so it not meant ever to use display lists, rather it only works with VBO's or vertex arrays. Note the custom PrecipitationDrawable that manages the actual rendering. It's not at all a conventional bit of scene graph, and I'm kinda perplexed why you'd want to go around changing the insides of such an implementation. The code is designed to use VBO's for a reason - performance and flexibility, with was never meant to be used with display lists as this breaks the whole way the implementation functions. Robert. On Wed, May 28, 2008 at 1:05 PM, Raymond de Vries [EMAIL PROTECTED] wrote: Hi Robert, I just tried it with the svn version and the effect is the same as with 2.4.0, so still wrong. In order to do this I changed the lines 481, 488 and into: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); Can you please test with these changed lines? Thanks Raymond btw fyi: I still used the older 3rd party libs, not the most recent ones, but that shouldn't harm I guess btw I could not find a way to grab the fullscreen viewer, windows won't let me, and the --viewer option does not work Raymond de Vries wrote: Hi Robert, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. Did you change the vbo lines in the PrecipitationEffect.cpp? As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Sure, will do it right away. Talk to you later, Raymond Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 13.6026 0 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 -13.6026 0 14.7209 13.6026 0 -14.7209 13.6026 0 -14.7209 13.6026 15.8052 -14.7209
Re: [osg-users] bug or feature: should I always be able to disable using vbo? (when I do so in the precipitation, rendering artifacts appear)
Hi Robert, I totally understand what you are saying. In fact, I do not want to turn this off, I was trying out a lot of things since I've got a bug here in a class which is a simplified precip. In this class I did not enable vbos and worked fine until I enabled vbo. So that's why I came up with my generic question whether or not I can disable the usage of vbo. I will dig further, thanks for now. best regards Raymond Robert Osfield wrote: Hi Raymond, I've just made your suggestion change, and it does break things on my machine as well. But... reviewing the code, we'll the code dynamically adjusts the number of particles so it not meant ever to use display lists, rather it only works with VBO's or vertex arrays. Note the custom PrecipitationDrawable that manages the actual rendering. It's not at all a conventional bit of scene graph, and I'm kinda perplexed why you'd want to go around changing the insides of such an implementation. The code is designed to use VBO's for a reason - performance and flexibility, with was never meant to be used with display lists as this breaks the whole way the implementation functions. Robert. On Wed, May 28, 2008 at 1:05 PM, Raymond de Vries [EMAIL PROTECTED] wrote: Hi Robert, I just tried it with the svn version and the effect is the same as with 2.4.0, so still wrong. In order to do this I changed the lines 481, 488 and into: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); Can you please test with these changed lines? Thanks Raymond btw fyi: I still used the older 3rd party libs, not the most recent ones, but that shouldn't harm I guess btw I could not find a way to grab the fullscreen viewer, windows won't let me, and the --viewer option does not work Raymond de Vries wrote: Hi Robert, Both: osgprecipitation textured_box.osg osgprecipitation non_textured_box.osg Work just fine for me, with SVN version of the OSG. Note, there has been a shader related bug fix to GLObjectVistor that may well have a baring on this issue. Did you change the vbo lines in the PrecipitationEffect.cpp? As for VBO/non VBO on objects in the scene, this should have absolutely no effect on the precipitation, suggesting either a bug on the OSG side or a driver bug. Could you try out the SVN version of the OSG to see if this fixes things. Sure, will do it right away. Talk to you later, Raymond Robert. Hi, I am diving deep into the precipitation and trying out things (osg 2.4.0, win xp, MS Visual Studio 2005 SP1). One of the things I did is to disable the usage of vbos, in lines 480, 487 and 494: _quadGeometry-setUseVertexBufferObjects(false); _lineGeometry-setUseVertexBufferObjects(false); _pointGeometry-setUseVertexBufferObjects(false); When I do so, the precip is not drawn properly at all anymore, and it depends if a load a textured or non-textured object (see the attached models + image): - non-textured: box rendered ok, no precip at all although it seems to be rendered judging from the performance - textured: box rendered ok, precip is rendered not right at all (seems like large polygons or so) So the general question is: should I be able to disable vbo at all times? I expected this would be possible (resulting in a performance penalty of course). If so, there is an issue somewhere... I don't know where, although I spent many hours on this. Thanks a lot Raymond MatrixTransform { DataVariance STATIC name Scene Root nodeMask 0xff cullingActive TRUE StateSet { UniqueID StateSet_0 DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT GL_LIGHTING ON } referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 MatrixTransform { DataVariance STATIC name Box01 nodeMask 0xff cullingActive TRUE referenceFrame RELATIVE Matrix { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 } num_children 1 Geode { UniqueID Geode_1 DataVariance STATIC name Box01-GEODE nodeMask 0xff cullingActive TRUE num_drawables 1 Geometry { DataVariance DYNAMIC StateSet { DataVariance STATIC rendering_hint DEFAULT_BIN renderBinMode INHERIT } useDisplayList TRUE useVertexBufferObjects FALSE PrimitiveSets 1 { DrawArrays TRIANGLES 0 36 } VertexArray Vec3Array 36 { -14.7209 -13.6026 0 -14.7209 13.6026 0 14.7209 13.6026 0 14.7209 13.6026 0 14.7209 -13.6026 0 -14.7209 -13.6026 0 -14.7209 -13.6026 15.8052 14.7209 -13.6026 15.8052 14.7209 13.6026 15.8052 14.7209 13.6026 15.8052 -14.7209 13.6026 15.8052 -14.7209 -13.6026 15.8052 -14.7209 -13.6026 0 14.7209 -13.6026 0 14.7209 -13.6026 15.8052